diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2013-03-10 08:19:27 -0700 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-04-19 23:17:50 +0300 |
commit | 8f992dc8c7c50cddaf297eefa3955ce01857e5f2 (patch) | |
tree | 2d67c8058f2deeadb55242960fdc9b3a085c937a | |
parent | cb7ecb75635d124984fbdb5a8d08cc44f93662c4 (diff) | |
download | ffmpeg-8f992dc8c7c50cddaf297eefa3955ce01857e5f2.tar.gz |
indeo3: Use hpeldsp instead of dsputil for half-pel functions
This makes the Indeo 3 decoder independent of dsputil.
Signed-off-by: Martin Storsjö <martin@martin.st>
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | libavcodec/indeo3.c | 16 |
2 files changed, 9 insertions, 9 deletions
@@ -1578,7 +1578,7 @@ huffyuv_decoder_select="dsputil" huffyuv_encoder_select="dsputil huffman" iac_decoder_select="dsputil fft mdct sinewin" imc_decoder_select="dsputil fft mdct sinewin" -indeo3_decoder_select="dsputil" +indeo3_decoder_select="hpeldsp" interplay_video_decoder_select="dsputil" jpegls_decoder_select="dsputil golomb" jpegls_encoder_select="golomb" diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c index 102b31e06a..2e1bb494a7 100644 --- a/libavcodec/indeo3.c +++ b/libavcodec/indeo3.c @@ -32,9 +32,9 @@ #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" -#include "dsputil.h" #include "bytestream.h" #include "get_bits.h" +#include "hpeldsp.h" #include "internal.h" #include "indeo3data.h" @@ -81,7 +81,7 @@ typedef struct Cell { typedef struct Indeo3DecodeContext { AVCodecContext *avctx; - DSPContext dsp; + HpelDSPContext hdsp; GetBitContext gb; int need_resync; @@ -251,19 +251,19 @@ static int 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; } if (w >= 1) { - ctx->dsp.put_no_rnd_pixels_tab[2][0](dst, src, plane->pitch, h); + ctx->hdsp.put_no_rnd_pixels_tab[2][0](dst, src, plane->pitch, h); w--; src += 4; dst += 4; @@ -335,7 +335,7 @@ if (*data_ptr >= last_ptr) \ #define RLE_BLOCK_COPY \ if (cell->mv_ptr || !skip_flag) \ - ctx->dsp.put_pixels_tab[2][0](dst, ref, row_offset, 4 << v_zoom) + ctx->hdsp.put_pixels_tab[2][0](dst, ref, row_offset, 4 << v_zoom) #define RLE_BLOCK_COPY_8 \ pix64 = AV_RN64A(ref);\ @@ -347,7 +347,7 @@ if (*data_ptr >= last_ptr) \ fill_64(dst, pix64, 8, row_offset) #define RLE_LINES_COPY \ - ctx->dsp.put_pixels_tab[2][0](dst, ref, row_offset, num_lines << v_zoom) + ctx->hdsp.put_pixels_tab[2][0](dst, ref, row_offset, num_lines << v_zoom) #define RLE_LINES_COPY_M10 \ pix64 = AV_RN64A(ref);\ @@ -1047,7 +1047,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); allocate_frame_buffers(ctx, avctx); |