From 6beb8b2612e9f212fb1415647be4c5e87a7f1b97 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 20 Dec 2008 18:06:01 +0000 Subject: [PATCH] RV30 decoder Originally committed as revision 16247 to svn://svn.ffmpeg.org/ffmpeg/trunk --- Changelog | 2 +- doc/general.texi | 2 ++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/avcodec.h | 2 +- libavcodec/dsputil.c | 7 +++++++ 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 50d1896ca7..d785492bf3 100644 --- a/Changelog +++ b/Changelog @@ -140,7 +140,7 @@ version - liba52 wrapper removed - Speex decoding via libspeex - Electronic Arts TGQ decoder -- RV40 decoder +- RV30 and RV40 decoder - QCELP / PureVoice decoder version 0.4.9-pre1: diff --git a/doc/general.texi b/doc/general.texi index d2a0aedf98..514e8e5352 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -288,6 +288,8 @@ following image formats are supported: @tab fourccs: QPEG, Q1.0, Q1.1 @item RealVideo 1.0 @tab X @tab X @item RealVideo 2.0 @tab X @tab X +@item RealVideo 3.0 @tab @tab X + @tab still far from ideal @item RealVideo 4.0 @tab @tab X @item Renderware TXD @tab @tab X @tab Texture dictionaries used by the Renderware Engine. diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 67f23db2e4..e4fb30d6e9 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -178,6 +178,7 @@ OBJS-$(CONFIG_RV10_DECODER) += rv10.o h263.o mpeg12data.o mpegvideo.o OBJS-$(CONFIG_RV10_ENCODER) += rv10.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o OBJS-$(CONFIG_RV20_DECODER) += rv10.o h263.o mpeg12data.o mpegvideo.o error_resilience.o OBJS-$(CONFIG_RV20_ENCODER) += rv10.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o +OBJS-$(CONFIG_RV30_DECODER) += rv30.o rv34.o h264pred.o rv30dsp.o OBJS-$(CONFIG_RV40_DECODER) += rv40.o rv34.o h264pred.o rv40dsp.o OBJS-$(CONFIG_SGI_DECODER) += sgidec.o OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 7faf4fa830..1fdda8e052 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -132,6 +132,7 @@ void avcodec_register_all(void) REGISTER_DECODER (RPZA, rpza); REGISTER_ENCDEC (RV10, rv10); REGISTER_ENCDEC (RV20, rv20); + REGISTER_DECODER (RV30, rv30); REGISTER_DECODER (RV40, rv40); REGISTER_ENCDEC (SGI, sgi); REGISTER_DECODER (SMACKER, smacker); diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index d98d2f21a9..81ca0c3c8f 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -30,7 +30,7 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 52 -#define LIBAVCODEC_VERSION_MINOR 7 +#define LIBAVCODEC_VERSION_MINOR 8 #define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index 6cd7131c57..78942775e4 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -2743,6 +2743,10 @@ void ff_intrax8dsp_init(DSPContext* c, AVCodecContext *avctx); /* H264 specific */ void ff_h264dspenc_init(DSPContext* c, AVCodecContext *avctx); +#if defined(CONFIG_RV30_DECODER) +void ff_rv30dsp_init(DSPContext* c, AVCodecContext *avctx); +#endif /* CONFIG_RV30_DECODER */ + #if defined(CONFIG_RV40_DECODER) static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){ put_pixels16_xy2_c(dst, src, stride, 16); @@ -4495,6 +4499,9 @@ void dsputil_init(DSPContext* c, AVCodecContext *avctx) #if defined(CONFIG_H264_ENCODER) ff_h264dspenc_init(c,avctx); #endif +#if defined(CONFIG_RV30_DECODER) + ff_rv30dsp_init(c,avctx); +#endif #if defined(CONFIG_RV40_DECODER) ff_rv40dsp_init(c,avctx); c->put_rv40_qpel_pixels_tab[0][15] = put_rv40_qpel16_mc33_c;