I hate M$. it seems that MSRLE biSize is always 40 when number of colors < 256 instead of 40+colors*4

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5419 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2002-03-31 09:50:17 +00:00
parent bbb69a2db6
commit 593c86af8e
1 changed files with 3 additions and 0 deletions

View File

@ -176,6 +176,9 @@ while(1){
mp_msg(MSGT_HEADER,MSGL_V,"found 'bih', %d bytes of %d\n",chunksize,sizeof(BITMAPINFOHEADER));
stream_read(demuxer->stream,(char*) sh_video->bih,chunksize);
le2me_BITMAPINFOHEADER(sh_video->bih); // swap to machine endian
// fixup MS-RLE header (seems to be broken for <256 color files)
if(sh_video->bih->biCompression==1 && sh_video->bih->biSize==40)
sh_video->bih->biSize=chunksize;
if(verbose>=1) print_video_header(sh_video->bih);
chunksize=0;
// sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale;