diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | codec-cfg.c | 2 | ||||
-rw-r--r-- | codec-cfg.h | 2 | ||||
-rw-r--r-- | etc/codecs.conf | 18 | ||||
-rw-r--r-- | roqav.c | 39 | ||||
-rw-r--r-- | roqav.h | 12 |
6 files changed, 73 insertions, 2 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 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 diff --git a/codec-cfg.c b/codec-cfg.c index 3fd112cd9e..0bc0e0f169 100644 --- a/codec-cfg.c +++ b/codec-cfg.c @@ -221,6 +221,7 @@ static short get_driver(char *s,int audioflag) "imaadpcm", "fox61adpcm", "fox62adpcm", + "roqaudio", NULL }; static char *videodrv[] = { @@ -243,6 +244,7 @@ static short get_driver(char *s,int audioflag) "cyuv", "qtsmc", "ducktm1", + "roqvideo", NULL }; char **drv=audioflag?audiodrv:videodrv; diff --git a/codec-cfg.h b/codec-cfg.h index f8d13fd7c1..338dd8c2b7 100644 --- a/codec-cfg.h +++ b/codec-cfg.h @@ -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 diff --git a/etc/codecs.conf b/etc/codecs.conf index d86b8627c2..b9bb1b4196 100644 --- a/etc/codecs.conf +++ b/etc/codecs.conf @@ -294,7 +294,8 @@ videocodec msrle 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 @@ videocodec ducktm1 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 @@ audiocodec fox62adpcm 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 diff --git a/roqav.c b/roqav.c new file mode 100644 index 0000000000..f1bcd51b98 --- /dev/null +++ b/roqav.c @@ -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) +{ +} diff --git a/roqav.h b/roqav.h new file mode 100644 index 0000000000..a049713e9a --- /dev/null +++ b/roqav.h @@ -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 |