Mercurial > mplayer.hg
changeset 3172:bb38b6b072f8
support for FLI image decoding
author | melanson |
---|---|
date | Wed, 28 Nov 2001 01:35:55 +0000 |
parents | 3a325e7f6e1d |
children | 76703fb87686 |
files | codec-cfg.c codec-cfg.h dec_video.c |
diffstat | 3 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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
--- 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. --------------------