diff options
author | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-01 17:47:55 +0000 |
---|---|---|
committer | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-01 17:47:55 +0000 |
commit | c4a33d0dc42f8c6916a2534b6767afc7f629ecb9 (patch) | |
tree | 999b48fced7857576d22326d7afd07a3f9227834 /libmpeg2/header.c | |
parent | 4d696cc72900152f8622848498d5439d7f044978 (diff) | |
download | mpv-c4a33d0dc42f8c6916a2534b6767afc7f629ecb9.tar.bz2 mpv-c4a33d0dc42f8c6916a2534b6767afc7f629ecb9.tar.xz |
ignore invalid values in the sequence display extension (backport from 0.4.1)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21415 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpeg2/header.c')
-rw-r--r-- | libmpeg2/header.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libmpeg2/header.c b/libmpeg2/header.c index 2010043359..2df830b39b 100644 --- a/libmpeg2/header.c +++ b/libmpeg2/header.c @@ -272,9 +272,11 @@ static int sequence_display_ext (mpeg2dec_t * mpeg2dec) if (!(buffer[2] & 2)) /* missing marker_bit */ return 1; - sequence->display_width = (buffer[1] << 6) | (buffer[2] >> 2); - sequence->display_height = - ((buffer[2]& 1 ) << 13) | (buffer[3] << 5) | (buffer[4] >> 3); + if( (buffer[1] << 6) | (buffer[2] >> 2) ) + sequence->display_width = (buffer[1] << 6) | (buffer[2] >> 2); + if( ((buffer[2]& 1 ) << 13) | (buffer[3] << 5) | (buffer[4] >> 3) ) + sequence->display_height = + ((buffer[2]& 1 ) << 13) | (buffer[3] << 5) | (buffer[4] >> 3); return 0; } |