Commit 8d140db6 authored by michael's avatar michael

Port Optimizations about *_type init from decode to filter code.

1 cpu cycle faster


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@22193 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 204d1540
......@@ -1215,15 +1215,20 @@ static int fill_filter_caches(H264Context *h, int mb_type){
}
}
top_type = s->current_picture.mb_type[top_xy] ;
left_type[0] = s->current_picture.mb_type[left_xy[0]];
left_type[1] = s->current_picture.mb_type[left_xy[1]];
if(h->deblocking_filter == 2){
h->top_type = top_type = h->slice_table[top_xy ] == h->slice_num ? s->current_picture.mb_type[top_xy] : 0;
h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] == h->slice_num ? s->current_picture.mb_type[left_xy[0]] : 0;
h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] == h->slice_num ? s->current_picture.mb_type[left_xy[1]] : 0;
if(h->slice_table[top_xy ] != h->slice_num) top_type= 0;
if(h->slice_table[left_xy[0] ] != h->slice_num) left_type[0]= left_type[1]= 0;
}else{
h->top_type = top_type = h->slice_table[top_xy ] < 0xFFFF ? s->current_picture.mb_type[top_xy] : 0;
h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[0]] : 0;
h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[1]] : 0;
if(h->slice_table[top_xy ] == 0xFFFF) top_type= 0;
if(h->slice_table[left_xy[0] ] == 0xFFFF) left_type[0]= left_type[1] =0;
}
h->top_type = top_type ;
h->left_type[0]= left_type[0];
h->left_type[1]= left_type[1];
if(IS_INTRA(mb_type))
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment