[MPlayer-cvslog] r21941 - in trunk/libmpeg2: libmpeg-0.4.1.diff slice.c

henry subversion at mplayerhq.hu
Tue Jan 16 10:49:29 CET 2007


Author: henry
Date: Tue Jan 16 10:49:28 2007
New Revision: 21941

Modified:
   trunk/libmpeg2/libmpeg-0.4.1.diff
   trunk/libmpeg2/slice.c

Log:
fix crash with http://sam.zoy.org/zzuf/lol-mplayer.m2v

Modified: trunk/libmpeg2/libmpeg-0.4.1.diff
==============================================================================
--- trunk/libmpeg2/libmpeg-0.4.1.diff	(original)
+++ trunk/libmpeg2/libmpeg-0.4.1.diff	Tue Jan 16 10:49:28 2007
@@ -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 @@

Modified: trunk/libmpeg2/slice.c
==============================================================================
--- trunk/libmpeg2/slice.c	(original)
+++ trunk/libmpeg2/slice.c	Tue Jan 16 10:49:28 2007
@@ -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) {



More information about the MPlayer-cvslog mailing list