47 #define area5 (8+8+1+8)
48 #define area6 (8+8+1+16)
66 int * range,
int * psum,
int edges){
76 memset(dst,0x80,16+1+16+8);
95 min_pix=
FFMIN(min_pix,c);
96 max_pix=
FFMAX(max_pix,c);
108 min_pix=
FFMIN(min_pix, c);
109 max_pix=
FFMAX(max_pix, c);
112 memset(dst+
area5,c,8);
113 memcpy(dst+
area4, ptr, 8);
115 memcpy(dst+
area4, ptr, 16);
117 memcpy(dst+
area6, ptr-linesize, 8);
123 memset(dst+
area1,avg,8+8+1);
125 memset(dst+
area3,avg, 1+16+8);
134 (*range) = max_pix - min_pix;
141 640, 640, 669, 480, 708, 354, 748, 257, 792, 198, 760, 143, 808, 101, 772, 72,
142 480, 669, 537, 537, 598, 416, 661, 316, 719, 250, 707, 185, 768, 134, 745, 97,
143 354, 708, 416, 598, 488, 488, 564, 388, 634, 317, 642, 241, 716, 179, 706, 132,
144 257, 748, 316, 661, 388, 564, 469, 469, 543, 395, 571, 311, 655, 238, 660, 180,
145 198, 792, 250, 719, 317, 634, 395, 543, 469, 469, 507, 380, 597, 299, 616, 231,
146 161, 855, 206, 788, 266, 710, 340, 623, 411, 548, 455, 455, 548, 366, 576, 288,
147 122, 972, 159, 914, 211, 842, 276, 758, 341, 682, 389, 584, 483, 483, 520, 390,
148 110, 1172, 144, 1107, 193, 1028, 254, 932, 317, 846, 366, 731, 458, 611, 499, 499
156 uint16_t left_sum[2][8] = { { 0 } };
157 uint16_t top_sum[2][8] = { { 0 } };
163 left_sum[p&1][j]+= a>>(p>>1);
171 top_sum[p&1][j]+= a>>(p>>1);
178 top_sum[p&1][j]+= a>>(p>>1);
185 top_sum[p&1][j]+= a>>(p>>1);
190 top_sum [0][i]+=(top_sum [1][i]*181 + 128 )>>8;
191 left_sum[0][i]+=(left_sum[1][i]*181 + 128 )>>8;
219 dst[x]=src[
area4 +1+y+x];
229 dst[x]=src[
area4 +((y+1)>>1)+x];
239 dst[x]=( src[
area4+x] + src[
area6+x] + 1 )>>1;
250 dst[x]=src[
area2+9+2*x-
y];
252 dst[x]=src[
area4 +x-((y+1)>>1)];
276 dst[x]=src[
area2+8-y +(x>>1)];
325 int p0,p1,p2,p3,p4,p5,p6,p7,p8,p9;
326 int ql=(quant+10)>>3;
328 for(i=0; i<8; i++,ptr+=b_stride){
341 (
FFABS(p1-p2) <= ql) +
342 (
FFABS(p2-p3) <= ql) +
343 (
FFABS(p3-p4) <= ql) +
344 (
FFABS(p4-p5) <= ql);
347 (
FFABS(p5-p6) <= ql) +
348 (
FFABS(p6-p7) <= ql) +
349 (
FFABS(p7-p8) <= ql) +
350 (
FFABS(p8-p9) <= ql) +
351 (
FFABS(p0-p1) <= ql);
365 ptr[-2*a_stride]=(4*p2 + 3*p3 + 1*p7 + 4)>>3;
366 ptr[-1*a_stride]=(3*p2 + 3*p4 + 2*p7 + 4)>>3;
367 ptr[ 0 ]=(2*p2 + 3*p5 + 3*p7 + 4)>>3;
368 ptr[ 1*a_stride]=(1*p2 + 3*p6 + 4*p7 + 4)>>3;
378 x0 = (2*p3 - 5*p4 + 5*p5 - 2*p6 + 4)>>3;
380 x1=(2*p1 - 5*p2 + 5*p3 - 2*p4 + 4)>>3;
381 x2=(2*p5 - 5*p6 + 5*p7 - 2*p8 + 4)>>3;
386 if( x > 0 && (m^x0) <0){
399 ptr[-1*a_stride] -= x;