1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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

This commit is contained in:
Ronald S. Bultje 2013-03-10 14:23:52 -07:00 committed by Michael Niedermayer
parent b42d594c85
commit e0a8f31591
3 changed files with 5 additions and 1 deletions

1
configure vendored
View File

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

View File

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

View File

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