lavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16
authorGagandeep Singh <deepgagan231197@gmail.com>
Tue, 27 Mar 2018 07:23:45 +0000 (12:53 +0530)
committerPaul B Mahol <onemda@gmail.com>
Tue, 3 Apr 2018 16:20:30 +0000 (18:20 +0200)
Also update fate reference. Fixes ticket #6675.

libavcodec/cfhd.c
tests/ref/fate/cfhd-3

index e35732d..f10742f 100644 (file)
@@ -213,13 +213,14 @@ static int alloc_buffers(AVCodecContext *avctx)
         int width  = i ? avctx->width  >> chroma_x_shift : avctx->width;
         int height = i ? avctx->height >> chroma_y_shift : avctx->height;
         ptrdiff_t stride = FFALIGN(width  / 8, 8) * 8;
-        height           = FFALIGN(height / 8, 2) * 8;
+        if (chroma_y_shift)
+            height = FFALIGN(height / 8, 2) * 8;
         s->plane[i].width  = width;
         s->plane[i].height = height;
         s->plane[i].stride = stride;
 
         w8 = FFALIGN(s->plane[i].width  / 8, 8);
-        h8 = FFALIGN(s->plane[i].height / 8, 2);
+        h8 = height / 8;
         w4 = w8 * 2;
         h4 = h8 * 2;
         w2 = w4 * 2;
index 60e13c6..59fdc92 100644 (file)
@@ -3,13 +3,13 @@
 #codec_id 0: rawvideo
 #dimensions 0: 496x241
 #sar 0: 0/1
-0,          0,          0,        1,   478144, 0x6ed01dcd
-0,          1,          1,        1,   478144, 0x6ed01dcd
-0,          2,          2,        1,   478144, 0x6ed01dcd
-0,          3,          3,        1,   478144, 0xb1b4a74b
-0,          4,          4,        1,   478144, 0x94c345c3
-0,          5,          5,        1,   478144, 0x05e0388d
-0,          6,          6,        1,   478144, 0xe747476a
-0,          7,          7,        1,   478144, 0x8c1561f1
-0,          8,          8,        1,   478144, 0x8c1561f1
-0,          9,          9,        1,   478144, 0x8c1561f1
+0,          0,          0,        1,   478144, 0x48a01dbb
+0,          1,          1,        1,   478144, 0x48a01dbb
+0,          2,          2,        1,   478144, 0x48a01dbb
+0,          3,          3,        1,   478144, 0xb978a72f
+0,          4,          4,        1,   478144, 0x7bbb4679
+0,          5,          5,        1,   478144, 0xc3fd3f59
+0,          6,          6,        1,   478144, 0xfd2a4816
+0,          7,          7,        1,   478144, 0x207f65d3
+0,          8,          8,        1,   478144, 0x207f65d3
+0,          9,          9,        1,   478144, 0x207f65d3