OSDN Git Service

swscale: exchange src & dst chroma pos
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Jul 2013 20:43:50 +0000 (22:43 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Jul 2013 20:43:50 +0000 (22:43 +0200)
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libswscale/utils.c

index 00308e1..c8b53c7 100644 (file)
@@ -299,7 +299,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos,
         FF_ALLOC_OR_GOTO(NULL, filter,
                          dstW * sizeof(*filter) * filterSize, fail);
 
-        xDstInSrc = ((srcPos*xInc)>>8) - ((dstPos*0x8000)>>7);
+        xDstInSrc = ((dstPos*xInc)>>8) - ((srcPos*0x8000)>>7);
         for (i = 0; i < dstW; i++) {
             int xx = (xDstInSrc - ((filterSize - 1) << 15) + (1 << 15)) >> 16;
 
@@ -315,7 +315,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos,
         FF_ALLOC_OR_GOTO(NULL, filter,
                          dstW * sizeof(*filter) * filterSize, fail);
 
-        xDstInSrc = ((srcPos*xInc)>>8) - ((dstPos*0x8000)>>7);
+        xDstInSrc = ((dstPos*xInc)>>8) - ((srcPos*0x8000)>>7);
         for (i = 0; i < dstW; i++) {
             int xx = (xDstInSrc - ((filterSize - 1) << 15) + (1 << 15)) >> 16;
             int j;
@@ -366,7 +366,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos,
         FF_ALLOC_OR_GOTO(NULL, filter,
                          dstW * sizeof(*filter) * filterSize, fail);
 
-        xDstInSrc = ((srcPos*xInc)>>7) - ((dstPos*0x10000)>>7);
+        xDstInSrc = ((dstPos*xInc)>>7) - ((srcPos*0x10000)>>7);
         for (i = 0; i < dstW; i++) {
             int xx = (xDstInSrc - ((filterSize - 2) << 16)) / (1 << 17);
             int j;