Commit 05dd5834 authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Michael Niedermayer

svq3: use hpeldsp instead of dsputil for half-pel functions.

parent 4ba5dbc0
...@@ -1806,7 +1806,7 @@ sonic_encoder_select="golomb" ...@@ -1806,7 +1806,7 @@ sonic_encoder_select="golomb"
sonic_ls_encoder_select="golomb" sonic_ls_encoder_select="golomb"
svq1_decoder_select="hpeldsp" svq1_decoder_select="hpeldsp"
svq1_encoder_select="aandcttables dsputil mpegvideoenc" svq1_encoder_select="aandcttables dsputil mpegvideoenc"
svq3_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo videodsp" svq3_decoder_select="dsputil error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo videodsp"
svq3_decoder_suggest="zlib" svq3_decoder_suggest="zlib"
tak_decoder_select="dsputil" tak_decoder_select="dsputil"
theora_decoder_select="vp3_decoder" theora_decoder_select="vp3_decoder"
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
#include "h264_mvpred.h" #include "h264_mvpred.h"
#include "golomb.h" #include "golomb.h"
#include "hpeldsp.h"
#include "rectangle.h" #include "rectangle.h"
#include "vdpau_internal.h" #include "vdpau_internal.h"
...@@ -65,6 +66,7 @@ ...@@ -65,6 +66,7 @@
typedef struct { typedef struct {
H264Context h; H264Context h;
HpelDSPContext hdsp;
Picture *cur_pic; Picture *cur_pic;
Picture *next_pic; Picture *next_pic;
Picture *last_pic; Picture *last_pic;
...@@ -316,8 +318,8 @@ static inline void svq3_mc_dir_part(SVQ3Context *s, ...@@ -316,8 +318,8 @@ static inline void svq3_mc_dir_part(SVQ3Context *s,
: h->dsp.put_tpel_pixels_tab)[dxy](dest, src, h->linesize, : h->dsp.put_tpel_pixels_tab)[dxy](dest, src, h->linesize,
width, height); width, height);
else else
(avg ? h->dsp.avg_pixels_tab (avg ? s->hdsp.avg_pixels_tab
: h->dsp.put_pixels_tab)[blocksize][dxy](dest, src, h->linesize, : s->hdsp.put_pixels_tab)[blocksize][dxy](dest, src, h->linesize,
height); height);
if (!(h->flags & CODEC_FLAG_GRAY)) { if (!(h->flags & CODEC_FLAG_GRAY)) {
...@@ -344,8 +346,8 @@ static inline void svq3_mc_dir_part(SVQ3Context *s, ...@@ -344,8 +346,8 @@ static inline void svq3_mc_dir_part(SVQ3Context *s,
h->uvlinesize, h->uvlinesize,
width, height); width, height);
else else
(avg ? h->dsp.avg_pixels_tab (avg ? s->hdsp.avg_pixels_tab
: h->dsp.put_pixels_tab)[blocksize][dxy](dest, src, : s->hdsp.put_pixels_tab)[blocksize][dxy](dest, src,
h->uvlinesize, h->uvlinesize,
height); height);
} }
...@@ -869,6 +871,7 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx) ...@@ -869,6 +871,7 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx)
if (ff_h264_decode_init(avctx) < 0) if (ff_h264_decode_init(avctx) < 0)
return -1; return -1;
ff_hpeldsp_init(&s->hdsp, avctx->flags);
h->flags = avctx->flags; h->flags = avctx->flags;
h->is_complex = 1; h->is_complex = 1;
h->sps.chroma_format_idc = 1; h->sps.chroma_format_idc = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment