#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "avcodec.h"
+#include "blockdsp.h"
+#include "idctdsp.h"
#include "internal.h"
#include "mjpeg.h"
#include "mjpegdec.h"
}
s->avctx = avctx;
+ ff_blockdsp_init(&s->bdsp, 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);
+ ff_idctdsp_init(&s->idsp, avctx);
+ ff_init_scantable(s->idsp.idct_permutation, &s->scantable,
+ ff_zigzag_direct);
s->buffer_size = 0;
s->buffer = NULL;
s->start_code = -1;
s->first_picture = 1;
s->org_height = avctx->coded_height;
avctx->chroma_sample_location = AVCHROMA_LOC_CENTER;
+ avctx->colorspace = AVCOL_SPC_BT470BG;
build_basic_mjpeg_vlc(s);
int16_t *quant_matrix, int Al)
{
int val;
- s->dsp.clear_block(block);
+ s->bdsp.clear_block(block);
val = mjpeg_decode_dc(s, dc_index);
if (val == 0xffff) {
av_log(s->avctx, AV_LOG_ERROR, "error dc\n");
reference_data[c] + block_offset,
linesize[c], 8);
else {
- s->dsp.clear_block(s->block);
+ s->bdsp.clear_block(s->block);
if (decode_block(s, s->block, i,
s->dc_index[i], s->ac_index[i],
s->quant_matrixes[s->quant_index[c]]) < 0) {
"error y=%d x=%d\n", mb_y, mb_x);
return AVERROR_INVALIDDATA;
}
- s->dsp.idct_put(ptr, linesize[c], s->block);
+ s->idsp.idct_put(ptr, linesize[c], s->block);
}
} else {
int block_idx = s->block_stride[c] * (v * mb_y + y) +
reference_data + block_offset,
linesize, 8);
} else {
- s->dsp.idct_put(ptr, linesize, *block);
+ s->idsp.idct_put(ptr, linesize, *block);
ptr += 8;
}
}
s->avctx->sample_aspect_ratio.num = get_bits(&s->gb, 16);
s->avctx->sample_aspect_ratio.den = get_bits(&s->gb, 16);
+ ff_set_sar(s->avctx, s->avctx->sample_aspect_ratio);
if (s->avctx->debug & FF_DEBUG_PICT_INFO)
av_log(s->avctx, AV_LOG_INFO,