summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--codec-cfg.c1
-rw-r--r--codec-cfg.h1
-rw-r--r--dec_video.c16
-rw-r--r--ducktm1.c17
-rw-r--r--etc/codecs.conf7
6 files changed, 43 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 72888f017a..8c33a2c033 100644
--- a/Makefile
+++ b/Makefile
@@ -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