dsputil: Split clear_block*/fill_block* off into a separate context

This commit is contained in:
Diego Biurrun 2014-01-14 10:33:47 +01:00
parent 869fc416f7
commit e74433a8e6
53 changed files with 677 additions and 361 deletions

View file

@ -30,6 +30,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bytestream.h"
#include "dsputil.h"
#include "get_bits.h"
@ -132,6 +133,7 @@ typedef struct CFrameBuffer {
typedef struct FourXContext {
AVCodecContext *avctx;
DSPContext dsp;
BlockDSPContext bdsp;
uint16_t *frame_buffer;
uint16_t *last_frame_buffer;
GetBitContext pre_gb; ///< ac/dc prefix
@ -564,7 +566,7 @@ static int decode_i_mb(FourXContext *f)
int ret;
int i;
f->dsp.clear_blocks(f->block[0]);
f->bdsp.clear_blocks(f->block[0]);
for (i = 0; i < 6; i++)
if ((ret = decode_i_block(f, f->block[i])) < 0)
@ -953,6 +955,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
}
f->version = AV_RL32(avctx->extradata) >> 16;
ff_blockdsp_init(&f->bdsp, avctx);
ff_dsputil_init(&f->dsp, avctx);
f->avctx = avctx;
init_vlcs(f);