Commit f4e043ff authored by Stefano Sabatini's avatar Stefano Sabatini Committed by Ronald S. Bultje

qpeg: use reget_buffer() in decode_frame()

Decoder relies on previous frame data, so use reget_buffer().

This also set frame->reference to 3, as the frame will be requested
unmodified later so it shouldn't be modified by the application.

Fix playback of file Clock.avi.
Signed-off-by: default avatarRonald S. Bultje <rsbultje@gmail.com>
parent 4f0b8059
...@@ -259,12 +259,9 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -259,12 +259,9 @@ static int decode_frame(AVCodecContext *avctx,
int delta; int delta;
const uint8_t *pal = av_packet_get_side_data(avpkt, AV_PKT_DATA_PALETTE, NULL); const uint8_t *pal = av_packet_get_side_data(avpkt, AV_PKT_DATA_PALETTE, NULL);
if(p->data[0]) p->reference = 3;
avctx->release_buffer(avctx, p); if (avctx->reget_buffer(avctx, p) < 0) {
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
p->reference= 0;
if(avctx->get_buffer(avctx, p) < 0){
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1; return -1;
} }
outdata = a->pic.data[0]; outdata = a->pic.data[0];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment