changeset 4301:8f43b10f387f

added skeleton for Duck Truemotion v1 decoder (doesn't do anything yet)
author melanson
date Tue, 22 Jan 2002 05:39:34 +0000
parents 4ebab79785b7
children 9f12fd5f47d0
files Makefile codec-cfg.c codec-cfg.h dec_video.c ducktm1.c etc/codecs.conf
diffstat 6 files changed, 43 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Tue Jan 22 02:15:23 2002 +0000
+++ b/Makefile	Tue Jan 22 05:39:34 2002 +0000
@@ -27,7 +27,7 @@
 # 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
 
--- a/codec-cfg.c	Tue Jan 22 02:15:23 2002 +0000
+++ b/codec-cfg.c	Tue Jan 22 05:39:34 2002 +0000
@@ -242,6 +242,7 @@
 		"nuv",
 		"cyuv",
 		"qtsmc",
+		"ducktm1",
 		NULL
 	};
         char **drv=audioflag?audiodrv:videodrv;
--- a/codec-cfg.h	Tue Jan 22 02:15:23 2002 +0000
+++ b/codec-cfg.h	Tue Jan 22 05:39:34 2002 +0000
@@ -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
--- a/dec_video.c	Tue Jan 22 02:15:23 2002 +0000
+++ b/dec_video.c	Tue Jan 22 05:39:34 2002 +0000
@@ -168,6 +168,14 @@
   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 @@
  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 @@
         ((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));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ducktm1.c	Tue Jan 22 05:39:34 2002 +0000
@@ -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)
+{
+}
--- a/etc/codecs.conf	Tue Jan 22 02:15:23 2002 +0000
+++ b/etc/codecs.conf	Tue Jan 22 05:39:34 2002 +0000
@@ -336,6 +336,13 @@
   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