diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-10 00:56:05 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-10 01:22:14 +0200 |
commit | 2d5e9451de3c7ab00cac6ec4aff290e12a2f190d (patch) | |
tree | 9934a09e3ad1f63796274ee59f216df19cd9ca02 /libavcodec/dnxhdenc.c | |
parent | 6cc1fec41263add956b35af96d7c4a81c9436a65 (diff) | |
parent | f46bb608d9d76c543e4929dc8cffe36b84bd789e (diff) | |
download | ffmpeg-2d5e9451de3c7ab00cac6ec4aff290e12a2f190d.tar.gz |
Merge commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e'
* commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e':
dsputil: Split off pixel block routines into their own context
Conflicts:
configure
libavcodec/dsputil.c
libavcodec/mpegvideo_enc.c
libavcodec/pixblockdsp_template.c
libavcodec/x86/dsputilenc.asm
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dnxhdenc.c')
-rw-r--r-- | libavcodec/dnxhdenc.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index f6f9af833a..3ad625352a 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -30,10 +30,10 @@ #include "avcodec.h" #include "blockdsp.h" -#include "dsputil.h" #include "fdctdsp.h" #include "internal.h" #include "mpegvideo.h" +#include "pixblockdsp.h" #include "dnxhdenc.h" @@ -326,6 +326,7 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx) ff_fdctdsp_init(&ctx->m.fdsp, avctx); ff_idctdsp_init(&ctx->m.idsp, avctx); ff_mpegvideoencdsp_init(&ctx->m.mpvencdsp, avctx); + ff_pixblockdsp_init(&ctx->m.pdsp, avctx); ff_dct_common_init(&ctx->m); ff_dct_encode_init(&ctx->m); @@ -561,12 +562,12 @@ void dnxhd_get_blocks(DNXHDEncContext *ctx, int mb_x, int mb_y) ((mb_y << 4) * ctx->m.uvlinesize) + (mb_x << bs); const uint8_t *ptr_v = ctx->thread[0]->src[2] + ((mb_y << 4) * ctx->m.uvlinesize) + (mb_x << bs); - DSPContext *dsp = &ctx->m.dsp; + PixblockDSPContext *pdsp = &ctx->m.pdsp; - dsp->get_pixels(ctx->blocks[0], ptr_y, ctx->m.linesize); - dsp->get_pixels(ctx->blocks[1], ptr_y + bw, ctx->m.linesize); - dsp->get_pixels(ctx->blocks[2], ptr_u, ctx->m.uvlinesize); - dsp->get_pixels(ctx->blocks[3], ptr_v, ctx->m.uvlinesize); + pdsp->get_pixels(ctx->blocks[0], ptr_y, ctx->m.linesize); + pdsp->get_pixels(ctx->blocks[1], ptr_y + bw, ctx->m.linesize); + pdsp->get_pixels(ctx->blocks[2], ptr_u, ctx->m.uvlinesize); + pdsp->get_pixels(ctx->blocks[3], ptr_v, ctx->m.uvlinesize); if (mb_y + 1 == ctx->m.mb_height && ctx->m.avctx->height == 1080) { if (ctx->interlaced) { @@ -589,14 +590,14 @@ void dnxhd_get_blocks(DNXHDEncContext *ctx, int mb_x, int mb_y) ctx->bdsp.clear_block(ctx->blocks[7]); } } else { - dsp->get_pixels(ctx->blocks[4], - ptr_y + ctx->dct_y_offset, ctx->m.linesize); - dsp->get_pixels(ctx->blocks[5], - ptr_y + ctx->dct_y_offset + bw, ctx->m.linesize); - dsp->get_pixels(ctx->blocks[6], - ptr_u + ctx->dct_uv_offset, ctx->m.uvlinesize); - dsp->get_pixels(ctx->blocks[7], - ptr_v + ctx->dct_uv_offset, ctx->m.uvlinesize); + pdsp->get_pixels(ctx->blocks[4], + ptr_y + ctx->dct_y_offset, ctx->m.linesize); + pdsp->get_pixels(ctx->blocks[5], + ptr_y + ctx->dct_y_offset + bw, ctx->m.linesize); + pdsp->get_pixels(ctx->blocks[6], + ptr_u + ctx->dct_uv_offset, ctx->m.uvlinesize); + pdsp->get_pixels(ctx->blocks[7], + ptr_v + ctx->dct_uv_offset, ctx->m.uvlinesize); } } |