summaryrefslogtreecommitdiffstats
path: root/dec_video.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-24 20:21:53 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-24 20:21:53 +0000
commit9d4682c79006886dd3310b3b85b17eb45a1d2e5f (patch)
tree9720d336b3312447ad9185ae6bd44347513bf29d /dec_video.c
parentbb7a39bf93208be4c2d4a46f3293eda50ad001a6 (diff)
downloadmpv-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.c16
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. --------------------