Originally committed as revision 21514 to svn://svn.ffmpeg.org/ffmpeg/trunk
| ... | ... |
@@ -340,15 +340,13 @@ void ff_h264_filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, |
| 340 | 340 |
int16_t bS4[4] = {4,4,4,4};
|
| 341 | 341 |
int16_t bS3[4] = {3,3,3,3};
|
| 342 | 342 |
int16_t *bSH = FIELD_PICTURE ? bS3 : bS4; |
| 343 |
+ if(left_type) |
|
| 344 |
+ filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); |
|
| 343 | 345 |
if( IS_8x8DCT(mb_type) ) {
|
| 344 |
- if(left_type) |
|
| 345 |
- filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); |
|
| 346 | 346 |
filter_mb_edgev( &img_y[4*2], linesize, bS3, qp, h); |
| 347 | 347 |
filter_mb_edgeh( &img_y[4*0*linesize], linesize, bSH, qp1, h); |
| 348 | 348 |
filter_mb_edgeh( &img_y[4*2*linesize], linesize, bS3, qp, h); |
| 349 | 349 |
} else {
|
| 350 |
- if(left_type) |
|
| 351 |
- filter_mb_edgev( &img_y[4*0], linesize, bS4, qp0, h); |
|
| 352 | 350 |
filter_mb_edgev( &img_y[4*1], linesize, bS3, qp, h); |
| 353 | 351 |
filter_mb_edgev( &img_y[4*2], linesize, bS3, qp, h); |
| 354 | 352 |
filter_mb_edgev( &img_y[4*3], linesize, bS3, qp, h); |
| ... | ... |
@@ -399,19 +397,15 @@ void ff_h264_filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, |
| 399 | 399 |
filter_mb_edgec##hv( &img_cr[2*edge*(dir?uvlinesize:1)], uvlinesize, bS[dir][edge], edge ? qpc : qpc##dir, h );\ |
| 400 | 400 |
}\ |
| 401 | 401 |
} |
| 402 |
+ if(left_type) |
|
| 403 |
+ FILTER(v,0,0); |
|
| 402 | 404 |
if( edges == 1 ) {
|
| 403 |
- if(left_type) |
|
| 404 |
- FILTER(v,0,0); |
|
| 405 | 405 |
FILTER(h,1,0); |
| 406 | 406 |
} else if( IS_8x8DCT(mb_type) ) {
|
| 407 |
- if(left_type) |
|
| 408 |
- FILTER(v,0,0); |
|
| 409 | 407 |
FILTER(v,0,2); |
| 410 | 408 |
FILTER(h,1,0); |
| 411 | 409 |
FILTER(h,1,2); |
| 412 | 410 |
} else {
|
| 413 |
- if(left_type) |
|
| 414 |
- FILTER(v,0,0); |
|
| 415 | 411 |
FILTER(v,0,1); |
| 416 | 412 |
FILTER(v,0,2); |
| 417 | 413 |
FILTER(v,0,3); |