summaryrefslogtreecommitdiffstats
path: root/dec_video.c
diff options
context:
space:
mode:
authormelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-23 22:20:46 +0000
committermelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-23 22:20:46 +0000
commit512c294b4865e2fab1d99f079eda64c517cdb252 (patch)
treeab5fa60362a3df64f056fc6a032a6c3cb003b03f /dec_video.c
parent7bbe389f7e3aadfbe5d4f81b773753d12c4dd048 (diff)
downloadmpv-512c294b4865e2fab1d99f079eda64c517cdb252.tar.bz2
mpv-512c294b4865e2fab1d99f079eda64c517cdb252.tar.xz
This commit adds initial support for Quicktime Animation (RLE) video. It
also fixes a FLI function name (FLI is not an AVI decoder). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3688 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_video.c')
-rw-r--r--dec_video.c38
1 files changed, 29 insertions, 9 deletions
diff --git a/dec_video.c b/dec_video.c
index 9050921646..5db3a2b41f 100644
--- a/dec_video.c
+++ b/dec_video.c
@@ -111,7 +111,7 @@ void AVI_Decode_Video1_8(
unsigned char *palette_map,
int bytes_per_pixel);
-void AVI_Decode_Fli(
+void Decode_Fli(
unsigned char *encoded,
int encoded_size,
unsigned char *decoded,
@@ -119,6 +119,14 @@ void AVI_Decode_Fli(
int height,
int bytes_per_pixel);
+void qt_decode_rle(
+ unsigned char *encoded,
+ int encoded_size,
+ unsigned char *decoded,
+ int width,
+ int height,
+ int encoded_bpp,
+ int bytes_per_pixel);
//**************************************************************************//
// The OpenDivX stuff:
@@ -522,16 +530,20 @@ switch(sh_video->codec->driver){
}
}
break;
- case VFM_MSVIDC: {
- 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;
- case VFM_FLI: {
+ case VFM_MSVIDC:
+ case VFM_FLI:
+ case VFM_QTRLE:
+ {
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!!!
+if ((sh_video->codec->driver == VFM_QTRLE) && (sh_video->bih->biBitCount != 24))
+ printf (
+ " *** FYI: This Quicktime file is using %d-bit RLE Animation\n" \
+ " encoding, which is not yet supported by MPlayer. But if you upload\n" \
+ " this Quicktime file to the MPlayer FTP, the team could look at it.\n",
+ sh_video->bih->biBitCount);
+
}
break;
}
@@ -785,9 +797,17 @@ if(verbose>1){
blit_frame = 3;
break;
case VFM_FLI:
- AVI_Decode_Fli(
+ 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;
+ case VFM_QTRLE:
+ qt_decode_rle(
start, in_size, sh_video->our_out_buffer,
sh_video->disp_w, sh_video->disp_h,
+ sh_video->bih->biBitCount,
((out_fmt&255)+7)/8);
blit_frame = 3;
break;