#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/timestamp.h"
-#include "libavcodec/dsputil.h"
+#include "libavcodec/me_cmp.h"
+#include "libavcodec/pixblockdsp.h"
#include "avfilter.h"
#include "internal.h"
#include "formats.h"
int hsub, vsub; ///< chroma subsampling values
AVFrame *ref; ///< reference picture
- DSPContext dspctx; ///< context providing optimized diff routines
+ MECmpContext mecc; ///< context providing optimized diff routines
+ PixblockDSPContext pdsp;
AVCodecContext *avctx; ///< codec context required for the DSPContext
} DecimateContext;
int w, int h)
{
DecimateContext *decimate = ctx->priv;
- DSPContext *dspctx = &decimate->dspctx;
+ MECmpContext *mecc = &decimate->mecc;
+ PixblockDSPContext *pdsp = &decimate->pdsp;
int x, y;
int d, c = 0;
/* compute difference for blocks of 8x8 bytes */
for (y = 0; y < h-7; y += 4) {
for (x = 8; x < w-7; x += 4) {
- dspctx->diff_pixels(block,
+ pdsp->diff_pixels(block,
cur+x+y*linesize,
ref+x+y*linesize, linesize);
- d = dspctx->sum_abs_dctelem(block);
+ d = mecc->sum_abs_dctelem(block);
if (d > decimate->hi)
return 1;
if (d > decimate->lo) {
decimate->avctx = avcodec_alloc_context3(NULL);
if (!decimate->avctx)
return AVERROR(ENOMEM);
- avpriv_dsputil_init(&decimate->dspctx, decimate->avctx);
+ ff_me_cmp_init(&decimate->mecc, decimate->avctx);
+ ff_pixblockdsp_init(&decimate->pdsp, decimate->avctx);
return 0;
}