diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-09-24 20:21:53 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-09-24 20:21:53 +0000 |
commit | 9d4682c79006886dd3310b3b85b17eb45a1d2e5f (patch) | |
tree | 9720d336b3312447ad9185ae6bd44347513bf29d /dec_video.c | |
parent | bb7a39bf93208be4c2d4a46f3293eda50ad001a6 (diff) | |
download | mpv-9d4682c79006886dd3310b3b85b17eb45a1d2e5f.tar.bz2 mpv-9d4682c79006886dd3310b3b85b17eb45a1d2e5f.tar.xz |
native codec 'rle' added
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1949 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_video.c')
-rw-r--r-- | dec_video.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/dec_video.c b/dec_video.c index 13a3ad221b..333602e3ac 100644 --- a/dec_video.c +++ b/dec_video.c @@ -62,6 +62,9 @@ extern int init_video_codec(sh_video_t *sh_video,int ex); #include <decore.h> #endif +void AVI_Decode_RLE8(char *image,char *delta,int tdsize, + unsigned int *map,int imagex,int imagey,unsigned char x11_bytes_pixel); + //**************************************************************************// // The OpenDivX stuff: //**************************************************************************// @@ -351,6 +354,11 @@ switch(sh_video->codec->driver){ case VFM_RAW: { break; } + case VFM_RLE: { + int bpp=((out_fmt&255)+7)/8; // RGB only + sh_video->our_out_buffer = memalign(64,sh_video->disp_w*sh_video->disp_h*bpp); // FIXME!!! + break; + } } sh_video->inited=1; return 1; @@ -552,6 +560,14 @@ else planes[0]=start; blit_frame=2; break; + case VFM_RLE: +//void AVI_Decode_RLE8(char *image,char *delta,int tdsize, +// unsigned int *map,int imagex,int imagey,unsigned char x11_bytes_pixel); + AVI_Decode_RLE8(sh_video->our_out_buffer,start,in_size, + (int*)(((char*)sh_video->bih)+40), + sh_video->disp_w,sh_video->disp_h,((out_fmt&255)+7)/8); + blit_frame=3; + break; } // switch //------------------------ frame decoded. -------------------- |