111 for(i=0; i<512; i++){
115 if(index<0 || index>=vec->
length) d= 0.0;
126 for(y=0; y<vec->
length; y++){
127 for(x=0; x<vec->
length; x++){
140 static int config(
struct vf_instance *vf,
142 unsigned int flags,
unsigned int outfmt){
149 allocStuff(&vf->priv->chroma, width>>sw, height>>sh);
165 static void uninit(
struct vf_instance *vf){
166 if(!vf->priv)
return;
194 const int srcVal= src[x + y*srcStride];
196 dst[x + y*dstStride]= srcVal;
197 if(y%32==0) dst[x + y*dstStride]= 0;
201 if(x >= radius && x < w - radius){
202 for(dy=0; dy<radius*2+1; dy++){
204 int iy= y+dy - radius;
206 else if(iy>=h) iy= h+h-iy-1;
208 for(dx=0; dx<radius*2+1; dx++){
209 const int ix= x+dx - radius;
214 sum+= src[ix + iy*srcStride] *
factor;
219 for(dy=0; dy<radius*2+1; dy++){
221 int iy= y+dy - radius;
223 else if(iy>=h) iy= h+h-iy-1;
225 for(dx=0; dx<radius*2+1; dx++){
226 int ix= x+dx - radius;
229 else if(ix>=w) ix= w+w-ix-1;
233 sum+= src[ix + iy*srcStride] *
factor;
238 dst[x + y*dstStride]= (sum + div/2)/div;
288 if(args==
NULL)
return 0;
290 e=sscanf(args,
"%f:%f:%f:%f:%f:%f",
315 "shape adaptive blur",
317 "Michael Niedermayer",