|
|
|
@ -182,14 +182,14 @@ typedef struct H264Context{ |
|
|
|
|
* non zero coeff count cache. |
|
|
|
|
* is 64 if not available. |
|
|
|
|
*/ |
|
|
|
|
uint8_t non_zero_count_cache[6*8]; |
|
|
|
|
uint8_t non_zero_count_cache[6*8] __align8; |
|
|
|
|
uint8_t (*non_zero_count)[16]; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Motion vector cache. |
|
|
|
|
*/ |
|
|
|
|
int16_t mv_cache[2][5*8][2]; |
|
|
|
|
int8_t ref_cache[2][5*8]; |
|
|
|
|
int16_t mv_cache[2][5*8][2] __align8; |
|
|
|
|
int8_t ref_cache[2][5*8] __align8; |
|
|
|
|
#define LIST_NOT_USED -1 //FIXME rename?
|
|
|
|
|
#define PART_NOT_AVAILABLE -2 |
|
|
|
|
|
|
|
|
@ -318,7 +318,7 @@ typedef struct H264Context{ |
|
|
|
|
uint8_t *chroma_pred_mode_table; |
|
|
|
|
int last_qscale_diff; |
|
|
|
|
int16_t (*mvd_table[2])[2]; |
|
|
|
|
int16_t mvd_cache[2][5*8][2]; |
|
|
|
|
int16_t mvd_cache[2][5*8][2] __align8; |
|
|
|
|
uint8_t *direct_table; |
|
|
|
|
uint8_t direct_cache[5*8]; |
|
|
|
|
|
|
|
|
@ -358,6 +358,7 @@ static inline void fill_rectangle(void *vp, int w, int h, int stride, uint32_t v |
|
|
|
|
w *= size; |
|
|
|
|
stride *= size; |
|
|
|
|
|
|
|
|
|
assert((((int)vp)&(FFMIN(w, STRIDE_ALIGN)-1)) == 0); |
|
|
|
|
//FIXME check what gcc generates for 64 bit on x86 and possible write a 32 bit ver of it
|
|
|
|
|
if(w==2 && h==2){ |
|
|
|
|
*(uint16_t*)(p + 0)= |
|
|
|
|