diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-01-18 04:39:41 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-01-18 04:52:28 +0100 |
commit | 741fa0493b94946d4b9bae37e9f4270766f74534 (patch) | |
tree | 9f15c966bb4ae8ac0acdfc91ff1e45e59d4d6f22 /libavcodec | |
parent | 14f3e8b821d69e51b9a0e618e854bca3434880eb (diff) | |
download | ffmpeg-741fa0493b94946d4b9bae37e9f4270766f74534.tar.gz |
avcodec/mpegvideo_parser: more robust dimension setup
Before this missing seq headers could have led to wrong dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mpegvideo_parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c index 0159421b56..8196ecaecb 100644 --- a/libavcodec/mpegvideo_parser.c +++ b/libavcodec/mpegvideo_parser.c @@ -90,8 +90,8 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s, pc->progressive_sequence = buf[1] & (1 << 3); avctx->has_b_frames= !(buf[5] >> 7); - pc->width |=(horiz_size_ext << 12); - pc->height |=( vert_size_ext << 12); + pc->width = (pc->width & 0xFFF) | (horiz_size_ext << 12); + pc->height = (pc->height& 0xFFF) | ( vert_size_ext << 12); bit_rate = (bit_rate&0x3FFFF) | (bit_rate_ext << 18); if(did_set_size) ff_set_dimensions(avctx, pc->width, pc->height); |