#ifndef __INC_BLOCK_H
#define __INC_BLOCK_H
-#include "onyx.h"
-#include "blockd.h"
-#include "entropymv.h"
-#include "entropy.h"
+#include "vp8/common/onyx.h"
+#include "vp8/common/blockd.h"
+#include "vp8/common/entropymv.h"
+#include "vp8/common/entropy.h"
#include "vpx_ports/mem.h"
// motion search site
short *coeff;
// 16 Y blocks, 4 U blocks, 4 V blocks each with 16 entries
- short(*quant)[4];
- short(*quant_shift)[4];
- short(*zbin)[4];
- short(*zrun_zbin_boost);
- short(*round)[4];
+ short *quant;
+ short *quant_fast;
+ unsigned char *quant_shift;
+ short *zbin;
+ short *zrun_zbin_boost;
+ short *round;
// Zbin Over Quant value
short zbin_extra;
typedef struct
{
int count;
- B_MODE_INFO bmi[16];
+ struct
+ {
+ B_PREDICTION_MODE mode;
+ int_mv mv;
+ } bmi[16];
} PARTITION_INFO;
typedef struct
{
DECLARE_ALIGNED(16, short, src_diff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
DECLARE_ALIGNED(16, short, coeff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
+ DECLARE_ALIGNED(16, unsigned char, thismb[256]);
+ unsigned char *thismb_ptr;
// 16 Y blocks, 4 U blocks, 4 V blocks, 1 DC 2nd order block each with 16 entries
BLOCK block[25];
int errorperbit;
int sadperbit16;
int sadperbit4;
- int errthresh;
int rddiv;
int rdmult;
+ unsigned int * mb_activity_ptr;
+ int * mb_norm_activity_ptr;
+ signed int act_zbin_adj;
int mvcosts[2][MVvals+1];
int *mvcost[2];
- int mvsadcosts[2][MVvals+1];
+ int mvsadcosts[2][MVfpvals+1];
int *mvsadcost[2];
int mbmode_cost[2][MB_MODE_COUNT];
int intra_uv_mode_cost[2][MB_MODE_COUNT];
unsigned char *active_ptr;
MV_CONTEXT *mvc;
- unsigned int token_costs[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [vp8_coef_tokens];
+ unsigned int token_costs[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS];
int optimize;
+ int q_index;
void (*vp8_short_fdct4x4)(short *input, short *output, int pitch);
void (*vp8_short_fdct8x4)(short *input, short *output, int pitch);
void (*short_walsh4x4)(short *input, short *output, int pitch);
void (*quantize_b)(BLOCK *b, BLOCKD *d);
+ void (*quantize_b_pair)(BLOCK *b1, BLOCK *b2, BLOCKD *d0, BLOCKD *d1);
} MACROBLOCK;