mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
mpegvideo: unref old current_picture before allocating a new one
Allows decoding with only three frame buffers with frame reference counting. Fixes VAAPI based decoding in vlc which uses only three frame buffers for the mpegvideo-based codecs.
This commit is contained in:
parent
db347280eb
commit
4b79668154
@ -1495,6 +1495,8 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
|
||||
ff_mpeg_unref_picture(s, &s->current_picture);
|
||||
|
||||
if (!s->encoding) {
|
||||
ff_release_unused_pictures(s, 1);
|
||||
|
||||
@ -1542,7 +1544,6 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
// s->current_picture_ptr->quality = s->new_picture_ptr->quality;
|
||||
s->current_picture_ptr->f.key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
||||
|
||||
ff_mpeg_unref_picture(s, &s->current_picture);
|
||||
if ((ret = ff_mpeg_ref_picture(s, &s->current_picture,
|
||||
s->current_picture_ptr)) < 0)
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user