diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-05-25 20:29:17 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-05-25 20:30:50 +0200 |
commit | 5f44f47b7256659b45ae5e3edd558521fbf962e8 (patch) | |
tree | 88e9230d070ac177730aabfbb7cd34ecc681bb79 /libavcodec/mpegvideo_enc.c | |
parent | 5292dac34cfa9a26b47bb0b78c246e12e873b313 (diff) | |
download | android_external_ffmpeg-5f44f47b7256659b45ae5e3edd558521fbf962e8.tar.gz android_external_ffmpeg-5f44f47b7256659b45ae5e3edd558521fbf962e8.tar.bz2 android_external_ffmpeg-5f44f47b7256659b45ae5e3edd558521fbf962e8.zip |
mpegvideo_enc: do not unreference frames before the code is done with them
Fixes Ticket2592
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r-- | libavcodec/mpegvideo_enc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 0db2f83d6b..6a0f3b50ce 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1632,6 +1632,13 @@ vbv_retry: } else { s->frame_bits = 0; } + + /* release non-reference frames */ + for (i = 0; i < MAX_PICTURE_COUNT; i++) { + if (!s->picture[i].reference) + ff_mpeg_unref_picture(s, &s->picture[i]); + } + assert((s->frame_bits & 7) == 0); pkt->size = s->frame_bits / 8; |