[FFmpeg-soc] RV40 Deblock filter help needed
Kostya
kostya.shishkov at gmail.com
Fri Aug 17 19:52:05 CEST 2007
Does this scheme reminds anybody of some other filter?
For me it definitely looks like _not_ H.264.
For all rows/cols:
A[i] = SRC[i][-2] - SRC[i][-1]
B[i] = SRC[i][ 1] - SRC[i][ 0]
C[i] = SRC[i][-2] - SRC[i][-3]
D[i] = SRC[i][ 1] - SRC[i][ 2]
AA = ABS(A[0]+A[1]+A[2]+A[3]);
AB = ABS(B[0]+B[1]+B[2]+B[3]);
AC = ABS(C[0]+C[1]+C[2]+C[3]);
AD = ABS(D[0]+D[1]+D[2]+D[3]);
if(AA>= Thr1 && AB>= Thr1)
return;
f1 = AA < Thr1 && AC < Thr1;
f2 = AB < Thr1 && AD < Thr1;
if(f1 && f2){
use filters like 25 26 26 26 25 and 25 26 51 26, 4 pixels wide
}else if(something){
1-2 pixels wide filtering,
src[0] = clip(src[0] + (src[-2] -4*src[-1] +4*src[0] - src[1] +4)>>3 + 128);
if(D[i]<Thr2) src[1]=clip(src[1] - clip_bounds((D[i]+B[i]+ X)>>1, -Lim1, Lim1) +128);
}else{//clear flags, almost the same as previous branch
1-2 pixels wide filtering
src[0] = clip(src[0] - (src[-1] - src[0] + 1)>>1 + 128);
if(D[i] < Thr2 && some_flag) src[1] = clip(src[1] - clip_bounds((D[i] + B[i] + X) >> 1,-Lim1>>1,Lim1>>1) + 128);
}
More information about the FFmpeg-soc
mailing list