# HG changeset patch # User melanson # Date 1006911355 0 # Node ID bb38b6b072f83983fc28588873b37503647c950c # Parent 3a325e7f6e1df4c4a7b118b2f36b0c45176f7edc support for FLI image decoding diff -r 3a325e7f6e1d -r bb38b6b072f8 codec-cfg.c --- a/codec-cfg.c Wed Nov 28 01:26:03 2001 +0000 +++ b/codec-cfg.c Wed Nov 28 01:35:55 2001 +0000 @@ -228,6 +228,7 @@ "rle", "xanim", "msvidc", + "fli", NULL }; char **drv=audioflag?audiodrv:videodrv; diff -r 3a325e7f6e1d -r bb38b6b072f8 codec-cfg.h --- a/codec-cfg.h Wed Nov 28 01:26:03 2001 +0000 +++ b/codec-cfg.h Wed Nov 28 01:35:55 2001 +0000 @@ -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 -r 3a325e7f6e1d -r bb38b6b072f8 dec_video.c --- a/dec_video.c Wed Nov 28 01:26:03 2001 +0000 +++ b/dec_video.c Wed Nov 28 01:35:55 2001 +0000 @@ -123,6 +123,15 @@ 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 @@ (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 @@ (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. --------------------