summaryrefslogtreecommitdiff
path: root/libavcodec/rv30dsp.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2013-01-23 20:24:53 -0800
committerLuca Barbato <lu_zero@gentoo.org>2013-01-24 10:44:43 +0100
commite9d817351b28e62868528476971afe4cde1fa280 (patch)
treef17f5c43d1ce5856a275dd4b40a970d15b7a9eac /libavcodec/rv30dsp.c
parent7a95afe433b2a692f490b98948c082e62ffc1d27 (diff)
downloadffmpeg-e9d817351b28e62868528476971afe4cde1fa280.tar.gz
dsputil: Separate h264 qpel
The sh4 optimizations are removed, because the code is 100% identical to the C code, so it is unlikely to provide any real practical benefit. Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec/rv30dsp.c')
-rw-r--r--libavcodec/rv30dsp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/rv30dsp.c b/libavcodec/rv30dsp.c
index bcd1a462b1..ba5ae0f655 100644
--- a/libavcodec/rv30dsp.c
+++ b/libavcodec/rv30dsp.c
@@ -26,6 +26,7 @@
#include "avcodec.h"
#include "dsputil.h"
+#include "h264qpel.h"
#include "rv34dsp.h"
#define RV30_LOWPASS(OPNAME, OP) \
@@ -253,10 +254,12 @@ RV30_MC(avg_, 8)
RV30_MC(avg_, 16)
av_cold void ff_rv30dsp_init(RV34DSPContext *c, DSPContext* dsp) {
+ H264QpelContext qpel;
ff_rv34dsp_init(c, dsp);
+ ff_h264qpel_init(&qpel, 8);
- c->put_pixels_tab[0][ 0] = dsp->put_h264_qpel_pixels_tab[0][0];
+ c->put_pixels_tab[0][ 0] = qpel.put_h264_qpel_pixels_tab[0][0];
c->put_pixels_tab[0][ 1] = put_rv30_tpel16_mc10_c;
c->put_pixels_tab[0][ 2] = put_rv30_tpel16_mc20_c;
c->put_pixels_tab[0][ 4] = put_rv30_tpel16_mc01_c;
@@ -265,7 +268,7 @@ av_cold void ff_rv30dsp_init(RV34DSPContext *c, DSPContext* dsp) {
c->put_pixels_tab[0][ 8] = put_rv30_tpel16_mc02_c;
c->put_pixels_tab[0][ 9] = put_rv30_tpel16_mc12_c;
c->put_pixels_tab[0][10] = put_rv30_tpel16_mc22_c;
- c->avg_pixels_tab[0][ 0] = dsp->avg_h264_qpel_pixels_tab[0][0];
+ c->avg_pixels_tab[0][ 0] = qpel.avg_h264_qpel_pixels_tab[0][0];
c->avg_pixels_tab[0][ 1] = avg_rv30_tpel16_mc10_c;
c->avg_pixels_tab[0][ 2] = avg_rv30_tpel16_mc20_c;
c->avg_pixels_tab[0][ 4] = avg_rv30_tpel16_mc01_c;
@@ -274,7 +277,7 @@ av_cold void ff_rv30dsp_init(RV34DSPContext *c, DSPContext* dsp) {
c->avg_pixels_tab[0][ 8] = avg_rv30_tpel16_mc02_c;
c->avg_pixels_tab[0][ 9] = avg_rv30_tpel16_mc12_c;
c->avg_pixels_tab[0][10] = avg_rv30_tpel16_mc22_c;
- c->put_pixels_tab[1][ 0] = dsp->put_h264_qpel_pixels_tab[1][0];
+ c->put_pixels_tab[1][ 0] = qpel.put_h264_qpel_pixels_tab[1][0];
c->put_pixels_tab[1][ 1] = put_rv30_tpel8_mc10_c;
c->put_pixels_tab[1][ 2] = put_rv30_tpel8_mc20_c;
c->put_pixels_tab[1][ 4] = put_rv30_tpel8_mc01_c;
@@ -283,7 +286,7 @@ av_cold void ff_rv30dsp_init(RV34DSPContext *c, DSPContext* dsp) {
c->put_pixels_tab[1][ 8] = put_rv30_tpel8_mc02_c;
c->put_pixels_tab[1][ 9] = put_rv30_tpel8_mc12_c;
c->put_pixels_tab[1][10] = put_rv30_tpel8_mc22_c;
- c->avg_pixels_tab[1][ 0] = dsp->avg_h264_qpel_pixels_tab[1][0];
+ c->avg_pixels_tab[1][ 0] = qpel.avg_h264_qpel_pixels_tab[1][0];
c->avg_pixels_tab[1][ 1] = avg_rv30_tpel8_mc10_c;
c->avg_pixels_tab[1][ 2] = avg_rv30_tpel8_mc20_c;
c->avg_pixels_tab[1][ 4] = avg_rv30_tpel8_mc01_c;