From 1b9e175bce2b48020c729ee51036a636471865c7 Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 3 Feb 2003 18:45:25 +0000 Subject: yuv9 -> yv12 bugfixes git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9257 b3059339-0415-0410-9bf9-f77b7e298cf2 --- postproc/rgb2rgb_template.c | 91 ++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 39 deletions(-) (limited to 'postproc') diff --git a/postproc/rgb2rgb_template.c b/postproc/rgb2rgb_template.c index 887856d9c7..da2396bed5 100644 --- a/postproc/rgb2rgb_template.c +++ b/postproc/rgb2rgb_template.c @@ -1619,16 +1619,20 @@ static inline void RENAME(planar2x)(const uint8_t *src, uint8_t *dst, int srcWid { int x,y; + dst[0]= src[0]; + // first line - for(x=0; x>2; + dst[2*x+2]= ( src[x] + 3*src[x+1])>>2; } - dst+= dstStride; + dst[2*srcWidth-1]= src[srcWidth-1]; + + dst+= dstStride; for(y=1; y>2; + dst[dstStride]= ( src[0] + 3*src[srcStride])>>2; - for(x=0; x>2; dst[2*x+dstStride+2]= ( src[x+0] + 3*src[x+srcStride+1])>>2; dst[2*x+dstStride+1]= ( src[x+1] + 3*src[x+srcStride ])>>2; dst[2*x +2]= (3*src[x+1] + src[x+srcStride ])>>2; } -#endif - dst[srcWidth*2 -1]= - dst[srcWidth*2 -1 + dstStride]= src[srcWidth-1]; + dst[srcWidth*2 -1 ]= (3*src[srcWidth-1] + src[srcWidth-1 + srcStride])>>2; + dst[srcWidth*2 -1 + dstStride]= ( src[srcWidth-1] + 3*src[srcWidth-1 + srcStride])>>2; dst+=dstStride*2; src+=srcStride; } - src-=srcStride; // last line +#if 1 + dst[0]= src[0]; + + for(x=0; x>2; + dst[2*x+2]= ( src[x] + 3*src[x+1])>>2; + } + dst[2*srcWidth-1]= src[srcWidth-1]; +#else for(x=0; x