Mercurial > libavcodec.hg
comparison h264_loopfilter.c @ 10961:34a65026fa06 libavcodec
Move array specifiers outside DECLARE_ALIGNED() invocations
| author | mru |
|---|---|
| date | Fri, 22 Jan 2010 03:25:11 +0000 |
| parents | 10759fd39860 |
| children | 2e8fbfc278d5 |
comparison
equal
deleted
inserted
replaced
| 10960:10759fd39860 | 10961:34a65026fa06 |
|---|---|
| 370 filter_mb_edgech( &img_cb[2*2*uvlinesize], uvlinesize, bS3, qpc, h); | 370 filter_mb_edgech( &img_cb[2*2*uvlinesize], uvlinesize, bS3, qpc, h); |
| 371 filter_mb_edgech( &img_cr[2*0*uvlinesize], uvlinesize, bSH, qpc1, h); | 371 filter_mb_edgech( &img_cr[2*0*uvlinesize], uvlinesize, bSH, qpc1, h); |
| 372 filter_mb_edgech( &img_cr[2*2*uvlinesize], uvlinesize, bS3, qpc, h); | 372 filter_mb_edgech( &img_cr[2*2*uvlinesize], uvlinesize, bS3, qpc, h); |
| 373 return; | 373 return; |
| 374 } else { | 374 } else { |
| 375 DECLARE_ALIGNED_8(int16_t, bS[2][4][4]); | 375 DECLARE_ALIGNED_8(int16_t, bS)[2][4][4]; |
| 376 uint64_t (*bSv)[4] = (uint64_t(*)[4])bS; | 376 uint64_t (*bSv)[4] = (uint64_t(*)[4])bS; |
| 377 int edges; | 377 int edges; |
| 378 if( IS_8x8DCT(mb_type) && (h->cbp&7) == 7 ) { | 378 if( IS_8x8DCT(mb_type) && (h->cbp&7) == 7 ) { |
| 379 edges = 4; | 379 edges = 4; |
| 380 bSv[0][0] = bSv[0][2] = bSv[1][0] = bSv[1][2] = 0x0002000200020002ULL; | 380 bSv[0][0] = bSv[0][2] = bSv[1][0] = bSv[1][2] = 0x0002000200020002ULL; |
| 455 unsigned int tmp_uvlinesize = 2 * uvlinesize; | 455 unsigned int tmp_uvlinesize = 2 * uvlinesize; |
| 456 int mbn_xy = mb_xy - 2 * s->mb_stride; | 456 int mbn_xy = mb_xy - 2 * s->mb_stride; |
| 457 int j; | 457 int j; |
| 458 | 458 |
| 459 for(j=0; j<2; j++, mbn_xy += s->mb_stride){ | 459 for(j=0; j<2; j++, mbn_xy += s->mb_stride){ |
| 460 DECLARE_ALIGNED_8(int16_t, bS[4]); | 460 DECLARE_ALIGNED_8(int16_t, bS)[4]; |
| 461 int qp; | 461 int qp; |
| 462 if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) { | 462 if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) { |
| 463 *(uint64_t*)bS= 0x0003000300030003ULL; | 463 *(uint64_t*)bS= 0x0003000300030003ULL; |
| 464 } else { | 464 } else { |
| 465 const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy] + 4+3*8; | 465 const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy] + 4+3*8; |
| 486 /* Calculate bS */ | 486 /* Calculate bS */ |
| 487 for( edge = start; edge < edges; edge++ ) { | 487 for( edge = start; edge < edges; edge++ ) { |
| 488 /* mbn_xy: neighbor macroblock */ | 488 /* mbn_xy: neighbor macroblock */ |
| 489 const int mbn_xy = edge > 0 ? mb_xy : mbm_xy; | 489 const int mbn_xy = edge > 0 ? mb_xy : mbm_xy; |
| 490 const int mbn_type = s->current_picture.mb_type[mbn_xy]; | 490 const int mbn_type = s->current_picture.mb_type[mbn_xy]; |
| 491 DECLARE_ALIGNED_8(int16_t, bS[4]); | 491 DECLARE_ALIGNED_8(int16_t, bS)[4]; |
| 492 int qp; | 492 int qp; |
| 493 | 493 |
| 494 if( (edge&1) && IS_8x8DCT(mb_type) ) | 494 if( (edge&1) && IS_8x8DCT(mb_type) ) |
| 495 continue; | 495 continue; |
| 496 | 496 |
| 630 /* First vertical edge is different in MBAFF frames | 630 /* First vertical edge is different in MBAFF frames |
| 631 * There are 8 different bS to compute and 2 different Qp | 631 * There are 8 different bS to compute and 2 different Qp |
| 632 */ | 632 */ |
| 633 const int pair_xy = mb_x + (mb_y&~1)*s->mb_stride; | 633 const int pair_xy = mb_x + (mb_y&~1)*s->mb_stride; |
| 634 const int left_mb_xy[2] = { pair_xy-1, pair_xy-1+s->mb_stride }; | 634 const int left_mb_xy[2] = { pair_xy-1, pair_xy-1+s->mb_stride }; |
| 635 DECLARE_ALIGNED_8(int16_t, bS[8]); | 635 DECLARE_ALIGNED_8(int16_t, bS)[8]; |
| 636 int qp[2]; | 636 int qp[2]; |
| 637 int bqp[2]; | 637 int bqp[2]; |
| 638 int rqp[2]; | 638 int rqp[2]; |
| 639 int mb_qp, mbn0_qp, mbn1_qp; | 639 int mb_qp, mbn0_qp, mbn1_qp; |
| 640 int i; | 640 int i; |
