diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-11-30 11:34:37 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-12-05 13:23:55 +0100 |
commit | 381a722562bcc0b623acf6a00a583fe989bcb72a (patch) | |
tree | a3a7e2bdeef695644762bc9fd4d5d9d237185781 /libavcodec/mpegvideo.c | |
parent | b7254288d222013e20539c530b1ec5d324ed5352 (diff) | |
download | ffmpeg-381a722562bcc0b623acf6a00a583fe989bcb72a.tar.gz |
mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r-- | libavcodec/mpegvideo.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 8ca5e3b82c..6301090c31 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1657,12 +1657,9 @@ FF_ENABLE_DEPRECATION_WARNINGS return 0; } -/* generic function for encode/decode called after a - * frame has been coded/decoded. */ +/* called after a frame has been decoded. */ void ff_MPV_frame_end(MpegEncContext *s) { - int i; - #if FF_API_XVMC FF_DISABLE_DEPRECATION_WARNINGS /* redraw edges for the frame if decoding didn't complete */ @@ -1672,7 +1669,7 @@ FF_DISABLE_DEPRECATION_WARNINGS } else FF_ENABLE_DEPRECATION_WARNINGS #endif /* FF_API_XVMC */ - if ((s->er.error_count || s->encoding) && + if (s->er.error_count && !s->avctx->hwaccel && s->unrestricted_mv && s->current_picture.reference && @@ -1697,11 +1694,6 @@ FF_ENABLE_DEPRECATION_WARNINGS emms_c(); - s->last_pict_type = s->pict_type; - s->last_lambda_for [s->pict_type] = s->current_picture_ptr->f.quality; - if (s->pict_type!= AV_PICTURE_TYPE_B) { - s->last_non_b_pict_type = s->pict_type; - } #if 0 /* copy back current_picture variables */ for (i = 0; i < MAX_PICTURE_COUNT; i++) { @@ -1713,20 +1705,12 @@ FF_ENABLE_DEPRECATION_WARNINGS assert(i < MAX_PICTURE_COUNT); #endif - if (s->encoding) { - /* 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]); - } - } // clear copies, to avoid confusion #if 0 memset(&s->last_picture, 0, sizeof(Picture)); memset(&s->next_picture, 0, sizeof(Picture)); memset(&s->current_picture, 0, sizeof(Picture)); #endif - s->avctx->coded_frame = &s->current_picture_ptr->f; if (s->current_picture.reference) ff_thread_report_progress(&s->current_picture_ptr->tf, INT_MAX, 0); |