Optimize get_dct8x8_allowed().
30 cpu cycles faster on pentium dual. Originally committed as revision 16248 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
6beb8b2612
commit
66c07ca96f
@ -4039,13 +4039,10 @@ static inline int get_level_prefix(GetBitContext *gb){
|
||||
}
|
||||
|
||||
static inline int get_dct8x8_allowed(H264Context *h){
|
||||
int i;
|
||||
for(i=0; i<4; i++){
|
||||
if(!IS_SUB_8X8(h->sub_mb_type[i])
|
||||
|| (!h->sps.direct_8x8_inference_flag && IS_DIRECT(h->sub_mb_type[i])))
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
if(h->sps.direct_8x8_inference_flag)
|
||||
return !(*(uint64_t*)h->sub_mb_type & ((MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_8x8 )*0x0001000100010001ULL));
|
||||
else
|
||||
return !(*(uint64_t*)h->sub_mb_type & ((MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_8x8|MB_TYPE_DIRECT2)*0x0001000100010001ULL));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -339,7 +339,7 @@ typedef struct H264Context{
|
||||
int mb_field_decoding_flag;
|
||||
int mb_mbaff; ///< mb_aff_frame && mb_field_decoding_flag
|
||||
|
||||
unsigned int sub_mb_type[4];
|
||||
uint16_t sub_mb_type[4];
|
||||
|
||||
//POC stuff
|
||||
int poc_lsb;
|
||||
|
Loading…
Reference in New Issue
Block a user