00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _LIBAUXILIARY_H_
00023 #define _LIBAUXILIARY_H_
00024
00025
00026
00027 #include <stdio.h>
00028 #include <stdlib.h>
00029 #include <string.h>
00030 #include <cmath>
00031 #include <time.h>
00032 #include <unistd.h>
00033
00034
00035
00036 #define LUTMAX 30.0
00037 #define LUTMAXM1 29.0
00038 #define LUTPRECISION 1000.0
00039
00040
00041 #define MAX(i,j) ( (i)<(j) ? (j):(i) )
00042 #define MIN(i,j) ( (i)<(j) ? (i):(j) )
00043
00044
00045 #define fTiny 0.00000001f
00046
00047
00048 #define COEFF_YR 0.299
00049 #define COEFF_YG 0.587
00050 #define COEFF_YB 0.114
00051
00052
00053
00081 void wxRgb2Yuv(float *r,float *g,float *b,float *y,float *u,float *v,int width,int height);
00082
00083
00084
00096 void wxYuv2Rgb(float *r,float *g,float *b,float *y,float *u,float *v, int width,int height);
00097
00098
00099
00109 void wxCopy(float *tpI,float *tpO, int ilength);
00110
00111
00112
00124 float l2_distance_r1(float *u0, int i0, int j0, int i1,
00125 int j1, int width);
00126
00127
00128
00129
00139 void sFillLut(float *lut,int size);
00140
00141
00142
00152 float sLUT(float dif,float *lut);
00153
00154
00155
00156
00157
00170 void wxMedian(float *u,float *v, float fRadius, int inIter, int iWidth,int iHeight);
00171
00172
00173
00184 void QuickSortFloat(float *arr, int ilength);
00185
00186
00187
00188
00189 #endif