Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer authored on 2011/11/19 21:51:44... | ... |
@@ -233,6 +233,10 @@ static void draw_mandelbrot(AVFilterContext *ctx, uint32_t *color, int linesize, |
233 | 233 |
|
234 | 234 |
use_zyklus= (x==0 || mb->inner!=BLACK ||color[x-1 + y*linesize] == 0xFF000000); |
235 | 235 |
|
236 |
+#define Z_Z2_C(outr,outi,inr,ini)\ |
|
237 |
+ outr= inr*inr - ini*ini + cr;\ |
|
238 |
+ outi= 2*inr*ini + ci; |
|
239 |
+ |
|
236 | 240 |
for(i=0; i<mb->maxiter; i++){ |
237 | 241 |
double t; |
238 | 242 |
if(zr*zr + zi*zi > mb->bailout){ |
... | ... |
@@ -243,15 +247,13 @@ static void draw_mandelbrot(AVFilterContext *ctx, uint32_t *color, int linesize, |
243 | 243 |
c= lrintf((sin(zr)+1)*127) + lrintf((sin(zr/1.234)+1)*127)*256*256 + lrintf((sin(zr/100)+1)*127)*256; |
244 | 244 |
break; |
245 | 245 |
} |
246 |
- t= zr*zr - zi*zi + cr; |
|
247 |
- zi= 2*zr*zi + ci; |
|
246 |
+ Z_Z2_C(t, zi, zr, zi) |
|
248 | 247 |
if(use_zyklus){ |
249 | 248 |
mb->zyklus[i][0]= t; |
250 | 249 |
mb->zyklus[i][1]= zi; |
251 | 250 |
} |
252 | 251 |
i++; |
253 |
- zr= t*t - zi*zi+cr; |
|
254 |
- zi= 2*t*zi + ci; |
|
252 |
+ Z_Z2_C(zr, zi, t, zi) |
|
255 | 253 |
if(use_zyklus){ |
256 | 254 |
if(mb->zyklus[i>>1][0]==zr && mb->zyklus[i>>1][1]==zi) |
257 | 255 |
break; |