[FFmpeg-cvslog] yop: initialize palette to 0

Anton Khirnov git at videolan.org
Wed Feb 6 16:45:52 CET 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Jan 30 14:33:53 2013 +0100| [39a9fdd00fea6d2e40d4b9ecba38337549603a7d] | committer: Anton Khirnov

yop: initialize palette to 0

The FATE sample contains some pixels with value 0, but the palette
stored in the file contains only values from 16 up. Because the default
and cmdutils get_buffer() initialize the data to 0x80, they appear as
gray dots.
After this commit they change to black dots, which is probably still
incorrect but less visible and doesn't rely on get_buffer() initializing
the data.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=39a9fdd00fea6d2e40d4b9ecba38337549603a7d
---

 libavcodec/yop.c   |    3 +++
 tests/ref/fate/yop |    6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavcodec/yop.c b/libavcodec/yop.c
index 3959ada..fd7f090 100644
--- a/libavcodec/yop.c
+++ b/libavcodec/yop.c
@@ -206,6 +206,9 @@ static int yop_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
         return ret;
     }
 
+    if (!avctx->frame_number)
+        memset(s->frame.data[1], 0, AVPALETTE_SIZE);
+
     s->dstbuf     = s->frame.data[0];
     s->dstptr     = s->frame.data[0];
     s->srcptr     = avpkt->data + 4;
diff --git a/tests/ref/fate/yop b/tests/ref/fate/yop
index 57f565d..1a56660 100644
--- a/tests/ref/fate/yop
+++ b/tests/ref/fate/yop
@@ -1,7 +1,7 @@
 #tb 0: 1/12
 0,          0,          0,        1,   302760, 0x78939253
 0,          1,          1,        1,   302760, 0x534f5253
-0,          2,          2,        1,   302760, 0xe991aa82
-0,          3,          3,        1,   302760, 0xc34b20bd
-0,          4,          4,        1,   302760, 0x461d29a1
+0,          2,          2,        1,   302760, 0x25eaa782
+0,          3,          3,        1,   302760, 0x60861c3d
+0,          4,          4,        1,   302760, 0x43552521
 0,          5,          5,        1,   302760, 0x45abca02



More information about the ffmpeg-cvslog mailing list