summaryrefslogtreecommitdiff
path: root/libavcodec/indeo3.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2013-03-10 08:19:27 -0700
committerMartin Storsjö <martin@martin.st>2013-04-19 23:17:50 +0300
commit8f992dc8c7c50cddaf297eefa3955ce01857e5f2 (patch)
tree2d67c8058f2deeadb55242960fdc9b3a085c937a /libavcodec/indeo3.c
parentcb7ecb75635d124984fbdb5a8d08cc44f93662c4 (diff)
downloadffmpeg-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>
Diffstat (limited to 'libavcodec/indeo3.c')
-rw-r--r--libavcodec/indeo3.c16
1 files changed, 8 insertions, 8 deletions
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);