From df1b2c141b7f36102f651598f8d1abf27f28b0a0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 9 Sep 2002 22:48:39 +0000 Subject: [PATCH] fixing y422p output Originally committed as revision 7352 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc --- postproc/swscale_template.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c index 91461027ee..d39fb340d4 100644 --- a/postproc/swscale_template.c +++ b/postproc/swscale_template.c @@ -2503,7 +2503,8 @@ i--; { if(isPlanarYUV(dstFormat) || isGray(dstFormat)) //YV12 like { - if((dstY&1) || isGray(dstFormat)) uDest=vDest= NULL; //FIXME split functions in lumi / chromi + const int chrSkipMask= (1<chrDstVSubSample)-1; + if((dstY&chrSkipMask) || isGray(dstFormat)) uDest=vDest= NULL; //FIXME split functions in lumi / chromi if(vLumFilterSize == 1 && vChrFilterSize == 1) // Unscaled YV12 { int16_t *lumBuf = lumPixBuf[0]; @@ -2559,7 +2560,8 @@ i--; int16_t **chrSrcPtr= chrPixBuf + chrBufIndex + firstChrSrcY - lastInChrBuf + vChrBufSize; if(isPlanarYUV(dstFormat) || isGray(dstFormat)) //YV12 { - if((dstY&1) || isGray(dstFormat)) uDest=vDest= NULL; + const int chrSkipMask= (1<chrDstVSubSample)-1; + if((dstY&chrSkipMask) || isGray(dstFormat)) uDest=vDest= NULL; //FIXME split functions in lumi / chromi yuv2yuvXinC( vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize, vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,