summaryrefslogtreecommitdiffstats
path: root/dec_video.c
diff options
context:
space:
mode:
authormelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-13 04:06:55 +0000
committermelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-13 04:06:55 +0000
commit470c8fbb31cda5aa7638c262361a32bdf7333168 (patch)
tree8805537dc67b5d5cdc54b6422a0ddb6ed7c91438 /dec_video.c
parentecaf1d74b1b2088f579ee23621d16854e1f3e08f (diff)
downloadmpv-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.c15
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: