summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-28 01:35:55 +0000
committermelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-28 01:35:55 +0000
commitc1a9839faf0a46780cc769b22b91d76ebe06a828 (patch)
tree45e35425ba7487d3e2794339583280dd0350a052
parent311521a656b00a9709f1b4ae32197e88742d5b70 (diff)
downloadmpv-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.c1
-rw-r--r--codec-cfg.h1
-rw-r--r--dec_video.c22
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. --------------------