diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-11-13 18:14:25 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-11-13 20:01:56 +0400 |
commit | 2fee131b9e5fa17b2fac023eaac53984a9d7cb40 (patch) | |
tree | 99f4b1ad8daf4eeabcba2ff027369d8469c805e4 /libavfilter/vsrc_mandelbrot.c | |
parent | 9117592549c63602710275abab17841b733c5b2d (diff) |
mandelbrot: use period detection depening on left pixel and not the
previous calculated pixel, this is more accurate due to the last
calculated often being farther away.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vsrc_mandelbrot.c')
-rw-r--r-- | libavfilter/vsrc_mandelbrot.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavfilter/vsrc_mandelbrot.c b/libavfilter/vsrc_mandelbrot.c index 375ec7c039..7bcf3b7621 100644 --- a/libavfilter/vsrc_mandelbrot.c +++ b/libavfilter/vsrc_mandelbrot.c @@ -178,6 +178,8 @@ static void draw_mandelbrot(AVFilterContext *ctx, uint32_t *color, int linesize, if(color[x + y*linesize] & 0xFF000000) continue; + use_zyklus= (x==0 || color[x-1 + y*linesize] == 0xFF000000); + for(i=0; i<mb->maxiter; i++){ double t; if(zr*zr + zi*zi > mb->bailout){ @@ -198,7 +200,6 @@ static void draw_mandelbrot(AVFilterContext *ctx, uint32_t *color, int linesize, mb->zyklus[i][1]= zi; } } - use_zyklus = !c; c |= 0xFF000000; color[x + y*linesize]= c; if(next_cidx < mb->cache_allocated){ |