ppMode.lumMode= mode; mode= ((mode&0xFF)>>4) | (mode&0xFFFFFF00); ppMode.chromMode= mode; ppMode.maxTmpNoise[0]= 700; ppMode.maxTmpNoise[1]= 1500; ppMode.maxTmpNoise[2]= 3000; ppMode.maxAllowedY= 234; ppMode.minAllowedY= 16; ppMode.maxDcDiff= 1;  #ifdef HAVE_ODIVX_POSTPROCESS   if(use_old_pp){ odivx_postprocess(src,src_stride,dst,dst_stride,horizontal_size,vertical_size,QP_store,QP_stride,mode); return; } #endif  postProcess(src[0], src_stride, dst[0], dst_stride, horizontal_size, vertical_size, QP_store, QP_stride, 0, &ppMode);  horizontal_size >>= 1; vertical_size   >>= 1; src_stride      >>= 1; dst_stride      >>= 1;  if(ppMode.chromMode)
else if(srcStride[1] == dstStride[1] && srcStride[2] == dstStride[2])
void  postprocess(unsigned char * src[], int src_stride,                 unsigned char * dst[], int dst_stride,                 int horizontal_size,   int vertical_size,                 QP_STORE_T *QP_store,  int QP_stride,					  int mode){	struct PPMode ppMode;	static QP_STORE_T zeroArray[2048/8];	if(newPPFlag)	{		ppMode= gPPMode[mode];//		printf("%d \n",QP_store[5]);		postprocess2(src, src_stride, dst, dst_stride,			horizontal_size, vertical_size, QP_store, QP_stride, &ppMode);		return;	}	if(firstTime && verbose)	{		printf("using pp filters 0x%X\n", mode);		firstTime=0;	}	if(QP_store==NULL)	{		QP_store= zeroArray;		QP_stride= 0;	}	ppMode.lumMode= mode;	mode= ((mode&0xFF)>>4) | (mode&0xFFFFFF00);	ppMode.chromMode= mode;	ppMode.maxTmpNoise[0]= 700;	ppMode.maxTmpNoise[1]= 1500;	ppMode.maxTmpNoise[2]= 3000;	ppMode.maxAllowedY= 234;	ppMode.minAllowedY= 16;	ppMode.maxDcDiff= 1;#ifdef HAVE_ODIVX_POSTPROCESS// Note: I could make this shit outside of this file, but it would mean one// more function call...	if(use_old_pp){	    odivx_postprocess(src,src_stride,dst,dst_stride,horizontal_size,vertical_size,QP_store,QP_stride,mode);	    return;	}#endif	postProcess(src[0], src_stride, dst[0], dst_stride,		horizontal_size, vertical_size, QP_store, QP_stride, 0, &ppMode);	horizontal_size >>= 1;	vertical_size   >>= 1;	src_stride      >>= 1;	dst_stride      >>= 1;	if(ppMode.chromMode)	{		postProcess(src[1], src_stride, dst[1], dst_stride,			horizontal_size, vertical_size, QP_store, QP_stride, 1, &ppMode);		postProcess(src[2], src_stride, dst[2], dst_stride,			horizontal_size, vertical_size, QP_store, QP_stride, 2, &ppMode);	}	else if(src_stride == dst_stride)	{		memcpy(dst[1], src[1], src_stride*vertical_size);		memcpy(dst[2], src[2], src_stride*vertical_size);	}	else	{		int y;		for(y=0; y<vertical_size; y++)		{			memcpy(&(dst[1][y*dst_stride]), &(src[1][y*src_stride]), horizontal_size);			memcpy(&(dst[2][y*dst_stride]), &(src[2][y*src_stride]), horizontal_size);		}	}#if 0		memset(dst[1], 128, dst_stride*vertical_size);		memset(dst[2], 128, dst_stride*vertical_size);#endif}