summaryrefslogtreecommitdiff
path: root/libavcodec/vp56.h
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2007-09-24 22:29:11 +0000
committerAurelien Jacobs <aurel@gnuage.org>2007-09-24 22:29:11 +0000
commit247df384ece0d0fadc02a7a51abfa88baa3c4b29 (patch)
treec9655fafc0a01b866217b277268b1dbc745a631b /libavcodec/vp56.h
parent1218a7e33d347138177363fa55da2ad830f6981c (diff)
move all model related tables into their own struct
Originally committed as revision 10571 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vp56.h')
-rw-r--r--libavcodec/vp56.h35
1 files changed, 20 insertions, 15 deletions
diff --git a/libavcodec/vp56.h b/libavcodec/vp56.h
index ee47b345ad..adae42b35f 100644
--- a/libavcodec/vp56.h
+++ b/libavcodec/vp56.h
@@ -69,6 +69,23 @@ typedef struct {
vp56_mv_t mv;
} vp56_macroblock_t;
+typedef struct {
+ uint8_t coeff_reorder[64]; /* used in vp6 only */
+ uint8_t coeff_index_to_pos[64]; /* used in vp6 only */
+ uint8_t vector_sig[2]; /* delta sign */
+ uint8_t vector_dct[2]; /* delta coding types */
+ uint8_t vector_pdi[2][2]; /* predefined delta init */
+ uint8_t vector_pdv[2][7]; /* predefined delta values */
+ uint8_t vector_fdv[2][8]; /* 8 bit delta value definition */
+ uint8_t coeff_dccv[2][11]; /* DC coeff value */
+ uint8_t coeff_ract[2][3][6][11]; /* Run/AC coding type and AC coeff value */
+ uint8_t coeff_acct[2][3][3][6][5];/* vp5 only AC coding type for coding group < 3 */
+ uint8_t coeff_dcct[2][36][5]; /* DC coeff coding type */
+ uint8_t coeff_runv[2][14]; /* run value (vp6 only) */
+ uint8_t mb_type[3][10][10]; /* model for decoding MB type */
+ uint8_t mb_types_stats[3][10][2];/* contextual, next MB type stats */
+} vp56_model_t;
+
struct vp56_context {
AVCodecContext *avctx;
DSPContext dsp;
@@ -103,8 +120,6 @@ struct vp56_context {
vp56_mb_t mb_type;
vp56_macroblock_t *macroblocks;
DECLARE_ALIGNED_16(DCTELEM, block_coeff[6][64]);
- uint8_t coeff_reorder[64]; /* used in vp6 only */
- uint8_t coeff_index_to_pos[64]; /* used in vp6 only */
/* motion vectors */
vp56_mv_t mv[6]; /* vectors for each block in MB */
@@ -119,19 +134,6 @@ struct vp56_context {
int max_vector_length;
int sample_variance_threshold;
- /* AC models */
- uint8_t vector_model_sig[2]; /* delta sign */
- uint8_t vector_model_dct[2]; /* delta coding types */
- uint8_t vector_model_pdi[2][2]; /* predefined delta init */
- uint8_t vector_model_pdv[2][7]; /* predefined delta values */
- uint8_t vector_model_fdv[2][8]; /* 8 bit delta value definition */
- uint8_t mb_type_model[3][10][10]; /* model for decoding MB type */
- uint8_t coeff_model_dccv[2][11]; /* DC coeff value */
- uint8_t coeff_model_ract[2][3][6][11]; /* Run/AC coding type and AC coeff value */
- uint8_t coeff_model_acct[2][3][3][6][5];/* vp5 only AC coding type for coding group < 3 */
- uint8_t coeff_model_dcct[2][36][5]; /* DC coeff coding type */
- uint8_t coeff_model_runv[2][14]; /* run value (vp6 only) */
- uint8_t mb_types_stats[3][10][2]; /* contextual, next MB type stats */
uint8_t coeff_ctx[4][64]; /* used in vp5 only */
uint8_t coeff_ctx_last[4]; /* used in vp5 only */
@@ -150,6 +152,9 @@ struct vp56_context {
vp56_parse_vector_models_t parse_vector_models;
vp56_parse_coeff_models_t parse_coeff_models;
vp56_parse_header_t parse_header;
+
+ vp56_model_t *modelp;
+ vp56_model_t models;
};