diff options
author | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-28 01:35:55 +0000 |
---|---|---|
committer | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-28 01:35:55 +0000 |
commit | c1a9839faf0a46780cc769b22b91d76ebe06a828 (patch) | |
tree | 45e35425ba7487d3e2794339583280dd0350a052 | |
parent | 311521a656b00a9709f1b4ae32197e88742d5b70 (diff) | |
download | mpv-c1a9839faf0a46780cc769b22b91d76ebe06a828.tar.bz2 mpv-c1a9839faf0a46780cc769b22b91d76ebe06a828.tar.xz |
support for FLI image decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3173 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | codec-cfg.c | 1 | ||||
-rw-r--r-- | codec-cfg.h | 1 | ||||
-rw-r--r-- | dec_video.c | 22 |
3 files changed, 24 insertions, 0 deletions
diff --git a/codec-cfg.c b/codec-cfg.c index 0b26969d00..4b3d665e9b 100644 --- a/codec-cfg.c +++ b/codec-cfg.c @@ -228,6 +228,7 @@ static short get_driver(char *s,int audioflag) "rle", "xanim", "msvidc", + "fli", NULL }; char **drv=audioflag?audiodrv:videodrv; diff --git a/codec-cfg.h b/codec-cfg.h index 319ff31207..0055951968 100644 --- a/codec-cfg.h +++ b/codec-cfg.h @@ -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 diff --git a/dec_video.c b/dec_video.c index 1ef2d7ed4c..761f629472 100644 --- a/dec_video.c +++ b/dec_video.c @@ -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. -------------------- |