5484cbe9f7 
								
							
								 
							
						 
						
							
							
								
								lavfi/vsrc_mandelbrot: replace round by lrint  
							
							lrint is at least as fast, and is more accurate.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								990619968a 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: change sin to sinf for color computation  
							
							lrintf is anyway used, suggesting we only care up to floating precision.
Rurthermore, there is a compat hack in avutil/libm for this function,
and it is used in avcodec/aacps_tablegen.h.
This yields a non-negligible speedup. Sample benchmark:
x86-64, Haswell, GNU/Linux:
old (draw_mandelbrot):
274635709 decicycles in draw_mandelbrot,     256 runs,      0 skips
300287046 decicycles in draw_mandelbrot,     512 runs,      0 skips
371819935 decicycles in draw_mandelbrot,    1024 runs,      0 skips
336663765 decicycles in draw_mandelbrot,    2048 runs,      0 skips
581851016 decicycles in draw_mandelbrot,    4096 runs,      0 skips
new (draw_mandelbrot):
269882717 decicycles in draw_mandelbrot,     256 runs,      0 skips
296359285 decicycles in draw_mandelbrot,     512 runs,      0 skips
370076599 decicycles in draw_mandelbrot,    1024 runs,      0 skips
331478354 decicycles in draw_mandelbrot,    2048 runs,      0 skips
571904318 decicycles in draw_mandelbrot,    4096 runs,      0 skips
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e9c7493f19 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: avoid sqrt for epsilon calculation  
							
							This rewrites into a similar expression avoiding sqrt. Similarity is
assured since sqrt(x^2 + y^2)/(x+y) lies in [1/sqrt(2), 1] for x, y > 0.
Tested on x86-64, Haswell, GNU/Linux.
Command:
ffmpeg -f lavfi -i mandelbrot -f null -
old (draw_mandelbrot):
277625266 decicycles in draw_mandelbrot,     256 runs,      0 skips
304527322 decicycles in draw_mandelbrot,     512 runs,      0 skips
377593582 decicycles in draw_mandelbrot,    1024 runs,      0 skips
338539499 decicycles in draw_mandelbrot,    2048 runs,      0 skips
583630357 decicycles in draw_mandelbrot,    4096 runs,      0 skips
new (draw_mandelbrot):
274635709 decicycles in draw_mandelbrot,     256 runs,      0 skips
300287046 decicycles in draw_mandelbrot,     512 runs,      0 skips
371819935 decicycles in draw_mandelbrot,    1024 runs,      0 skips
336663765 decicycles in draw_mandelbrot,    2048 runs,      0 skips
581851016 decicycles in draw_mandelbrot,    4096 runs,      0 skips
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								15dcc506d7 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: Don't use German in comments  
							
							
								
							
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e4bfc726cd 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: Fix speed regression  
							
							Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ac7b1f7423 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: Output RGB0 instead of RGBA.  
							
							
								
							
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d13a2df8de 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: use the name 's' for the pointer to the private context  
							
							Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a0854c084e 
								
							
								 
							
						 
						
							
							
								
								avfilter: handle error in query_formats() in bunch of filters  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								9caec04a31 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: Change enums to int, which are accessed via AVOption as int  
							
							This fixes depending on implementation defined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1567ec43a3 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: fix indention of mis-indented block  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						10 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3af7e7b501 
								
							
								 
							
						 
						
							
							
								
								avfilter/vsrc_mandelbrot: use av_malloc_array()  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						11 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								b211607b5c 
								
							
								 
							
						 
						
							
							
								
								avfilter: various cosmetics  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fd6228e657 
								
							
								 
							
						 
						
							
							
								
								lavfi: remove now unused args parameter from AVFilter.init and init_opaque  
							
							This is mostly automated global search and replace
The deprecated aconvert filter is disabled, if it still has users
it should be updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								791da4706c 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: switch to an AVOptions-based system.  
							
							
								
							
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ed8373e7db 
								
							
								 
							
						 
						
							
							
								
								lavfi: always check return value of ff_get_{audio,video}_buffer()  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e82f562fa5 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: reindent after  51bcd5cd.  
							
							
								
							
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								51bcd5cd65 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: fix speedloss with default config after morphing introduction.  
							
							Morphing was introduced in 0d6e5a171 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								0d6e5a1712 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: Mandel morphing support  
							
							Example: ffplay -f lavfi "mandelbrot=outer=outz:morphamp=1:end_scale=2:maxiter=100"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								79938a4e97 
								
							
								 
							
						 
						
							
							
								
								mandelbrot: add outer coloring method showing bailouted z  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a2b5825649 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: support coloring the outside white  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								975efc8864 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: make use of AV_OPT_TYPE_VIDEO_RATE  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								afa0b90803 
								
							
								 
							
						 
						
							
							
								
								lavfi/mandelbrot: raise filter_frame() error.  
							
							
								
							
							
						 
						12 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3fd8e07265 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: switch to filter_frame  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a5b765236b 
								
							
								 
							
						 
						
							
							
								
								lavfi: add priv_class for some forgotten filters.  
							
							This allows to print the options available when using commands such as
ffmpeg -help full. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2d9d444051 
								
							
								 
							
						 
						
							
							
								
								lavfi: convert remaining input/output list compound literals to named objects.  
							
							This is following 568c70e79e 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c322f19855 
								
							
								 
							
						 
						
							
							
								
								vf_mandelbrot: give all av_log a context  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4cc4ca5847 
								
							
								 
							
						 
						
							
							
								
								mandelbrot: fix inner=period coloring routine  
							
							Fixes CID717571
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								42d621d131 
								
							
								 
							
						 
						
							
							
								
								lavfi: add priv class to filter definitions and flags to filter internal options  
							
							This allows the iteration callbacks to discover the internal class and
options, and show them when required. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								cc650cf029 
								
							
								 
							
						 
						
							
							
								
								Remove "Error parsing options string [...]" messages.  
							
							This reduces from 3 to 2 messages for the same syntax error in ffprobe,
and from 4 to 3 in filters. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								abb0a9982f 
								
							
								 
							
						 
						
							
							
								
								lavfi: do not pass opaque field to init functions  
							
							Fix signature mismatch warnings. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								de05877390 
								
							
								 
							
						 
						
							
							
								
								lavfi: remove redundant checks after av_parse_video_rate()  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c9e183b490 
								
							
								 
							
						 
						
							
							
								
								lavfi: update some deprecated functions  
							
							Signed-off-by: Paul B Mahol <onemda@gmail.com> 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4a5d18b6e2 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: use AV_OPT_TYPE_IMAGE_SIZE.  
							
							
								
							
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a9117c755e 
								
							
								 
							
						 
						
							
							
								
								lavfi: fix mp and mandelbrot descriptions to make them complete sentences  
							
							This is consistent with the other filter descriptions. 
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								9d35fa43ee 
								
							
								 
							
						 
						
							
							
								
								lavfi: add missing periods in descriptions.  
							
							
								
							
							
						 
						13 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								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> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2c44aed82a 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: fix inner=period, the previous optimizations broke it.  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								90c02ae142 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: increase maxiter to 7189  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								690860d0d5 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: Use threshold to detect cycles.  
							
							This way cycles are detected much earlier.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a5dfedd381 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: detect edges in interpol()  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4ebbcdb3eb 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: avoid a | in interpol()  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5dd16af6b5 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: increase default zoom speed by a factor of 2  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ca14808275 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: spatial interpolation  
							
							speeds the code up by a factor of about 2-3.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								56fc4cf04f 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: always store values for periodicity checking, this avoids a few checks.  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								da1344e0cd 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: simplify second bailout search by not recalculating values.  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e749b3780c 
								
							
								 
							
						 
						
							
							
								
								vsrc_mandelbrot: increase zyklus array size so that optimizations can write a bit more.  
							
							Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
							
						 
						14 years ago