
#ifndef DB_NONLINEAR_DEPTH_H
#define DB_NONLINEAR_DEPTH_H

#include "typedefs.h"

#define NONLINEAR_DEPTH_LUT_SIZE 256

extern double nonlinear_depth_lerp(double value, imgpel lut[NONLINEAR_DEPTH_LUT_SIZE]);

extern void nonlinear_depth_init_lut ( imgpel lut[NONLINEAR_DEPTH_LUT_SIZE], int nonlinear_depth_num, char *nonlinear_depth_points, int forward );
extern void nonlinear_depth_process_buf2d_uchar   ( unsigned char **out, unsigned char **in, int size_x, int size_y, int nonlinear_depth_num, char *nonlinear_depth_points, int forward );
extern void nonlinear_depth_process_buf2d_imgpel  ( imgpel **out, imgpel **in, int size_x, int size_y, int nonlinear_depth_num, char *nonlinear_depth_points, int forward );
extern void nonlinear_depth_process_buf2d_with_pad_imgpel ( imgpel **out, imgpel **in, int size_x, int size_y, int nonlinear_depth_num, char *nonlinear_depth_points, int pad_x, int pad_y, int forward );

#endif

