summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-01-22 00:06:59 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-01-22 00:06:59 +0000
commit3cee5fc6918b40309b514726f06f9d722bfad48e (patch)
tree1547efbb4ece32c71224617ff9df685901c4195d /libmpcodecs
parent09b8a53e164afcc435ab48a4c5228efed0221928 (diff)
downloadmpv-3cee5fc6918b40309b514726f06f9d722bfad48e.tar.bz2
mpv-3cee5fc6918b40309b514726f06f9d722bfad48e.tar.xz
Play RV30 with 8-elements cmsg24
Fixes rv30_cmsg24_test.rmvb (now in samples) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14569 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_realvid.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libmpcodecs/vd_realvid.c b/libmpcodecs/vd_realvid.c
index 6bee6c2aca..acdc38ee3f 100644
--- a/libmpcodecs/vd_realvid.c
+++ b/libmpcodecs/vd_realvid.c
@@ -253,7 +253,10 @@ static int init(sh_video_t *sh){
}
// setup rv30 codec (codec sub-type and image dimensions):
if((sh->format<=0x30335652) && (extrahdr[1]>=0x20200002)){
- uint32_t cmsg24[4]={sh->disp_w,sh->disp_h,((unsigned short *)extrahdr)[4],((unsigned short *)extrahdr)[5]};
+ // 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,
+ ((unsigned char *)extrahdr)[10]*4,((unsigned char *)extrahdr)[11]*4,
+ ((unsigned char *)extrahdr)[12]*4,((unsigned char *)extrahdr)[13]*4};
cmsg_data_t cmsg_data={0x24,1+((extrahdr[0]>>16)&7), &cmsg24[0]};
#ifdef USE_WIN32DLL