diff options
author | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-23 22:20:46 +0000 |
---|---|---|
committer | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-23 22:20:46 +0000 |
commit | 512c294b4865e2fab1d99f079eda64c517cdb252 (patch) | |
tree | ab5fa60362a3df64f056fc6a032a6c3cb003b03f /dec_video.c | |
parent | 7bbe389f7e3aadfbe5d4f81b773753d12c4dd048 (diff) | |
download | mpv-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.c | 38 |
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; |