changeset 4450:3da8c5706371

added skeleton decoders for RoQ audio and video format decoders
author melanson
date Fri, 01 Feb 2002 05:33:46 +0000
parents 501473faf365
children 5627d5b58083
files Makefile codec-cfg.c codec-cfg.h etc/codecs.conf roqav.c roqav.h
diffstat 6 files changed, 73 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Fri Feb 01 05:31:51 2002 +0000
+++ b/Makefile	Fri Feb 01 05:33:46 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 ducktm1.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 roqav.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	Fri Feb 01 05:31:51 2002 +0000
+++ b/codec-cfg.c	Fri Feb 01 05:33:46 2002 +0000
@@ -221,6 +221,7 @@
 		"imaadpcm",
 		"fox61adpcm",
 		"fox62adpcm",
+		"roqaudio",
 		NULL
 	};
 	static char *videodrv[] = {
@@ -243,6 +244,7 @@
 		"cyuv",
 		"qtsmc",
 		"ducktm1",
+		"roqvideo",
 		NULL
 	};
         char **drv=audioflag?audiodrv:videodrv;
--- a/codec-cfg.h	Fri Feb 01 05:31:51 2002 +0000
+++ b/codec-cfg.h	Fri Feb 01 05:33:46 2002 +0000
@@ -36,6 +36,7 @@
 #define AFM_IMAADPCM 16
 #define AFM_FOX61ADPCM 17
 #define AFM_FOX62ADPCM 18
+#define AFM_ROQAUDIO 19
 
 #define VFM_MPEG 1
 #define VFM_VFW 2
@@ -55,6 +56,7 @@
 #define VFM_CYUV 16
 #define VFM_QTSMC 17
 #define VFM_DUCKTM1 18
+#define VFM_ROQVIDEO 19
 
 #ifndef GUID_TYPE
 #define GUID_TYPE
--- a/etc/codecs.conf	Fri Feb 01 05:31:51 2002 +0000
+++ b/etc/codecs.conf	Fri Feb 01 05:33:46 2002 +0000
@@ -294,7 +294,8 @@
 videocodec fli
   info "Autodesk FLI/FLC Animation"
   status working
-  fourcc FLIC   ; internal MPlayer FOURCC, not official
+  comment "FLIC is an internal MPlayer FOURCC"
+  fourcc FLIC
   driver fli
   out BGR32,BGR24
 
@@ -344,6 +345,14 @@
   driver ducktm1
   out BGR32,BGR24,BGR16,BGR15
 
+videocodec roqvideo
+  info "Id RoQ File Video Decoder"
+  status buggy
+  comment "RoQV is an internal MPlayer FOURCC"
+  fourcc RoQV
+  driver roqvideo
+  out YV12
+
 audiocodec imaadpcm
   info "IMA ADPCM"
   status working
@@ -371,6 +380,13 @@
   format 0x62
   driver fox62adpcm
 
+videocodec roqaudio
+  info "Id RoQ File Audio Decoder"
+  status buggy
+  comment "RoQA is an internal MPlayer FOURCC"
+  fourcc RoQA
+  driver roqaudio
+
 ; =============== WINDOWS DLL's ==============
 
 videocodec vp3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/roqav.c	Fri Feb 01 05:33:46 2002 +0000
@@ -0,0 +1,39 @@
+/*
+        RoQ A/V decoder for the MPlayer program
+        by Mike Melanson
+        based on Dr. Tim Ferguson's RoQ document found at:
+          http://www.csse.monash.edu.au/~timf/videocodec.html
+*/
+
+#include "config.h"
+#include "bswap.h"
+#include <stdio.h>
+
+#define LE_16(x) (le2me_16(*(unsigned short *)(x)))
+#define LE_32(x) (le2me_32(*(unsigned int *)(x)))
+
+void *roq_decode_video_init(void)
+{
+}
+
+void roq_decode_video(
+  unsigned char *encoded,
+  int encoded_size,
+  unsigned char *decoded,
+  int width,
+  int height,
+  void *context)
+{
+}
+
+void *roq_decode_audio_init(void)
+{
+}
+
+int roq_decode_audio(
+  unsigned short *output,
+  unsigned char *input,
+  int channels,
+  void *context)
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/roqav.h	Fri Feb 01 05:33:46 2002 +0000
@@ -0,0 +1,12 @@
+#ifndef ROQAV_H
+#define ROQAV_H
+
+void *roq_decode_video_init(void);
+void roq_decode_video(unsigned char *encoded, int encoded_size,
+  unsigned char *decoded, int width, int height, void *context);
+
+void *roq_decode_audio_init(void);
+int roq_decode_audio(unsigned short *output, unsigned char *input,
+  int channels, void *context);
+
+#endif // ROQAV_H