From 1ca1ca0f59a350cd22e6989ac717e6f408dad5f6 Mon Sep 17 00:00:00 2001 From: biocrasher Date: Tue, 18 Jul 2006 12:26:02 +0000 Subject: window alignment 8pixels,32 bytes. Fixed messed up end-result. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@23 f606c939-3180-4ac9-a4b8-4b8779d57d0a --- recordmydesktop/src/bgr_to_yuv.c | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'recordmydesktop/src') diff --git a/recordmydesktop/src/bgr_to_yuv.c b/recordmydesktop/src/bgr_to_yuv.c index d2b14f4..2266e94 100644 --- a/recordmydesktop/src/bgr_to_yuv.c +++ b/recordmydesktop/src/bgr_to_yuv.c @@ -27,37 +27,37 @@ #include -void XImageToYUV(XImage *imgz,yuv_buffer *yuv,int no_quick_subsample){ - unsigned char *dtap=(unsigned char *)imgz->data; - unsigned char avg2,avg1,avg0; - int i,k,j=0; - - for(k=0;k<(imgz->width*imgz->height);k++){ - yuv->y[k]=Yr[dtap[(k*4)+2]] + Yg[dtap[(k*4)+1]] + Yb[dtap[(k*4)]]; - } - if(!no_quick_subsample){ - for(i=0;i<(imgz->height);i+=2){ - for(k=0;k<(imgz->width);k+=2){ - yuv->u[j]=Ur[dtap[i*imgz->bytes_per_line+k*4+2]] + Ug[dtap[i*imgz->bytes_per_line+k*4+1]] + Ub[dtap[i*imgz->bytes_per_line+k*4]]; - yuv->v[j]=Vr[dtap[i*imgz->bytes_per_line+k*4+2]] + Vg[dtap[i*imgz->bytes_per_line+k*4+1]] + Vb[dtap[i*imgz->bytes_per_line+k*4]] ; - j++; - } - } - } - else{ - for(i=0;i<(imgz->height);i+=2){ - for(k=0;k<(imgz->width);k+=2){ - avg2=AVG_4_PIXELS(dtap,(imgz->width),i,k,2); - avg1=AVG_4_PIXELS(dtap,(imgz->width),i,k,1); - avg0=AVG_4_PIXELS(dtap,(imgz->width),i,k,0); - - yuv->u[j]=Ur[avg2] + Ug[avg1] + Ub[avg0]; - yuv->v[j]=Vr[avg2] + Vg[avg1] + Vb[avg0] ; - j++; - } - } - } -} +// void XImageToYUV(XImage *imgz,yuv_buffer *yuv,int no_quick_subsample){ +// unsigned char *dtap=(unsigned char *)imgz->data; +// unsigned char avg2,avg1,avg0; +// int i,k,j=0; +// +// for(k=0;k<(imgz->width*imgz->height);k++){ +// yuv->y[k]=Yr[dtap[(k*4)+2]] + Yg[dtap[(k*4)+1]] + Yb[dtap[(k*4)]]; +// } +// if(!no_quick_subsample){ +// for(i=0;i<(imgz->height);i+=2){ +// for(k=0;k<(imgz->width);k+=2){ +// yuv->u[j]=Ur[dtap[i*imgz->bytes_per_line+k*4+2]] + Ug[dtap[i*imgz->bytes_per_line+k*4+1]] + Ub[dtap[i*imgz->bytes_per_line+k*4]]; +// yuv->v[j]=Vr[dtap[i*imgz->bytes_per_line+k*4+2]] + Vg[dtap[i*imgz->bytes_per_line+k*4+1]] + Vb[dtap[i*imgz->bytes_per_line+k*4]] ; +// j++; +// } +// } +// } +// else{ +// for(i=0;i<(imgz->height);i+=2){ +// for(k=0;k<(imgz->width);k+=2){ +// avg2=AVG_4_PIXELS(dtap,(imgz->width),i,k,2); +// avg1=AVG_4_PIXELS(dtap,(imgz->width),i,k,1); +// avg0=AVG_4_PIXELS(dtap,(imgz->width),i,k,0); +// +// yuv->u[j]=Ur[avg2] + Ug[avg1] + Ub[avg0]; +// yuv->v[j]=Vr[avg2] + Vg[avg1] + Vb[avg0] ; +// j++; +// } +// } +// } +// } void MakeMatrices(){ -- cgit v1.2.1