From 11c0f9eca1053be6681876f53d9974dab248977c Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Mon, 1 Dec 2008 06:40:36 +0000 Subject: [PATCH] enable RV40 decoder Originally committed as revision 15968 to svn://svn.ffmpeg.org/ffmpeg/trunk --- Changelog | 1 + doc/general.texi | 1 + libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/avcodec.h | 2 +- libavcodec/dsputil.h | 4 ++++ 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 74c9a1782b..dd1b8472ef 100644 --- a/Changelog +++ b/Changelog @@ -140,6 +140,7 @@ version - liba52 wrapper removed - Speex decoding via libspeex - Electronic Arts TGQ decoder +- RV40 decoder version 0.4.9-pre1: diff --git a/doc/general.texi b/doc/general.texi index 1db8e4a441..140338deed 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -288,6 +288,7 @@ 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 4.0 @tab @tab X @item Renderware TXD @tab @tab X @tab Texture dictionaries used by the Renderware Engine. @item RTjpeg @tab @tab X diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 0105a4941c..425066cbf2 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -177,6 +177,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_RV40_DECODER) += rv40.o rv34.o h264pred.o rv40dsp.o OBJS-$(CONFIG_SGI_DECODER) += sgidec.o OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o OBJS-$(CONFIG_SHORTEN_DECODER) += shorten.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index f8f7a71cda..6880d00994 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -142,6 +142,7 @@ void avcodec_register_all(void) REGISTER_DECODER (RPZA, rpza); REGISTER_ENCDEC (RV10, rv10); REGISTER_ENCDEC (RV20, rv20); + REGISTER_DECODER (RV40, rv40); REGISTER_ENCDEC (SGI, sgi); REGISTER_DECODER (SMACKER, smacker); REGISTER_DECODER (SMC, smc); diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f5425e562c..53ded30274 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 4 +#define LIBAVCODEC_VERSION_MINOR 5 #define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 17cec215db..66a46d72a7 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -485,6 +485,10 @@ typedef struct DSPContext { */ int32_t (*scalarproduct_int16)(int16_t *v1, int16_t *v2/*align 16*/, int len, int shift); + /* rv30 functions */ + qpel_mc_func put_rv30_tpel_pixels_tab[4][16]; + qpel_mc_func avg_rv30_tpel_pixels_tab[4][16]; + /* rv40 functions */ qpel_mc_func put_rv40_qpel_pixels_tab[4][16]; qpel_mc_func avg_rv40_qpel_pixels_tab[4][16];