#include "avcodec.h"
#include "get_bits.h"
#include "idctdsp.h"
-#include "mpegvideo.h"
#include "msmpeg4data.h"
#include "intrax8huf.h"
#include "intrax8.h"
IntraX8Context *w, IDCTDSPContext *idsp,
int16_t (*block)[64],
int block_last_index[12],
- int mb_width, int mb_height,
- MpegEncContext *const s)
+ int mb_width, int mb_height)
{
int ret = x8_vlc_init();
if (ret < 0)
w->mb_height = mb_height;
w->block = block;
w->block_last_index = block_last_index;
- w->s = s;
// two rows, 2 blocks per cannon mb
w->prediction_table = av_mallocz(w->mb_width * 2 * 2);
int dquant, int quant_offset,
int loopfilter, int lowdelay)
{
- MpegEncContext *const s = w->s;
int mb_xy;
w->gb = gb;
#include "blockdsp.h"
#include "get_bits.h"
-#include "mpegvideo.h"
#include "idctdsp.h"
#include "intrax8dsp.h"
#include "wmv2dsp.h"
int *block_last_index; ///< last nonzero coefficient in block
int16_t (*block)[64];
- //set by the caller codec
- MpegEncContext * s;
+ // set by the caller codec
IntraX8DSPContext dsp;
IDCTDSPContext idsp;
BlockDSPContext bdsp;
/**
* Initialize IntraX8 frame decoder.
- * Requires valid MpegEncContext with valid s->mb_width before calling.
* @param avctx pointer to AVCodecContext
* @param w pointer to IntraX8Context
* @param idsp pointer to IDCTDSPContext
* @param block_last_index pointer to index array
* @param mb_width macroblock width
* @param mb_height macroblock height
- * @param s pointer to MpegEncContext of the parent codec
* @return 0 on success, a negative AVERROR value on error
*/
int ff_intrax8_common_init(AVCodecContext *avctx,
IntraX8Context *w, IDCTDSPContext *idsp,
int16_t (*block)[64],
int block_last_index[12],
- int mb_width, int mb_height,
- MpegEncContext *const s);
+ int mb_width, int mb_height);
/**
* Destroy IntraX8 frame structure.
/**
* Decode single IntraX8 frame.
- * The parent codec must call ff_mpv_frame_start() before calling this function.
- * The parent codec must call ff_mpv_frame_end() after calling this function.
- * This function does not use ff_mpv_decode_mb().
* lowres decoding is theoretically impossible.
* @param w pointer to IntraX8Context
* @param pict the output Picture containing an AVFrame
ret = ff_intrax8_common_init(s->avctx, &v->x8, &s->idsp,
s->block, s->block_last_index,
- s->mb_width, s->mb_height,
- s);
+ s->mb_width, s->mb_height);
if (ret < 0)
goto error;
return ff_intrax8_common_init(avctx, &w->x8, &w->s.idsp,
w->s.block, w->s.block_last_index,
- w->s.mb_width, w->s.mb_height, &w->s);
+ w->s.mb_width, w->s.mb_height);
}
static av_cold int wmv2_decode_end(AVCodecContext *avctx)