diff options
author | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-13 04:06:55 +0000 |
---|---|---|
committer | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-02-13 04:06:55 +0000 |
commit | 470c8fbb31cda5aa7638c262361a32bdf7333168 (patch) | |
tree | 8805537dc67b5d5cdc54b6422a0ddb6ed7c91438 /dec_video.c | |
parent | ecaf1d74b1b2088f579ee23621d16854e1f3e08f (diff) | |
download | mpv-470c8fbb31cda5aa7638c262361a32bdf7333168.tar.bz2 mpv-470c8fbb31cda5aa7638c262361a32bdf7333168.tar.xz |
some obscure bug fixes to the FLI decoder, with many thanks to Roberto
Togni
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4688 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_video.c')
-rw-r--r-- | dec_video.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/dec_video.c b/dec_video.c index 826ed157fc..7000286be1 100644 --- a/dec_video.c +++ b/dec_video.c @@ -118,13 +118,16 @@ void AVI_Decode_Video1_8( unsigned char *palette_map, int bytes_per_pixel); -void Decode_Fli( +void *init_fli_decoder(int width, int height); + +void decode_fli_frame( unsigned char *encoded, int encoded_size, unsigned char *decoded, int width, int height, - int bytes_per_pixel); + int bytes_per_pixel, + void *context); void qt_decode_rle( unsigned char *encoded, @@ -712,8 +715,9 @@ switch(sh_video->codec->driver){ } } break; - case VFM_MSVIDC: case VFM_FLI: + sh_video->context = init_fli_decoder(sh_video->disp_w, sh_video->disp_h); + case VFM_MSVIDC: case VFM_QTRLE: case VFM_DUCKTM1: #ifdef HAVE_PNG @@ -1117,10 +1121,11 @@ if(verbose>1){ blit_frame = 3; break; case VFM_FLI: - Decode_Fli( + decode_fli_frame( start, in_size, sh_video->our_out_buffer, sh_video->disp_w, sh_video->disp_h, - ((out_fmt&255)+7)/8); + ((out_fmt&255)+7)/8, + sh_video->context); blit_frame = 3; break; case VFM_NUV: |