summaryrefslogtreecommitdiffstats
path: root/libmpeg2
diff options
context:
space:
mode:
authorhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-16 09:49:28 +0000
committerhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-16 09:49:28 +0000
commitf8aa0436015b31cdc278ad52dda4350f4106b1ed (patch)
tree4f0fd16a7a0bcc9182d793a8e568f6454eaadb64 /libmpeg2
parent3d834fb592a51e8ba6cced5863a4fa833deb1cd4 (diff)
downloadmpv-f8aa0436015b31cdc278ad52dda4350f4106b1ed.tar.bz2
mpv-f8aa0436015b31cdc278ad52dda4350f4106b1ed.tar.xz
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.diff23
-rw-r--r--libmpeg2/slice.c8
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) {