mjpeg: use hpeldsp instead of dsputil for half-pel functions.

pull/12/merge
Ronald S. Bultje 12 years ago committed by Michael Niedermayer
parent b42d594c85
commit e0a8f31591
  1. 1
      configure
  2. 3
      libavcodec/mjpegdec.c
  3. 2
      libavcodec/mjpegdec.h

1
configure vendored

@ -1750,6 +1750,7 @@ ljpeg_encoder_select="aandcttables mpegvideoenc"
loco_decoder_select="golomb"
mdec_decoder_select="dsputil error_resilience mpegvideo"
mimic_decoder_select="dsputil hpeldsp"
mjpeg_decoder_select="dsputil hpeldsp"
mjpeg_encoder_select="aandcttables dsputil mpegvideoenc"
mlp_decoder_select="dsputil mlp_parser"
motionpixels_decoder_select="dsputil"

@ -89,6 +89,7 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
avcodec_get_frame_defaults(&s->picture);
s->avctx = avctx;
ff_hpeldsp_init(&s->hdsp, avctx->flags);
ff_dsputil_init(&s->dsp, avctx);
ff_init_scantable(s->dsp.idct_permutation, &s->scantable, ff_zigzag_direct);
s->buffer_size = 0;
@ -992,7 +993,7 @@ static av_always_inline void mjpeg_copy_block(MJpegDecodeContext *s,
int linesize, int lowres)
{
switch (lowres) {
case 0: s->dsp.put_pixels_tab[1][0](dst, src, linesize, 8);
case 0: s->hdsp.put_pixels_tab[1][0](dst, src, linesize, 8);
break;
case 1: copy_block4(dst, src, linesize, linesize, 4);
break;

@ -34,6 +34,7 @@
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "hpeldsp.h"
#define MAX_COMPONENTS 4
@ -97,6 +98,7 @@ typedef struct MJpegDecodeContext {
uint64_t coefs_finished[MAX_COMPONENTS]; ///< bitmask of which coefs have been completely decoded (progressive mode)
ScanTable scantable;
DSPContext dsp;
HpelDSPContext hdsp;
int restart_interval;
int restart_count;

Loading…
Cancel
Save