diff options
author | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-16 09:49:28 +0000 |
---|---|---|
committer | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-16 09:49:28 +0000 |
commit | f8aa0436015b31cdc278ad52dda4350f4106b1ed (patch) | |
tree | 4f0fd16a7a0bcc9182d793a8e568f6454eaadb64 /libmpeg2 | |
parent | 3d834fb592a51e8ba6cced5863a4fa833deb1cd4 (diff) |
fix crash with http://sam.zoy.org/zzuf/lol-mplayer.m2v
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21941 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpeg2')
-rw-r--r-- | libmpeg2/libmpeg-0.4.1.diff | 23 | ||||
-rw-r--r-- | libmpeg2/slice.c | 8 |
2 files changed, 31 insertions, 0 deletions
diff --git a/libmpeg2/libmpeg-0.4.1.diff b/libmpeg2/libmpeg-0.4.1.diff index 4576c49aad..9f64deeffb 100644 --- a/libmpeg2/libmpeg-0.4.1.diff +++ b/libmpeg2/libmpeg-0.4.1.diff @@ -400,6 +400,29 @@ decoder->offset += 16; \ if (decoder->offset == decoder->width) { \ do { /* just so we can use the break statement */ \ +@@ -1604,6 +1604,12 @@ + } \ + } while (0) + ++static void motion_dummy (mpeg2_decoder_t * const decoder, ++ motion_t * const motion, ++ mpeg2_mc_fct * const * const table) ++{ ++} ++ + void mpeg2_init_fbuf (mpeg2_decoder_t * decoder, uint8_t * current_fbuf[3], + uint8_t * forward_fbuf[3], uint8_t * backward_fbuf[3]) + { +@@ -1661,7 +1667,9 @@ + + if (decoder->mpeg1) { + decoder->motion_parser[0] = motion_zero_420; ++ decoder->motion_parser[MC_FIELD] = motion_dummy; + decoder->motion_parser[MC_FRAME] = motion_mp1; ++ decoder->motion_parser[MC_DMV] = motion_dummy; + decoder->motion_parser[4] = motion_reuse_420; + } else if (decoder->picture_structure == FRAME_PICTURE) { + if (decoder->chroma_format == 0) { --- libmpeg2/idct.c 2006-06-16 20:12:26.000000000 +0200 +++ libmpeg2/idct.c 2006-06-16 20:12:50.000000000 +0200 @@ -253,7 +253,7 @@ diff --git a/libmpeg2/slice.c b/libmpeg2/slice.c index 2b644540cd..d0cbacb6b4 100644 --- a/libmpeg2/slice.c +++ b/libmpeg2/slice.c @@ -1604,6 +1604,12 @@ do { \ } \ } while (0) +static void motion_dummy (mpeg2_decoder_t * const decoder, + motion_t * const motion, + mpeg2_mc_fct * const * const table) +{ +} + void mpeg2_init_fbuf (mpeg2_decoder_t * decoder, uint8_t * current_fbuf[3], uint8_t * forward_fbuf[3], uint8_t * backward_fbuf[3]) { @@ -1661,7 +1667,9 @@ void mpeg2_init_fbuf (mpeg2_decoder_t * decoder, uint8_t * current_fbuf[3], if (decoder->mpeg1) { decoder->motion_parser[0] = motion_zero_420; + decoder->motion_parser[MC_FIELD] = motion_dummy; decoder->motion_parser[MC_FRAME] = motion_mp1; + decoder->motion_parser[MC_DMV] = motion_dummy; decoder->motion_parser[4] = motion_reuse_420; } else if (decoder->picture_structure == FRAME_PICTURE) { if (decoder->chroma_format == 0) { |