#ifndef AVCODEC_CAVS_H
#define AVCODEC_CAVS_H
+#include "bitstream.h"
#include "cavsdsp.h"
-#include "dsputil.h"
-#include "get_bits.h"
+#include "blockdsp.h"
+#include "h264chroma.h"
+#include "idctdsp.h"
#include "videodsp.h"
#define SLICE_MAX_START_CODE 0x000001af
typedef struct AVSContext {
AVCodecContext *avctx;
- DSPContext dsp;
+ BlockDSPContext bdsp;
+ H264ChromaContext h264chroma;
+ IDCTDSPContext idsp;
VideoDSPContext vdsp;
CAVSDSPContext cdsp;
- GetBitContext gb;
+ BitstreamContext bc;
AVSFrame cur; ///< currently decoded frame
AVSFrame DPB[2]; ///< reference frames
int dist[2]; ///< temporal distances from current frame to ref frames
6: A3 X2 X3 */
int pred_mode_Y[3*3];
int *top_pred_Y;
- int l_stride, c_stride;
+ ptrdiff_t l_stride, c_stride;
int luma_scan[4];
int qp;
int qp_fixed;
uint8_t intern_border_y[26];
uint8_t topleft_border_y, topleft_border_u, topleft_border_v;
- void (*intra_pred_l[8])(uint8_t *d,uint8_t *top,uint8_t *left,int stride);
- void (*intra_pred_c[7])(uint8_t *d,uint8_t *top,uint8_t *left,int stride);
+ void (*intra_pred_l[8])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride);
+ void (*intra_pred_c[7])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride);
uint8_t *col_type_base;
/* scaling factors for MV prediction */
uint8_t *edge_emu_buffer;
int got_keyframe;
- DCTELEM *block;
+ int16_t *block;
} AVSContext;
extern const uint8_t ff_cavs_partition_flags[30];