diff --git a/configure b/configure index cbf45a99ef..05c4bcc008 100755 --- a/configure +++ b/configure @@ -1740,7 +1740,7 @@ huffyuv_decoder_select="dsputil" huffyuv_encoder_select="huffman" iac_decoder_select="fft mdct sinewin" imc_decoder_select="dsputil fft mdct sinewin" -indeo3_decoder_select="dsputil" +indeo3_decoder_select="hpeldsp" interplayvideo_decoder_select="dsputil" jpegls_decoder_select="golomb" jpegls_encoder_select="golomb" diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c index fd302a76da..629bcab316 100644 --- a/libavcodec/indeo3.c +++ b/libavcodec/indeo3.c @@ -33,9 +33,9 @@ #include "libavutil/intreadwrite.h" #include "avcodec.h" #include "copy_block.h" -#include "dsputil.h" #include "bytestream.h" #include "get_bits.h" +#include "hpeldsp.h" #include "internal.h" #include "indeo3data.h" @@ -82,7 +82,7 @@ typedef struct Cell { typedef struct Indeo3DecodeContext { AVCodecContext *avctx; - DSPContext dsp; + HpelDSPContext hdsp; GetBitContext gb; int need_resync; @@ -248,12 +248,12 @@ static void copy_cell(Indeo3DecodeContext *ctx, Plane *plane, Cell *cell) /* copy using 16xH blocks */ if (!((cell->xpos << 2) & 15) && w >= 4) { for (; w >= 4; src += 16, dst += 16, w -= 4) - ctx->dsp.put_no_rnd_pixels_tab[0][0](dst, src, plane->pitch, h); + ctx->hdsp.put_no_rnd_pixels_tab[0][0](dst, src, plane->pitch, h); } /* copy using 8xH blocks */ if (!((cell->xpos << 2) & 7) && w >= 2) { - ctx->dsp.put_no_rnd_pixels_tab[1][0](dst, src, plane->pitch, h); + ctx->hdsp.put_no_rnd_pixels_tab[1][0](dst, src, plane->pitch, h); w -= 2; src += 8; dst += 8; @@ -1050,7 +1050,7 @@ static av_cold int decode_init(AVCodecContext *avctx) build_requant_tab(); - ff_dsputil_init(&ctx->dsp, avctx); + ff_hpeldsp_init(&ctx->hdsp, avctx->flags); return allocate_frame_buffers(ctx, avctx, avctx->width, avctx->height); }