[06/27] indeo3: Use hpeldsp instead of dsputil for half-pel functions

Message ID 1365583975-73297-6-git-send-email-martin@martin.st
State Committed
Commit 8f992dc8c7c50cddaf297eefa3955ce01857e5f2
Headers show

Commit Message

Martin Storsjö April 10, 2013, 8:52 a.m.
From: "Ronald S. Bultje" <rsbultje@gmail.com>

This makes indeo3 independent of dsputil.
---
 configure           |    2 +-
 libavcodec/indeo3.c |   16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

Comments

Kostya Shishkov April 10, 2013, 9:13 a.m. | #1
On Wed, Apr 10, 2013 at 11:52:34AM +0300, Martin Storsjö wrote:
> From: "Ronald S. Bultje" <rsbultje@gmail.com>
> 
> This makes indeo3 independent of dsputil.

Indeo 3 decoder

> ---
>  configure           |    2 +-
>  libavcodec/indeo3.c |   16 ++++++++--------
>  2 files changed, 9 insertions(+), 9 deletions(-)

LGTM

Patch

diff --git a/configure b/configure
index a2280ec..68c5e92 100755
--- a/configure
+++ b/configure
@@ -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 0c0db79..4c1f0d3 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;
@@ -241,19 +241,19 @@  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;
         }
 
         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;
@@ -323,7 +323,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);\
@@ -335,7 +335,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);\
@@ -1019,7 +1019,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);