diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-12-01 12:57:47 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-12-05 13:28:05 +0100 |
commit | 66499f34b56fc6a9fdef25543bd9d576fc787895 (patch) | |
tree | 864eab5f8a25da56ef1d735aebb8b166a8c852f4 | |
parent | 58a868968df445068a143f327ced03b6a02baf0d (diff) | |
download | ffmpeg-66499f34b56fc6a9fdef25543bd9d576fc787895.tar.gz |
mpegvideo: do not set current_picture_ptr in decoders
This code was originally added in
5f1948111a4920ff74e31b4284ab0200f7938539 to h263 to set decoded frame
pts to some random numbers (removed in
a1c5cc429d99216406170eac7e8352860076d3e8) and then cargo culted to other
decoders.
The code is left in h263dec for now, since some part of the decoder
(apparently OBMC) relies on the specific previous frame to be reused.
-rw-r--r-- | libavcodec/h261dec.c | 9 | ||||
-rw-r--r-- | libavcodec/mss2.c | 7 | ||||
-rw-r--r-- | libavcodec/vc1dec.c | 9 |
3 files changed, 0 insertions, 25 deletions
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index 4842fa0dd3..49eaee1989 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -584,15 +584,6 @@ retry: if (ff_MPV_common_init(s) < 0) return -1; - /* We need to set current_picture_ptr before reading the header, - * otherwise we cannot store anything in there. */ - if (s->current_picture_ptr == NULL || s->current_picture_ptr->f.data[0]) { - int i = ff_find_unused_picture(s, 0); - if (i < 0) - return i; - s->current_picture_ptr = &s->picture[i]; - } - ret = h261_decode_picture_header(h); /* skip if the header was thrashed */ diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index d219b67d33..3fe86203aa 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -377,13 +377,6 @@ static int decode_wmv9(AVCodecContext *avctx, const uint8_t *buf, int buf_size, ff_mpeg_flush(avctx); - if (s->current_picture_ptr == NULL || s->current_picture_ptr->f.data[0]) { - int i = ff_find_unused_picture(s, 0); - if (i < 0) - return i; - s->current_picture_ptr = &s->picture[i]; - } - init_get_bits(&s->gb, buf, buf_size * 8); s->loop_filter = avctx->skip_loop_filter < AVDISCARD_ALL; diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index ab4e098fac..141969f958 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -5914,15 +5914,6 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data, } } - /* We need to set current_picture_ptr before reading the header, - * otherwise we cannot store anything in there. */ - if (s->current_picture_ptr == NULL || s->current_picture_ptr->f.data[0]) { - int i = ff_find_unused_picture(s, 0); - if (i < 0) - goto err; - s->current_picture_ptr = &s->picture[i]; - } - // do parse frame header v->pic_header_flag = 0; v->first_pic_header_flag = 1; |