diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-01 14:38:57 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-01 15:22:11 +0200 |
commit | 581b5f0b9b93969712e73e0ae6324bbd03e85d4e (patch) | |
tree | d1319dc7744ac67e6ebd3379f11ff6e4a8178dc1 /libavcodec/aic.c | |
parent | 909f53f2b285bc7dbe77d4690a03f3d114417297 (diff) | |
parent | e3fcb14347466095839c2a3c47ebecff02da891e (diff) | |
download | ffmpeg-581b5f0b9b93969712e73e0ae6324bbd03e85d4e.tar.gz |
Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
dsputil: Split off IDCT bits into their own context
Conflicts:
configure
libavcodec/aic.c
libavcodec/arm/Makefile
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
libavcodec/asvdec.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.c
libavcodec/dvdec.c
libavcodec/dxva2_mpeg2.c
libavcodec/intrax8.c
libavcodec/mdec.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc_common.h
libavcodec/mpegvideo.c
libavcodec/ppc/dsputil_altivec.h
libavcodec/ppc/dsputil_ppc.c
libavcodec/ppc/idctdsp.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aic.c')
-rw-r--r-- | libavcodec/aic.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/libavcodec/aic.c b/libavcodec/aic.c index 23bfa0b3e6..00be08bf22 100644 --- a/libavcodec/aic.c +++ b/libavcodec/aic.c @@ -24,10 +24,10 @@ #include "avcodec.h" #include "bytestream.h" -#include "dsputil.h" #include "internal.h" #include "get_bits.h" #include "golomb.h" +#include "idctdsp.h" #include "unary.h" #define AIC_HDR_SIZE 24 @@ -139,7 +139,7 @@ static const uint8_t *aic_scan[NUM_BANDS] = { typedef struct AICContext { AVCodecContext *avctx; AVFrame *frame; - DSPContext dsp; + IDCTDSPContext idsp; ScanTable scantable; int num_x_slices; @@ -338,16 +338,15 @@ static int aic_decode_slice(AICContext *ctx, int mb_x, int mb_y, recombine_block_il(ctx->block, ctx->scantable.permutated, &base_y, &ext_y, blk); unquant_block(ctx->block, ctx->quant, ctx->quant_matrix); - ctx->dsp.idct(ctx->block); + ctx->idsp.idct(ctx->block); if (!ctx->interlaced) { dst = Y + (blk >> 1) * 8 * ystride + (blk & 1) * 8; - ctx->dsp.put_signed_pixels_clamped(ctx->block, dst, - ystride); + ctx->idsp.put_signed_pixels_clamped(ctx->block, dst, ystride); } else { dst = Y + (blk & 1) * 8 + (blk >> 1) * ystride; - ctx->dsp.put_signed_pixels_clamped(ctx->block, dst, - ystride * 2); + ctx->idsp.put_signed_pixels_clamped(ctx->block, dst, + ystride * 2); } } Y += 16; @@ -356,9 +355,9 @@ static int aic_decode_slice(AICContext *ctx, int mb_x, int mb_y, recombine_block(ctx->block, ctx->scantable.permutated, &base_c, &ext_c); unquant_block(ctx->block, ctx->quant, ctx->quant_matrix); - ctx->dsp.idct(ctx->block); - ctx->dsp.put_signed_pixels_clamped(ctx->block, C[blk], - ctx->frame->linesize[blk + 1]); + ctx->idsp.idct(ctx->block); + ctx->idsp.put_signed_pixels_clamped(ctx->block, C[blk], + ctx->frame->linesize[blk + 1]); C[blk] += 8; } } @@ -428,13 +427,13 @@ static av_cold int aic_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_YUV420P; - ff_dsputil_init(&ctx->dsp, avctx); + ff_idctdsp_init(&ctx->idsp, avctx); for (i = 0; i < 64; i++) scan[i] = i; - ff_init_scantable(ctx->dsp.idct_permutation, &ctx->scantable, scan); + ff_init_scantable(ctx->idsp.idct_permutation, &ctx->scantable, scan); for (i = 0; i < 64; i++) - ctx->quant_matrix[ctx->dsp.idct_permutation[i]] = aic_quant_matrix[i]; + ctx->quant_matrix[ctx->idsp.idct_permutation[i]] = aic_quant_matrix[i]; ctx->mb_width = FFALIGN(avctx->width, 16) >> 4; ctx->mb_height = FFALIGN(avctx->height, 16) >> 4; |