paf: use reget_bufer() instead of get_buffer()
authorPaul B Mahol <onemda@gmail.com>
Mon, 30 Jul 2012 13:00:44 +0000 (13:00 +0000)
committerPaul B Mahol <onemda@gmail.com>
Wed, 1 Aug 2012 03:16:55 +0000 (03:16 +0000)
Pallete is written to frame->data[1] only if it changes.
This fixes PAL8->PAL8 transcoding.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/paf.c

index 0d982d9..5428883 100644 (file)
@@ -247,11 +247,8 @@ static int paf_vid_decode(AVCodecContext *avctx, void *data,
     uint8_t code, *dst, *src, *end;
     int i, frame, ret;
 
-    if (c->pic.data[0])
-        avctx->release_buffer(avctx, &c->pic);
-
-    c->pic.reference = 0;
-    if ((ret = avctx->get_buffer(avctx, &c->pic)) < 0)
+    c->pic.reference = 3;
+    if ((ret = avctx->reget_buffer(avctx, &c->pic)) < 0)
         return ret;
 
     bytestream2_init(&c->gb, pkt->data, pkt->size);