diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-26 15:24:42 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-27 17:21:40 +0200 |
commit | e3fac208246f5f94cfc4d3abdb1a4770272f96ee (patch) | |
tree | 7ea4bf78c9367681d3796cca088a2bd495d58daa | |
parent | 932ff7095696a90fda83a8c6343b57f475b40951 (diff) | |
download | ffmpeg-e3fac208246f5f94cfc4d3abdb1a4770272f96ee.tar.gz |
avfilter/vf_spp: use AVDCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/vf_spp.c | 13 | ||||
-rw-r--r-- | libavfilter/vf_spp.h | 6 |
2 files changed, 9 insertions, 10 deletions
diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c index bb85778647..3ce77cf6cc 100644 --- a/libavfilter/vf_spp.c +++ b/libavfilter/vf_spp.c @@ -232,9 +232,9 @@ static void filter(SPPContext *p, uint8_t *dst, uint8_t *src, const int y1 = y + offset[i + count - 1][1]; const int index = x1 + y1*linesize; p->pdsp.get_pixels(block, p->src + index, linesize); - p->fdsp.fdct(block); - p->requantize(block2, block, qp, p->idsp.idct_permutation); - p->idsp.idct(block2); + p->dct->fdct(block); + p->requantize(block2, block, qp, p->dct->idct_permutation); + p->dct->idct(block2); add_block(p->temp + index, linesize, block2); } } @@ -377,11 +377,11 @@ static av_cold int init(AVFilterContext *ctx) SPPContext *spp = ctx->priv; spp->avctx = avcodec_alloc_context3(NULL); - if (!spp->avctx) + spp->dct = avcodec_dct_alloc(); + if (!spp->avctx || !spp->dct) return AVERROR(ENOMEM); - ff_idctdsp_init(&spp->idsp, spp->avctx); - ff_fdctdsp_init(&spp->fdsp, spp->avctx); ff_pixblockdsp_init(&spp->pdsp, spp->avctx); + avcodec_dct_init(spp->dct); spp->store_slice = store_slice_c; switch (spp->mode) { case MODE_HARD: spp->requantize = hardthresh_c; break; @@ -402,6 +402,7 @@ static av_cold void uninit(AVFilterContext *ctx) avcodec_close(spp->avctx); av_freep(&spp->avctx); } + av_freep(&spp->dct); av_freep(&spp->non_b_qp_table); } diff --git a/libavfilter/vf_spp.h b/libavfilter/vf_spp.h index c8eac3caf2..2dcf813ed3 100644 --- a/libavfilter/vf_spp.h +++ b/libavfilter/vf_spp.h @@ -24,8 +24,7 @@ #include "libavcodec/avcodec.h" #include "libavcodec/pixblockdsp.h" -#include "libavcodec/idctdsp.h" -#include "libavcodec/fdctdsp.h" +#include "libavcodec/avdct.h" #include "avfilter.h" #define MAX_LEVEL 6 /* quality levels */ @@ -41,9 +40,8 @@ typedef struct { uint8_t *src; int16_t *temp; AVCodecContext *avctx; - IDCTDSPContext idsp; - FDCTDSPContext fdsp; PixblockDSPContext pdsp; + AVDCT *dct; int8_t *non_b_qp_table; int non_b_qp_alloc_size; int use_bframe_qp; |