Simplify left_xy content for the loop filter, this also makes it closer to
what is needed and its faster too. Originally committed as revision 21458 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d5c30c86d0
commit
a715af8ff4
@ -762,6 +762,10 @@ static av_always_inline int fill_caches(H264Context *h, int mb_type, int for_deb
|
|||||||
const int curr_mb_field_flag = IS_INTERLACED(mb_type);
|
const int curr_mb_field_flag = IS_INTERLACED(mb_type);
|
||||||
if(s->mb_y&1){
|
if(s->mb_y&1){
|
||||||
if (left_mb_field_flag != curr_mb_field_flag) {
|
if (left_mb_field_flag != curr_mb_field_flag) {
|
||||||
|
if(for_deblock){
|
||||||
|
left_xy[0] = mb_xy - s->mb_stride - 1;
|
||||||
|
left_xy[1] = mb_xy - 1;
|
||||||
|
}else{
|
||||||
left_xy[1] = left_xy[0] = mb_xy - s->mb_stride - 1;
|
left_xy[1] = left_xy[0] = mb_xy - s->mb_stride - 1;
|
||||||
if (curr_mb_field_flag) {
|
if (curr_mb_field_flag) {
|
||||||
left_xy[1] += s->mb_stride;
|
left_xy[1] += s->mb_stride;
|
||||||
@ -772,6 +776,7 @@ static av_always_inline int fill_caches(H264Context *h, int mb_type, int for_deb
|
|||||||
topleft_partition = 0;
|
topleft_partition = 0;
|
||||||
left_block = left_block_options[1];
|
left_block = left_block_options[1];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(curr_mb_field_flag){
|
if(curr_mb_field_flag){
|
||||||
@ -780,6 +785,10 @@ static av_always_inline int fill_caches(H264Context *h, int mb_type, int for_deb
|
|||||||
top_xy += s->mb_stride & (((s->current_picture.mb_type[top_xy ]>>7)&1)-1);
|
top_xy += s->mb_stride & (((s->current_picture.mb_type[top_xy ]>>7)&1)-1);
|
||||||
}
|
}
|
||||||
if (left_mb_field_flag != curr_mb_field_flag) {
|
if (left_mb_field_flag != curr_mb_field_flag) {
|
||||||
|
if(for_deblock){
|
||||||
|
left_xy[0] = mb_xy - 1;
|
||||||
|
left_xy[1] = mb_xy + s->mb_stride - 1;
|
||||||
|
}else{
|
||||||
left_xy[1] = left_xy[0] = mb_xy - 1;
|
left_xy[1] = left_xy[0] = mb_xy - 1;
|
||||||
if (curr_mb_field_flag) {
|
if (curr_mb_field_flag) {
|
||||||
left_xy[1] += s->mb_stride;
|
left_xy[1] += s->mb_stride;
|
||||||
@ -787,6 +796,7 @@ static av_always_inline int fill_caches(H264Context *h, int mb_type, int for_deb
|
|||||||
} else {
|
} else {
|
||||||
left_block = left_block_options[2];
|
left_block = left_block_options[2];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user