From 4613054faf335a84ab8f413506f4b75bbd72e5eb Mon Sep 17 00:00:00 2001 From: iovar Date: Sun, 21 Jan 2007 15:12:57 +0000 Subject: removed duplicated code of UPDATE_*_PLANE(S)_*, which have been replaced with UPDATE_*_PLANE(S) with an extra __bit_depth__ parameter git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@261 f606c939-3180-4ac9-a4b8-4b8779d57d0a --- recordmydesktop/include/rmdmacro.h | 95 +++++++++----------------------------- recordmydesktop/include/rmdtypes.h | 3 ++ 2 files changed, 24 insertions(+), 74 deletions(-) (limited to 'recordmydesktop') diff --git a/recordmydesktop/include/rmdmacro.h b/recordmydesktop/include/rmdmacro.h index 16b472a..3576a3b 100644 --- a/recordmydesktop/include/rmdmacro.h +++ b/recordmydesktop/include/rmdmacro.h @@ -33,7 +33,7 @@ #include "rmdtypes.h" -//define whcih way we are reading a pixmap +//define which way we are reading a pixmap #if __BYTE_ORDER == __LITTLE_ENDIAN #define __ABYTE 3 #define __RBYTE 2 @@ -221,17 +221,19 @@ (t3&__B16_MASK)+(t4&__B16_MASK))/4)&__B16_MASK);\ } -#define UPDATE_Y_PLANE_32(data,x_tm,y_tm,height_tm,width_tm,yuv,__copy_type){ \ +#define UPDATE_Y_PLANE(data,x_tm,y_tm,height_tm,width_tm,yuv,__copy_type,__bit_depth__){ \ int k,i;\ - register unsigned int t_val;\ + register RMD_TYPE_##__bit_depth__ t_val;\ register unsigned char *yuv_y=yuv->y+x_tm+y_tm*yuv->y_width,\ *_yr=Yr,*_yg=Yg,*_yb=Yb;\ - register unsigned int *datapi=(unsigned int*)data+\ + register RMD_TYPE_##__bit_depth__ *datapi=(RMD_TYPE_##__bit_depth__ *)data+\ ((__copy_type==__X_SHARED)?(x_tm+y_tm*yuv->y_width):0);\ for(k=0;ky+x_tm+y_tm*yuv->y_width,\ - *_yr=Yr,*_yg=Yg,*_yb=Yb;\ - register u_int16_t *datapi=(u_int16_t *)data+\ - ((__copy_type==__X_SHARED)?(x_tm+y_tm*yuv->y_width):0);\ - for(k=0;ky_width-width_tm;\ - if(__copy_type==__X_SHARED)\ - datapi+=yuv->y_width-width_tm;\ - }\ -} - -#define UPDATE_UV_PLANES_32(data,x_tm,y_tm,height_tm,width_tm,yuv,__copy_type,__sampling_type){ \ - int k,i;\ - register unsigned int t_val;\ - register unsigned char *yuv_u=yuv->u+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *yuv_v=yuv->v+x_tm/2+(y_tm*yuv->uv_width)/2,\ - *_ur=Ur,*_ug=Ug,*_ub=Ub,\ - *_vr=Vr,*_vg=Vg,*_vb=Vb;\ - register unsigned int *datapi=(unsigned int*)data+\ - ((__copy_type==__X_SHARED)?(x_tm+y_tm*yuv->y_width):0),\ - *datapi_next=NULL;\ - if(__sampling_type==__PXL_AVERAGE){\ - datapi_next=datapi+\ - ((__copy_type==__X_SHARED)?(yuv->y_width):(width_tm));\ - }\ - for(k=0;ky_width-width_tm)/2;\ - yuv_v+=(yuv->y_width-width_tm)/2;\ - datapi+=((__copy_type==__X_SHARED)?(2*yuv->y_width-width_tm):width_tm);\ - if(__sampling_type==__PXL_AVERAGE)\ - datapi_next+=((__copy_type==__X_SHARED)?(2*yuv->y_width-width_tm):width_tm);\ - }\ -} - -#define UPDATE_UV_PLANES_16(data,x_tm,y_tm,height_tm,width_tm,yuv,__copy_type,__sampling_type){ \ - int k,i;\ - register u_int16_t t_val;\ + register RMD_TYPE_##__bit_depth__ t_val;\ register unsigned char *yuv_u=yuv->u+x_tm/2+(y_tm*yuv->uv_width)/2,\ *yuv_v=yuv->v+x_tm/2+(y_tm*yuv->uv_width)/2,\ *_ur=Ur,*_ug=Ug,*_ub=Ub,\ *_vr=Vr,*_vg=Vg,*_vb=Vb;\ - register u_int16_t *datapi=(u_int16_t*)data+\ + register RMD_TYPE_##__bit_depth__ *datapi=(RMD_TYPE_##__bit_depth__ *)data+\ ((__copy_type==__X_SHARED)?(x_tm+y_tm*yuv->y_width):0),\ *datapi_next=NULL;\ if(__sampling_type==__PXL_AVERAGE){\ @@ -317,14 +260,18 @@ for(k=0;k #include +typedef u_int16_t RMD_TYPE_16; +typedef u_int32_t RMD_TYPE_32; + //how we obtained the image we are converting to yuv enum{ __X_SHARED, //through MIT/Shm -- cgit v1.2.3