};
uint8_t ff_h264_mlps_state[4*64];
-uint8_t ff_h264_lps_range[4][2*64];
+uint8_t ff_h264_lps_range[4*2*64];
uint8_t ff_h264_lps_state[2*64];
uint8_t ff_h264_mps_state[2*64];
for(i=0; i<64; i++){
for(j=0; j<4; j++){ //FIXME check if this is worth the 1 shift we save
- ff_h264_lps_range[j][2*i+0]=
- ff_h264_lps_range[j][2*i+1]= lps_range[i][j];
+ ff_h264_lps_range[j*2*64+2*i+0]=
+ ff_h264_lps_range[j*2*64+2*i+1]= lps_range[i][j];
}
ff_h264_mlps_state[128+2*i+0]=
#define CABAC_MASK ((1<<CABAC_BITS)-1)
#define BRANCHLESS_CABAC_DECODER 1
#define CMOV_IS_FAST 1
+//#define ARCH_X86_DISABLED 1
typedef struct CABACContext{
int low;
}CABACContext;
extern uint8_t ff_h264_mlps_state[4*64];
-extern uint8_t ff_h264_lps_range[4][2*64]; ///< rangeTabLPS
+extern uint8_t ff_h264_lps_range[4*2*64]; ///< rangeTabLPS
extern uint8_t ff_h264_mps_state[2*64]; ///< transIdxMPS
extern uint8_t ff_h264_lps_state[2*64]; ///< transIdxLPS
extern const uint8_t ff_h264_norm_shift[512];
#endif /* BRANCHLESS_CABAC_DECODER */
#else /* defined(ARCH_X86) && !(defined(PIC) && defined(__GNUC__)) */
int s = *state;
- int RangeLPS= ff_h264_lps_range[0][2*(c->range&0xC0) + s];
+ int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + s];
int bit, lps_mask attribute_unused;
c->range -= RangeLPS;