Mercurial > libavcodec.hg
comparison libpostproc/postprocess_template.c @ 141:626bfabff1f5 libavcodec
c speedup (x1, rk1 filters)
| author | michael |
|---|---|
| date | Wed, 31 Oct 2001 02:29:02 +0000 |
| parents | 52ed0baddd56 |
| children | da4c751fc151 |
comparison
equal
deleted
inserted
replaced
| 140:52ed0baddd56 | 141:626bfabff1f5 |
|---|---|
| 668 const int l6= stride + l5; | 668 const int l6= stride + l5; |
| 669 // const int l7= stride + l6; | 669 // const int l7= stride + l6; |
| 670 // const int l8= stride + l7; | 670 // const int l8= stride + l7; |
| 671 // const int l9= stride + l8; | 671 // const int l9= stride + l8; |
| 672 int x; | 672 int x; |
| 673 const int QP15= QP + (QP>>2); | |
| 673 src+= stride*3; | 674 src+= stride*3; |
| 674 for(x=0; x<BLOCK_SIZE; x++) | 675 for(x=0; x<BLOCK_SIZE; x++) |
| 675 { | 676 { |
| 676 if(ABS(src[l4]-src[l5]) < QP + QP/4) | 677 const int v = (src[x+l5] - src[x+l4]); |
| 678 if(ABS(v) < QP15) | |
| 677 { | 679 { |
| 678 int v = (src[l5] - src[l4]); | 680 src[x+l3] +=v>>3; |
| 679 | 681 src[x+l4] +=v>>1; |
| 680 src[l3] +=v/8; | 682 src[x+l5] -=v>>1; |
| 681 src[l4] +=v/2; | 683 src[x+l6] -=v>>3; |
| 682 src[l5] -=v/2; | |
| 683 src[l6] -=v/8; | |
| 684 | 684 |
| 685 } | 685 } |
| 686 src++; | |
| 687 } | 686 } |
| 688 | 687 |
| 689 #endif | 688 #endif |
| 690 } | 689 } |
| 691 | 690 |
| 801 { | 800 { |
| 802 int a= src[l3] - src[l4]; | 801 int a= src[l3] - src[l4]; |
| 803 int b= src[l4] - src[l5]; | 802 int b= src[l4] - src[l5]; |
| 804 int c= src[l5] - src[l6]; | 803 int c= src[l5] - src[l6]; |
| 805 | 804 |
| 806 int d= MAX(ABS(b) - (ABS(a) + ABS(c))/2, 0); | 805 int d= ABS(b) - ((ABS(a) + ABS(c))>>1); |
| 806 d= MAX(d, 0); | |
| 807 | 807 |
| 808 if(d < QP) | 808 if(d < QP) |
| 809 { | 809 { |
| 810 int v = d * SIGN(-b); | 810 int v = d * SIGN(-b); |
| 811 | 811 |
| 812 src[l2] +=v/8; | 812 src[l2] +=v>>3; |
| 813 src[l3] +=v/4; | 813 src[l3] +=v>>2; |
| 814 src[l4] +=3*v/8; | 814 src[l4] +=(3*v)>>3; |
| 815 src[l5] -=3*v/8; | 815 src[l5] -=(3*v)>>3; |
| 816 src[l6] -=v/4; | 816 src[l6] -=v>>2; |
| 817 src[l7] -=v/8; | 817 src[l7] -=v>>3; |
| 818 | 818 |
| 819 } | 819 } |
| 820 src++; | 820 src++; |
| 821 } | 821 } |
| 822 /* | 822 /* |
