[MPlayer-cvslog] r20150 - in trunk: libmpcodecs/vd_realvid.c libmpdemux/demux_real.c

rtogni subversion at mplayerhq.hu
Wed Oct 11 00:15:01 CEST 2006


Author: rtogni
Date: Wed Oct 11 00:15:01 2006
New Revision: 20150

Modified:
   trunk/libmpcodecs/vd_realvid.c
   trunk/libmpdemux/demux_real.c

Log:
Allows up to 8 bytes of extradata for cmsg24


Modified: trunk/libmpcodecs/vd_realvid.c
==============================================================================
--- trunk/libmpcodecs/vd_realvid.c	(original)
+++ trunk/libmpcodecs/vd_realvid.c	Wed Oct 11 00:15:01 2006
@@ -253,9 +253,10 @@
 	// setup rv30 codec (codec sub-type and image dimensions):
 	if((sh->format<=0x30335652) && (extrahdr[1]>=0x20200002)){
 	    // We could read nonsense data while filling this, but input is big enough so no sig11
-	    uint32_t cmsg24[8]={sh->disp_w,sh->disp_h,((unsigned char *)extrahdr)[8]*4,((unsigned char *)extrahdr)[9]*4,
+	    uint32_t cmsg24[10]={sh->disp_w,sh->disp_h,((unsigned char *)extrahdr)[8]*4,((unsigned char *)extrahdr)[9]*4,
 	                        ((unsigned char *)extrahdr)[10]*4,((unsigned char *)extrahdr)[11]*4,
-	                        ((unsigned char *)extrahdr)[12]*4,((unsigned char *)extrahdr)[13]*4};
+	                        ((unsigned char *)extrahdr)[12]*4,((unsigned char *)extrahdr)[13]*4,
+	                        ((unsigned char *)extrahdr)[14]*4,((unsigned char *)extrahdr)[15]*4};
 	    cmsg_data_t cmsg_data={0x24,1+((extrahdr[0]>>16)&7), &cmsg24[0]};
 
 #ifdef USE_WIN32DLL

Modified: trunk/libmpdemux/demux_real.c
==============================================================================
--- trunk/libmpdemux/demux_real.c	(original)
+++ trunk/libmpdemux/demux_real.c	Wed Oct 11 00:15:01 2006
@@ -1602,9 +1602,9 @@
 			        mp_msg(MSGT_DEMUX, MSGL_ERR,"realvid: cmsg24 data too short (size %u)\n", cnt);
 			    } else  {
 			        int ii;
-			        if (cnt > 6) {
+			        if (cnt > 8) {
 			            mp_msg(MSGT_DEMUX, MSGL_WARN,"realvid: cmsg24 data too big, please report (size %u)\n", cnt);
-			            cnt = 6;
+			            cnt = 8;
 			        }
 			        for (ii = 0; ii < cnt; ii++)
 			            ((unsigned char*)(sh->bih+1))[8+ii]=(unsigned short)stream_read_char(demuxer->stream);



More information about the MPlayer-cvslog mailing list