support for FLI image decoding

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3173 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
melanson 2001-11-28 01:35:55 +00:00
parent 311521a656
commit c1a9839faf
3 changed files with 24 additions and 0 deletions

View File

@ -228,6 +228,7 @@ static short get_driver(char *s,int audioflag)
"rle",
"xanim",
"msvidc",
"fli",
NULL
};
char **drv=audioflag?audiodrv:videodrv;

View File

@ -43,6 +43,7 @@
#define VFM_RLE 9
#define VFM_XANIM 10
#define VFM_MSVIDC 11
#define VFM_FLI 12
#ifndef GUID_TYPE
#define GUID_TYPE

View File

@ -123,6 +123,15 @@ void AVI_Decode_Video1_8(
unsigned char *palette_map,
int bytes_per_pixel);
void AVI_Decode_Fli(
unsigned char *encoded,
int encoded_size,
unsigned char *decoded,
int width,
int height,
int bytes_per_pixel);
//**************************************************************************//
// The OpenDivX stuff:
//**************************************************************************//
@ -556,6 +565,12 @@ switch(sh_video->codec->driver){
(char*)memalign(64, sh_video->disp_w*sh_video->disp_h*bpp); // FIXME!!!
}
break;
case VFM_FLI: {
int bpp=((out_fmt&255)+7)/8; // RGB only
sh_video->our_out_buffer =
(char*)memalign(64, sh_video->disp_w*sh_video->disp_h*bpp); // FIXME!!!
}
break;
}
}
sh_video->inited=1;
@ -805,6 +820,13 @@ if(verbose>1){
(char *)sh_video->bih+40, ((out_fmt&255)+7)/8);
blit_frame = 3;
break;
case VFM_FLI:
AVI_Decode_Fli(
start, in_size, sh_video->our_out_buffer,
sh_video->disp_w, sh_video->disp_h,
((out_fmt&255)+7)/8);
blit_frame = 3;
break;
} // switch
//------------------------ frame decoded. --------------------