@ -298,7 +298,7 @@ typedef struct H264Context{
int topleft_partition ;
int8_t intra4x4_pred_mode_cache [ 5 * 8 ] ;
int8_t ( * intra4x4_pred_mode ) [ 8 ] ;
int8_t ( * intra4x4_pred_mode ) ;
H264PredContext hpc ;
unsigned int topleft_samples_available ;
unsigned int top_samples_available ;
@ -886,10 +886,11 @@ static void fill_decode_caches(H264Context *h, int mb_type){
if ( IS_INTRA4x4 ( mb_type ) ) {
if ( IS_INTRA4x4 ( top_type ) ) {
h - > intra4x4_pred_mode_cache [ 4 + 8 * 0 ] = h - > intra4x4_pred_mode [ top_xy ] [ 4 ] ;
h - > intra4x4_pred_mode_cache [ 5 + 8 * 0 ] = h - > intra4x4_pred_mode [ top_xy ] [ 5 ] ;
h - > intra4x4_pred_mode_cache [ 6 + 8 * 0 ] = h - > intra4x4_pred_mode [ top_xy ] [ 6 ] ;
h - > intra4x4_pred_mode_cache [ 7 + 8 * 0 ] = h - > intra4x4_pred_mode [ top_xy ] [ 3 ] ;
int8_t * mode = h - > intra4x4_pred_mode + h - > mb2br_xy [ top_xy ] ;
h - > intra4x4_pred_mode_cache [ 4 + 8 * 0 ] = mode [ 4 ] ;
h - > intra4x4_pred_mode_cache [ 5 + 8 * 0 ] = mode [ 5 ] ;
h - > intra4x4_pred_mode_cache [ 6 + 8 * 0 ] = mode [ 6 ] ;
h - > intra4x4_pred_mode_cache [ 7 + 8 * 0 ] = mode [ 3 ] ;
} else {
int pred ;
if ( ! ( top_type & type_mask ) )
@ -904,8 +905,9 @@ static void fill_decode_caches(H264Context *h, int mb_type){
}
for ( i = 0 ; i < 2 ; i + + ) {
if ( IS_INTRA4x4 ( left_type [ i ] ) ) {
h - > intra4x4_pred_mode_cache [ 3 + 8 * 1 + 2 * 8 * i ] = h - > intra4x4_pred_mode [ left_xy [ i ] ] [ left_block [ 0 + 2 * i ] ] ;
h - > intra4x4_pred_mode_cache [ 3 + 8 * 2 + 2 * 8 * i ] = h - > intra4x4_pred_mode [ left_xy [ i ] ] [ left_block [ 1 + 2 * i ] ] ;
int8_t * mode = h - > intra4x4_pred_mode + h - > mb2br_xy [ left_xy [ i ] ] ;
h - > intra4x4_pred_mode_cache [ 3 + 8 * 1 + 2 * 8 * i ] = mode [ left_block [ 0 + 2 * i ] ] ;
h - > intra4x4_pred_mode_cache [ 3 + 8 * 2 + 2 * 8 * i ] = mode [ left_block [ 1 + 2 * i ] ] ;
} else {
int pred ;
if ( ! ( left_type [ i ] & type_mask ) )