native codec 'rle' added

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1949 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2001-09-24 20:21:53 +00:00
parent bb7a39bf93
commit 9d4682c790
4 changed files with 19 additions and 1 deletions

View File

@ -16,7 +16,7 @@ PRG_CFG = codec-cfg
#prefix = /usr/local
BINDIR = ${prefix}/bin
# BINDIR = /usr/local/bin
SRCS = mp_msg.c open.c parse_es.c ac3-iec958.c find_sub.c aviprint.c dec_audio.c dec_video.c aviwrite.c aviheader.c asfheader.c demux_avi.c demux_asf.c demux_mpg.c demux_mov.c demuxer.c stream.c codec-cfg.c subreader.c linux/getch2.c linux/timer-lx.c linux/shmem.c xa/xa_gsm.c lirc_mp.c cfgparser.c mixer.c dvdauth.c spudec.c $(STREAM_SRCS)
SRCS = mp_msg.c open.c parse_es.c ac3-iec958.c find_sub.c aviprint.c dec_audio.c dec_video.c aviwrite.c aviheader.c asfheader.c demux_avi.c demux_asf.c demux_mpg.c demux_mov.c demuxer.c stream.c codec-cfg.c subreader.c linux/getch2.c linux/timer-lx.c linux/shmem.c xa/xa_gsm.c xa/rle8.c lirc_mp.c cfgparser.c mixer.c dvdauth.c spudec.c $(STREAM_SRCS)
OBJS = $(SRCS:.c=.o)
CFLAGS = $(OPTFLAGS) -Iloader -Ilibvo $(CSS_INC) $(EXTRA_INC) # -Wall
A_LIBS = -Lmp3lib -lMP3 -Llibac3 -lac3 $(ALSA_LIB) $(ESD_LIB)

View File

@ -221,6 +221,7 @@ static short get_driver(char *s,int audioflag)
"vfwex",
"divx4",
"raw",
"rle",
NULL
};
char **drv=audioflag?audiodrv:videodrv;

View File

@ -38,6 +38,7 @@
#define VFM_VFWEX 6
#define VFM_DIVX4 7
#define VFM_RAW 8
#define VFM_RLE 9
#ifndef GUID_TYPE
#define GUID_TYPE

View File

@ -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. --------------------