diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | codec-cfg.c | 1 | ||||
-rw-r--r-- | codec-cfg.h | 1 | ||||
-rw-r--r-- | dec_video.c | 16 | ||||
-rw-r--r-- | ducktm1.c | 17 | ||||
-rw-r--r-- | etc/codecs.conf | 7 |
6 files changed, 43 insertions, 1 deletions
@@ -27,7 +27,7 @@ MANDIR = ${prefix}/man # a BSD compatible 'install' program INSTALL = install -SRCS_COMMON = cyuv.c adpcm.c xacodec.c cpudetect.c mp_msg.c ac3-iec958.c dec_audio.c dec_video.c msvidc.c cinepak.c fli.c qtrle.c codec-cfg.c cfgparser.c my_profile.c RTjpegN.c minilzo.c nuppelvideo.c spudec.c playtree.c playtreeparser.c asxparser.c qtsmc.c +SRCS_COMMON = cyuv.c adpcm.c xacodec.c cpudetect.c mp_msg.c ac3-iec958.c dec_audio.c dec_video.c msvidc.c cinepak.c fli.c qtrle.c codec-cfg.c cfgparser.c my_profile.c RTjpegN.c minilzo.c nuppelvideo.c spudec.c playtree.c playtreeparser.c asxparser.c qtsmc.c ducktm1.c SRCS_MENCODER = mencoder.c $(SRCS_COMMON) libao2/afmt.c divx4_vbr.c libvo/aclib.c libvo/img_format.c libvo/osd.c SRCS_MPLAYER = mplayer.c $(SRCS_COMMON) find_sub.c subreader.c lirc_mp.c mixer.c vobsub.c diff --git a/codec-cfg.c b/codec-cfg.c index 1dffb4651c..3fd112cd9e 100644 --- a/codec-cfg.c +++ b/codec-cfg.c @@ -242,6 +242,7 @@ static short get_driver(char *s,int audioflag) "nuv", "cyuv", "qtsmc", + "ducktm1", NULL }; char **drv=audioflag?audiodrv:videodrv; diff --git a/codec-cfg.h b/codec-cfg.h index bc027a152e..f8d13fd7c1 100644 --- a/codec-cfg.h +++ b/codec-cfg.h @@ -54,6 +54,7 @@ #define VFM_NUV 15 #define VFM_CYUV 16 #define VFM_QTSMC 17 +#define VFM_DUCKTM1 18 #ifndef GUID_TYPE #define GUID_TYPE diff --git a/dec_video.c b/dec_video.c index 94e4982569..f8b46c1c9a 100644 --- a/dec_video.c +++ b/dec_video.c @@ -168,6 +168,14 @@ void qt_decode_smc( unsigned char *palette_map, int bytes_per_pixel); +void decode_duck_tm1( + unsigned char *encoded, + int encoded_size, + unsigned char *decoded, + int width, + int height, + int bytes_per_pixel); + //**************************************************************************// // The OpenDivX stuff: //**************************************************************************// @@ -604,6 +612,7 @@ switch(sh_video->codec->driver){ case VFM_MSVIDC: case VFM_FLI: case VFM_QTRLE: + case VFM_DUCKTM1: { #ifdef USE_MP_IMAGE sh_video->image->type=MP_IMGTYPE_STATIC; @@ -977,6 +986,13 @@ if(verbose>1){ ((out_fmt&255)+7)/8); blit_frame = 3; break; + case VFM_DUCKTM1: + decode_duck_tm1( + 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_CYUV: decode_cyuv(start, in_size, sh_video->our_out_buffer, sh_video->disp_w, sh_video->disp_h, (out_fmt==IMGFMT_YUY2)?16:(out_fmt&255)); diff --git a/ducktm1.c b/ducktm1.c new file mode 100644 index 0000000000..6fd32b1043 --- /dev/null +++ b/ducktm1.c @@ -0,0 +1,17 @@ +/* + Duck Truemotion v1 Decoder for MPlayer + by Mike Melanson +*/ + +#include "config.h" +#include "bswap.h" + +void decode_duck_tm1( + unsigned char *encoded, + int encoded_size, + unsigned char *decoded, + int width, + int height, + int bytes_per_pixel) +{ +} diff --git a/etc/codecs.conf b/etc/codecs.conf index 89d43e5183..bd28f15463 100644 --- a/etc/codecs.conf +++ b/etc/codecs.conf @@ -336,6 +336,13 @@ videocodec qtsmc driver qtsmc out BGR32,BGR24 +videocodec ducktm1 + info "Duck Truemotion v1" + status buggy + fourcc DUCK + driver ducktm1 + out BGR32,BGR24,BGR16,BGR15 + audiocodec imaadpcm info "IMA ADPCM" status working |