#ifndef ka_scaleconv_h
#define ka_scaleconv_h

#include "ka_scaler.h"

#define ka_scaleconv_config_ldrh       0x1
#define ka_scaleconv_config_monochrome 0x2

typedef enum
{ ka_scaler_none     = -1// not used
, ka_scaler_raw      = 0 // fast routine, not interpolation
, ka_scaler_system   = 1 // not included here
, ka_scaler_linear   = 2 // horizontal interpolation
, ka_scaler_bilinear = 3 // horizontal and vertical interpolation
, ka_scaler_hardware = -2 // e.g. via YUV overlay
} ka_scaler_type;

typedef struct
{
  ka_scaler_type type;     // scaler type
  int config;              // hardware info, ...
} ka_scaleconv_t;

void ka_scale(ka_scale_t* scale, const ka_scaleconv_t* options);

#endif
