diff options
author | Heikki Lindholm <holindho@cs.helsinki.fi> | 2007-05-02 08:18:28 +0000 |
---|---|---|
committer | Benoit Fouet <benoit.fouet@free.fr> | 2007-05-02 08:18:28 +0000 |
commit | 29644cb504eee88bd40f95abaa392047946c6066 (patch) | |
tree | 134e1a4952a66cf27d636d780c0cc0c6dad7ff84 | |
parent | f52a02be352fe16bac8f9ab13a7ea927e8f41bf9 (diff) | |
download | ffmpeg-29644cb504eee88bd40f95abaa392047946c6066.tar.gz |
make mpeg decoder handle mid-stream changes in resolution
patch by Heikki Lindholm holindho at cs helsinki fi
original thread: [Ffmpeg-devel] [PATCH] fix mid-stream resolution changes
date: Sat Mar 31 13:52:50 CEST 2007
Originally committed as revision 8865 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/mpeg12.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index d8809551f1..901dd24116 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2084,6 +2084,7 @@ typedef struct Mpeg1Context { int slice_count; int swap_uv;//indicate VCR2 int save_aspect_info; + int save_width, save_height; AVRational frame_rate_ext; ///< MPEG-2 specific framerate modificator } Mpeg1Context; @@ -2138,6 +2139,8 @@ static int mpeg_decode_postinit(AVCodecContext *avctx){ (s1->mpeg_enc_ctx_allocated == 0)|| avctx->coded_width != s->width || avctx->coded_height != s->height|| + s1->save_width != s->width || + s1->save_height != s->height || s1->save_aspect_info != s->aspect_ratio_info|| 0) { @@ -2155,6 +2158,8 @@ static int mpeg_decode_postinit(AVCodecContext *avctx){ avcodec_set_dimensions(avctx, s->width, s->height); avctx->bit_rate = s->bit_rate; s1->save_aspect_info = s->aspect_ratio_info; + s1->save_width = s->width; + s1->save_height = s->height; //low_delay may be forced, in this case we will have B frames //that behave like P frames |