summaryrefslogtreecommitdiff
path: root/libavcodec/cavs.c
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-01-19 03:34:47 +0100
committerDiego Biurrun <diego@biurrun.de>2013-02-06 11:30:53 +0100
commit79dad2a932534d1155079f937649e099f9e5cc27 (patch)
tree9b3018db13e312b28cc7df17ba71bacf5f94d4bd /libavcodec/cavs.c
parent293065bdb56e603589ad8a29326406c39323e153 (diff)
dsputil: Separate h264chroma
Diffstat (limited to 'libavcodec/cavs.c')
-rw-r--r--libavcodec/cavs.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/libavcodec/cavs.c b/libavcodec/cavs.c
index 0e80fa22e8..16b6323a8b 100644
--- a/libavcodec/cavs.c
+++ b/libavcodec/cavs.c
@@ -28,6 +28,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "golomb.h"
+#include "h264chroma.h"
#include "mathops.h"
#include "cavs.h"
@@ -464,30 +465,35 @@ void ff_cavs_inter(AVSContext *h, enum cavs_mb mb_type) {
if(ff_cavs_partition_flags[mb_type] == 0){ // 16x16
mc_part_std(h, 8, 0, h->cy, h->cu, h->cv, 0, 0,
h->cdsp.put_cavs_qpel_pixels_tab[0],
- h->dsp.put_h264_chroma_pixels_tab[0],
+ h->h264chroma.put_h264_chroma_pixels_tab[0],
h->cdsp.avg_cavs_qpel_pixels_tab[0],
- h->dsp.avg_h264_chroma_pixels_tab[0],&h->mv[MV_FWD_X0]);
+ h->h264chroma.avg_h264_chroma_pixels_tab[0],
+ &h->mv[MV_FWD_X0]);
}else{
mc_part_std(h, 4, 0, h->cy, h->cu, h->cv, 0, 0,
h->cdsp.put_cavs_qpel_pixels_tab[1],
- h->dsp.put_h264_chroma_pixels_tab[1],
+ h->h264chroma.put_h264_chroma_pixels_tab[1],
h->cdsp.avg_cavs_qpel_pixels_tab[1],
- h->dsp.avg_h264_chroma_pixels_tab[1],&h->mv[MV_FWD_X0]);
+ h->h264chroma.avg_h264_chroma_pixels_tab[1],
+ &h->mv[MV_FWD_X0]);
mc_part_std(h, 4, 0, h->cy, h->cu, h->cv, 4, 0,
h->cdsp.put_cavs_qpel_pixels_tab[1],
- h->dsp.put_h264_chroma_pixels_tab[1],
+ h->h264chroma.put_h264_chroma_pixels_tab[1],
h->cdsp.avg_cavs_qpel_pixels_tab[1],
- h->dsp.avg_h264_chroma_pixels_tab[1],&h->mv[MV_FWD_X1]);
+ h->h264chroma.avg_h264_chroma_pixels_tab[1],
+ &h->mv[MV_FWD_X1]);
mc_part_std(h, 4, 0, h->cy, h->cu, h->cv, 0, 4,
h->cdsp.put_cavs_qpel_pixels_tab[1],
- h->dsp.put_h264_chroma_pixels_tab[1],
+ h->h264chroma.put_h264_chroma_pixels_tab[1],
h->cdsp.avg_cavs_qpel_pixels_tab[1],
- h->dsp.avg_h264_chroma_pixels_tab[1],&h->mv[MV_FWD_X2]);
+ h->h264chroma.avg_h264_chroma_pixels_tab[1],
+ &h->mv[MV_FWD_X2]);
mc_part_std(h, 4, 0, h->cy, h->cu, h->cv, 4, 4,
h->cdsp.put_cavs_qpel_pixels_tab[1],
- h->dsp.put_h264_chroma_pixels_tab[1],
+ h->h264chroma.put_h264_chroma_pixels_tab[1],
h->cdsp.avg_cavs_qpel_pixels_tab[1],
- h->dsp.avg_h264_chroma_pixels_tab[1],&h->mv[MV_FWD_X3]);
+ h->h264chroma.avg_h264_chroma_pixels_tab[1],
+ &h->mv[MV_FWD_X3]);
}
}
@@ -720,6 +726,7 @@ av_cold int ff_cavs_init(AVCodecContext *avctx) {
AVSContext *h = avctx->priv_data;
ff_dsputil_init(&h->dsp, avctx);
+ ff_h264chroma_init(&h->h264chroma, 8);
ff_videodsp_init(&h->vdsp, 8);
ff_cavsdsp_init(&h->cdsp, avctx);
ff_init_scantable_permutation(h->dsp.idct_permutation,