From: Mans Rullgard Date: Wed, 27 Jul 2011 14:47:02 +0000 (+0100) Subject: dsputil: move a bink-only function to binkdsp X-Git-Tag: v0.8b1~1904 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b3539d4534f9877b463fb8b7fa56b7d20dd1338;p=platform%2Fupstream%2Flibav.git dsputil: move a bink-only function to binkdsp Signed-off-by: Mans Rullgard --- diff --git a/libavcodec/bink.c b/libavcodec/bink.c index 8e989d9..8f42ff8 100644 --- a/libavcodec/bink.c +++ b/libavcodec/bink.c @@ -1050,7 +1050,7 @@ static int bink_decode_plane(BinkContext *c, GetBitContext *gb, int plane_idx, return -1; } if (blk != FILL_BLOCK) - c->dsp.scale_block(ublock, dst, stride); + c->bdsp.scale_block(ublock, dst, stride); bx++; dst += 8; prev += 8; diff --git a/libavcodec/binkdsp.c b/libavcodec/binkdsp.c index 109906f..1f7855b 100644 --- a/libavcodec/binkdsp.c +++ b/libavcodec/binkdsp.c @@ -112,8 +112,25 @@ static void bink_idct_put_c(uint8_t *dest, int linesize, int32_t *block) } } +static void scale_block_c(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize) +{ + int i, j; + uint16_t *dst1 = (uint16_t *) dst; + uint16_t *dst2 = (uint16_t *)(dst + linesize); + + for (j = 0; j < 8; j++) { + for (i = 0; i < 8; i++) { + dst1[i] = dst2[i] = src[i] * 0x0101; + } + src += 8; + dst1 += linesize; + dst2 += linesize; + } +} + void ff_binkdsp_init(BinkDSPContext *c) { c->idct_add = bink_idct_add_c; c->idct_put = bink_idct_put_c; + c->scale_block = scale_block_c; } diff --git a/libavcodec/binkdsp.h b/libavcodec/binkdsp.h index 8253ab3..d105f71 100644 --- a/libavcodec/binkdsp.h +++ b/libavcodec/binkdsp.h @@ -32,6 +32,7 @@ typedef struct BinkDSPContext { void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/); void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/); + void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize); } BinkDSPContext; void ff_binkdsp_init(BinkDSPContext *c); diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index e1be534..d318601 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -486,22 +486,6 @@ static void fill_block8_c(uint8_t *block, uint8_t value, int line_size, int h) } } -static void scale_block_c(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize) -{ - int i, j; - uint16_t *dst1 = (uint16_t *) dst; - uint16_t *dst2 = (uint16_t *)(dst + linesize); - - for (j = 0; j < 8; j++) { - for (i = 0; i < 8; i++) { - dst1[i] = dst2[i] = src[i] * 0x0101; - } - src += 8; - dst1 += linesize; - dst2 += linesize; - } -} - #define avg2(a,b) ((a+b+1)>>1) #define avg4(a,b,c,d) ((a+b+c+d+2)>>2) @@ -2850,7 +2834,6 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx) c->fill_block_tab[0] = fill_block16_c; c->fill_block_tab[1] = fill_block8_c; - c->scale_block = scale_block_c; /* TODO [0] 16 [1] 8 */ c->pix_abs[0][0] = pix_abs16_c; diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index b6f0607..93fbe9c 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -559,7 +559,6 @@ typedef struct DSPContext { /* bink functions */ op_fill_func fill_block_tab[2]; - void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize); } DSPContext; void dsputil_static_init(void);