[MPlayer-cvslog] r24650 - trunk/libmpdemux/muxer_mpeg.c

nicodvb subversion at mplayerhq.hu
Fri Sep 28 23:13:27 CEST 2007


Author: nicodvb
Date: Fri Sep 28 23:13:26 2007
New Revision: 24650

Log:
100l, the tff flag was never cleared before being overwritten with the value on bff_mask;
patch by Christopher Montgomery (xhiphmont xiph org)


Modified:
   trunk/libmpdemux/muxer_mpeg.c

Modified: trunk/libmpdemux/muxer_mpeg.c
==============================================================================
--- trunk/libmpdemux/muxer_mpeg.c	(original)
+++ trunk/libmpdemux/muxer_mpeg.c	Fri Sep 28 23:13:26 2007
@@ -1611,7 +1611,8 @@ static int soft_telecine(muxer_priv_t *p
 	if(se_ptr)
 		se_ptr[1] &= 0xf7;
 	
-	pce_ptr[3] = (pce_ptr[3] & 0xfd) | bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH];
+	//disable tff and rff and overwrite them with the value in bff_mask
+	pce_ptr[3] = (pce_ptr[3] & 0x7d) | bff_mask[vpriv->display_frame % MAX_PATTERN_LENGTH];
 	pce_ptr[4] |= 0x80;	//sets progressive frame
 	
 	vpriv->display_frame += n;
@@ -1677,9 +1678,10 @@ static size_t parse_mpeg12_video(muxer_s
 						break;
 					}
 					mp_header_process_extension(&(spriv->picture), &(s->buffer[i+4]));
+					if(((s->buffer[i+4] & 0xf0) == 0x10))
+						se_ptr = &(s->buffer[i+4]);
 					if(((s->buffer[i+4] & 0xf0) == 0x20))
 					{
-						se_ptr = &(s->buffer[i+4]);
 						if(priv->patch_sde)
 							patch_panscan(priv, se_ptr);
 					}



More information about the MPlayer-cvslog mailing list