Fix start_frame(), which was issuing chroma artifacts with planar
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Sun, 8 Nov 2009 22:47:10 +0000 (22:47 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Sun, 8 Nov 2009 22:47:10 +0000 (22:47 +0000)
formats with more than 8 bits per pixel (e.g. YUVXXXP16).

Originally committed as revision 20479 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/vf_crop.c

index 45415e1..0ff5f76 100644 (file)
@@ -180,7 +180,7 @@ static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
         for (i = 1; i < 3; i ++) {
             if (ref2->data[i]) {
                 ref2->data[i] += (crop->y >> crop->vsub) * ref2->linesize[i];
-                ref2->data[i] +=  crop->x >> crop->hsub;
+                ref2->data[i] += ((crop->x * crop->bpp) >> 3) >> crop->hsub;
             }
         }
     }