Commit Graph

111 Commits

Author SHA1 Message Date
Stefano Sabatini
c17808cebd lavfi: define macro AVFILTER_DEFINE_CLASS
The macro can be used to define consistently the internal class of a
filter, save some typing and factorize.
2012-06-22 23:11:43 +02:00
Paul B Mahol
de05877390 lavfi: remove redundant checks after av_parse_video_rate()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 20:36:12 +00:00
Paul B Mahol
54101214d8 lavfi: use designated initializers for AVClass
While here:
    - add missing .version and .category,
    - make .class_name consistent across filters,
    - align declarations.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-17 11:10:10 +00:00
Paul B Mahol
c9e183b490 lavfi: update some deprecated functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 15:15:16 +00:00
Stefano Sabatini
0f0f3bd1e0 lavfi: use av_default_item_name() as filter private context logger
avfilter_default_filter_name() is supposed to access an AVFilterContext
struct, if used with a private struct it will cause a crash since it will
access fields which are non defined in the private struct.
2012-06-04 02:40:01 +02:00
Stefano Sabatini
4d6a8a2bdb lavfi: add avfilter_default_filter_name()
The function is modelled after av_default_item_name(), and will print the
name of the instance filter if defined, otherwise the name of the filter.

This allows to show the instance name in the log, which is useful when
debugging complex filter graphs.
2012-06-04 00:54:57 +02:00
Nicolas George
4a5d18b6e2 vsrc_mandelbrot: use AV_OPT_TYPE_IMAGE_SIZE. 2012-05-20 18:24:20 +02:00
Stefano Sabatini
a9117c755e lavfi: fix mp and mandelbrot descriptions to make them complete sentences
This is consistent with the other filter descriptions.
2012-01-21 14:40:46 +01:00
Clément Bœsch
9d35fa43ee lavfi: add missing periods in descriptions. 2012-01-20 00:16:27 +01:00
Michael Niedermayer
656911d84d vsrc_mandelbrot: Fix vsrc_mandelbrot.c:358:85: warning: ‘epsilon’ may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 00:08:05 +01:00
Michael Niedermayer
2c44aed82a vsrc_mandelbrot: fix inner=period, the previous optimizations broke it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 04:16:41 +01:00
Michael Niedermayer
90c02ae142 vsrc_mandelbrot: increase maxiter to 7189
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 23:52:29 +01:00
Michael Niedermayer
690860d0d5 vsrc_mandelbrot: Use threshold to detect cycles.
This way cycles are detected much earlier.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 23:28:56 +01:00
Michael Niedermayer
a5dfedd381 vsrc_mandelbrot: detect edges in interpol()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 22:22:21 +01:00
Michael Niedermayer
4ebbcdb3eb vsrc_mandelbrot: avoid a | in interpol()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 22:11:53 +01:00
Michael Niedermayer
5dd16af6b5 vsrc_mandelbrot: increase default zoom speed by a factor of 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 19:42:24 +01:00
Michael Niedermayer
ca14808275 vsrc_mandelbrot: spatial interpolation
speeds the code up by a factor of about 2-3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 19:41:28 +01:00
Michael Niedermayer
56fc4cf04f vsrc_mandelbrot: always store values for periodicity checking, this avoids a few checks.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 15:02:34 +01:00
Michael Niedermayer
da1344e0cd vsrc_mandelbrot: simplify second bailout search by not recalculating values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 15:00:26 +01:00
Michael Niedermayer
e749b3780c vsrc_mandelbrot: increase zyklus array size so that optimizations can write a bit more.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 14:16:53 +01:00
Michael Niedermayer
649d3932db vsrc_mandelbrot: check bailout only once every 8 iterations, this is around 10% faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 14:15:56 +01:00
Michael Niedermayer
fe2efc5264 vsrc_mandelbrot: factorize periodicity checking too.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 13:55:51 +01:00
Michael Niedermayer
cf670fbc96 vsrc_mandelbrot: factorize main calculation out into a macro.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 13:51:44 +01:00
Michael Niedermayer
974d25e2db mandelbrot: make mincol description and code match.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-16 15:13:01 +01:00
Michael Niedermayer
04bb26e3ee mandelbrot: add dither to convergence & mincol colorings.
This avoids banding artifacts.
Note, low end TFTs still show some banding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 21:33:11 +01:00
Michael Niedermayer
7575980ba4 mandelbrot: make mincol the default.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 20:04:25 +01:00
Michael Niedermayer
8d51cb4fb8 mandelbrot: add mincol inner coloring method.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 20:04:25 +01:00
Michael Niedermayer
5a68b1ac3b mandelbrot: add inner drawing method to show converence time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:51 +01:00
Michael Niedermayer
5582e557e6 mandelbrot: add "fractal" to the description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:46 +01:00
Michael Niedermayer
4c52adad69 mandelbrot: Fix "warning: passing argument 2 of ‘draw_mandelbrot’ from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:41 +01:00
Michael Niedermayer
73af8ea356 mandelbrot: add math.h for log2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 05:56:03 +01:00
Michael Niedermayer
70eb58cd92 mandelbrot: avoid INFINITY as openbsd seems not to like it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 05:47:56 +01:00
Stefano Sabatini
3a9f2f1d65 vsrc_mandelbrot: set options through the opt framework 2011-11-13 21:31:23 +01:00
Giorgio Vazzana
c15400afc5 mandelbrot: remove always-false condition in fill_from_cache
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:41:21 +01:00
Michael Niedermayer
08dadd331f mandelbrot: allow visualizing the period of converged points.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:28:24 +01:00
Michael Niedermayer
e8499ab171 mandelbrot: Add inner variable & enum for inner coloring schemes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:26:22 +01:00
Michael Niedermayer
3cbe9afba5 mandelbrot: only check bailout once every 2 iterations.
Once we bailed out we calculate the exact iteration in which it would have happened if needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 18:14:40 +01:00
Michael Niedermayer
41fd1b2d5a mandelbrot: add SQR() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 18:14:10 +01:00
Giorgio Vazzana
e555119c73 mandelbrot: correct and simplify the formula used in NORMALIZED_ITERATION_COUNT
Use log(sqrt(mb->bailout)) instead of log(mb->bailout) because mb->bailout represent
the bailout radius squared, and then simplify the two sqrt().
This is also slightly faster.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:33:09 +01:00
Michael Niedermayer
88166fc579 mandelbrot: unroll the innermost loop once.
This allows us to remove a if() and a variable assignment.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:01:56 +01:00
Michael Niedermayer
1d06608732 mandelbrot: only check periodicity once for each period instead of twice.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:01:56 +01:00
Michael Niedermayer
2fee131b9e 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>
2011-11-13 17:01:56 +01:00
Giorgio Vazzana
be97e7b9c2 mandelbrot: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 01:27:30 +01:00
Giorgio Vazzana
459bba58d2 mandelbrot: add missing options to the parsing code
The following options were added: end_scale, end_pts, bailout, outer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 01:27:30 +01:00
Giorgio Vazzana
6024bdb21a mandelbrot: fix sscanf format string
Replace ',' with ':'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 21:00:12 +01:00
Michael Niedermayer
32dd67162a mandelbrot: Print a note if the cache is too small
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:05:11 +01:00
Michael Niedermayer
905202ef6e mandelbrot: increase cache size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:04:50 +01:00
Michael Niedermayer
fd8d03457a mandelbrot: increase resolution, and decrease zoom speed to maintain the cpu requirement.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:04:08 +01:00
Michael Niedermayer
40d6e30c55 mandelbrot: increase default maxiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:41 +01:00
Michael Niedermayer
6c5dd858b4 mandelbrot: Only use cycle detection if previous pixel was an interior pixel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:21 +01:00
Michael Niedermayer
50b8f9388a mandelbrot: detect cycles to speed up interior rendering.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:16 +01:00
Michael Niedermayer
3de934c873 mandelbrot: increase default maxiter to 1024
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
07f272bdbb mandelbrot: use cache to avoid recalculating points.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
8ca891fc1a mandelbrot: more interresting zoom coordinates borrowed from wikipedia.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
ddeb194b14 mandelbrot: add a end_scale and pts so we can zoom in.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:16 +01:00
Michael Niedermayer
dece017280 mandelbrot: center coordinate reference on the images center
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
aa198ad679 mandelbrot: make 2 variables const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
0e5b05134b mandelbrot: fix typo that led to hardcoded max iteration count.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
4ccd898af2 mandelbrot: support different outer coloring methods.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 23:22:04 +01:00
Michael Niedermayer
75e309160b mandelbrot: make bailout a variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 23:21:42 +01:00
Michael Niedermayer
658d166da0 avfilter: add mandelbrot fraktal source
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 22:47:06 +01:00