[FFmpeg-devel] [PATCH] qpeg: use reget_buffer() in decode_frame()

Reimar Döffinger Reimar.Doeffinger at gmx.de
Tue Apr 26 19:20:46 CEST 2011

On Tue, Apr 26, 2011 at 11:53:25AM +0200, Stefano Sabatini wrote:
> Also remove unnecessary call to avctx->release_buffer(). reget_buffer
> is required since apparently the coded needs to be passed the previous
> frame data again.

If that is correct

>      p->reference= 0;
> -    if(avctx->get_buffer(avctx, p) < 0){
> -        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
> +    if (avctx->reget_buffer(avctx, p) < 0) {

This can't work.
Setting reference=0 means (I think) e.g. it is ok for libavfilter to
just draw an OSD directly on the frame instead of making a copy.
Or to say it differently: Always using reference = 0 and reget_buffer together
make no sense.

More information about the ffmpeg-devel mailing list