Andreas Rheinhardt 
							
						 
					 
					
						
						
						
						
							
						
						
							8be701d9f7 
							
						 
					 
					
						
						
							
							avfilter/avfilter: Add numbers of (in|out)pads directly to AVFilter  
						
						... 
						
						
						
						Up until now, an AVFilter's lists of input and output AVFilterPads
were terminated by a sentinel and the only way to get the length
of these lists was by using avfilter_pad_count(). This has two
drawbacks: first, sizeof(AVFilterPad) is not negligible
(i.e. 64B on 64bit systems); second, getting the size involves
a function call instead of just reading the data.
This commit therefore changes this. The sentinels are removed and new
private fields nb_inputs and nb_outputs are added to AVFilter that
contain the number of elements of the respective AVFilterPad array.
Given that AVFilter.(in|out)puts are the only arrays of zero-terminated
AVFilterPads an API user has access to (AVFilterContext.(in|out)put_pads
are not zero-terminated and they already have a size field) the argument
to avfilter_pad_count() is always one of these lists, so it just has to
find the filter the list belongs to and read said number. This is slower
than before, but a replacement function that just reads the internal numbers
that users are expected to switch to will be added soon; and furthermore,
avfilter_pad_count() is probably never called in hot loops anyway.
This saves about 49KiB from the binary; notice that these sentinels are
not in .bss despite being zeroed: they are in .data.rel.ro due to the
non-sentinels.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> 
						
						
					 
					
						2021-08-20 12:53:58 +02:00 
						 
				 
			
				
					
						
							
							
								Andreas Rheinhardt 
							
						 
					 
					
						
						
						
						
							
						
						
							a04ad248a0 
							
						 
					 
					
						
						
							
							avfilter: Constify all AVFilters  
						
						... 
						
						
						
						This is possible now that the next-API is gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com> 
						
						
					 
					
						2021-04-27 11:48:05 -03:00 
						 
				 
			
				
					
						
							
							
								Paul B Mahol 
							
						 
					 
					
						
						
						
						
							
						
						
							ed93ed5ee3 
							
						 
					 
					
						
						
							
							avfilter: don't anonymously typedef structs  
						
						... 
						
						
						
						Signed-off-by: Paul B Mahol <onemda@gmail.com> 
						
						
					 
					
						2017-05-13 11:39:28 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Niedermayer 
							
						 
					 
					
						
						
						
						
							
						
						
							e6140e7822 
							
						 
					 
					
						
						
							
							avfilter/vf_field: Change enum to int, which is accessed via AVOption as int  
						
						... 
						
						
						
						This fixes depending on implementation defined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 
						
						
					 
					
						2015-03-17 16:52:10 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Niedermayer 
							
						 
					 
					
						
						
						
						
							
						
						
							325f6e0a97 
							
						 
					 
					
						
						
							
							Merge remote-tracking branch 'qatar/master'  
						
						... 
						
						
						
						* qatar/master:
  lavfi: do not export the filters from shared objects
Conflicts:
	libavfilter/af_amix.c
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_select.c
	libavfilter/f_settb.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_colorbalance.c
	libavfilter/vf_copy.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_format.c
	libavfilter/vf_framestep.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c
Merged-by: Michael Niedermayer <michaelni@gmx.at> 
						
						
					 
					
						2013-10-29 11:58:11 +01:00 
						 
				 
			
				
					
						
							
							
								Paul B Mahol 
							
						 
					 
					
						
						
						
						
							
						
						
							b211607b5c 
							
						 
					 
					
						
						
							
							avfilter: various cosmetics  
						
						... 
						
						
						
						Signed-off-by: Paul B Mahol <onemda@gmail.com> 
						
						
					 
					
						2013-09-12 14:01:43 +00:00 
						 
				 
			
				
					
						
							
							
								Paul B Mahol 
							
						 
					 
					
						
						
						
						
							
						
						
							b077d8d908 
							
						 
					 
					
						
						
							
							avfilter: remove redundant .get_(audio/video)_buffer initializations  
						
						... 
						
						
						
						Signed-off-by: Paul B Mahol <onemda@gmail.com> 
						
						
					 
					
						2013-09-07 18:20:16 +00:00 
						 
				 
			
				
					
						
							
							
								Paul B Mahol 
							
						 
					 
					
						
						
						
						
							
						
						
							2516b393d4 
							
						 
					 
					
						
						
							
							lavfi/field, il, noise: use av_pix_fmt_count_planes()  
						
						... 
						
						
						
						Signed-off-by: Paul B Mahol <onemda@gmail.com> 
						
						
					 
					
						2013-05-24 12:53:23 +00:00 
						 
				 
			
				
					
						
							
							
								Clément Bœsch 
							
						 
					 
					
						
						
						
						
							
						
						
							3417280b57 
							
						 
					 
					
						
						
							
							lavfi/field: cleanup unused shorthand and doc.  
						
						
						
						
					 
					
						2013-04-11 12:41:13 +02:00 
						 
				 
			
				
					
						
							
							
								Stefano Sabatini 
							
						 
					 
					
						
						
						
						
							
						
						
							2040b428b4 
							
						 
					 
					
						
						
							
							lavfi/field: switch to AVOption-based system  
						
						... 
						
						
						
						Also remove mention to syntax explanation which is or will be redundant
and possibly confusing. 
						
						
					 
					
						2013-04-11 00:16:25 +02:00 
						 
				 
			
				
					
						
							
							
								Clément Bœsch 
							
						 
					 
					
						
						
						
						
							
						
						
							a733481d0a 
							
						 
					 
					
						
						
							
							lavfi/field: use standard options parsing.  
						
						
						
						
					 
					
						2013-03-24 12:26:24 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Niedermayer 
							
						 
					 
					
						
						
						
						
							
						
						
							a05a44e205 
							
						 
					 
					
						
						
							
							Merge commit '7e350379f87e7f74420b4813170fe808e2313911'  
						
						... 
						
						
						
						* commit '7e350379f87e7f74420b4813170fe808e2313911':
  lavfi: switch to AVFrame.
Conflicts:
	doc/filters.texi
	libavfilter/af_ashowinfo.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.c
	libavfilter/buffersrc.c
	libavfilter/buffersrc.h
	libavfilter/f_select.c
	libavfilter/f_setpts.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/version.h
	libavfilter/vf_aspect.c
	libavfilter/vf_bbox.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavfilter/yadif.h
Following are notes about the merge authorship and various technical details.
Michael Niedermayer:
  * Main merge operation, notably avfilter.c and video.c
  * Switch to AVFrame:
    - afade
    - anullsrc
    - apad
    - aresample
    - blackframe
    - deshake
    - idet
    - il
    - mandelbrot
    - mptestsrc
    - noise
    - setfield
    - smartblur
    - tinterlace
  * various merge changes and fixes in:
    - ashowinfo
    - blackdetect
    - field
    - fps
    - select
    - testsrc
    - yadif
Nicolas George:
  * Switch to AVFrame:
    - make rawdec work with refcounted frames. Adapted from commit
      759001c534287a96dc96d1e274665feb7059145d by Anton Khirnov.
      Also, fix the use of || instead of | in a flags check.
    - make buffer sink and src, audio and video work all together
Clément Bœsch:
  * Switch to AVFrame:
    - aevalsrc
    - alphaextract
    - blend
    - cellauto
    - colormatrix
    - concat
    - earwax
    - ebur128
    - edgedetect
    - geq
    - histeq
    - histogram
    - hue
    - kerndeint
    - life
    - movie
    - mp (with the help of Michael)
    - overlay
    - pad
    - pan
    - pp
    - pp
    - removelogo
    - sendcmd
    - showspectrum
    - showwaves
    - silencedetect
    - stereo3d
    - subtitles
    - super2xsai
    - swapuv
    - thumbnail
    - tile
Hendrik Leppkes:
  * Switch to AVFrame:
    - aconvert
    - amerge
    - asetnsamples
    - atempo
    - biquads
Matthieu Bouron:
  * Switch to AVFrame
    - alphamerge
    - decimate
    - volumedetect
Stefano Sabatini:
  * Switch to AVFrame:
    - astreamsync
    - flite
    - framestep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at> 
						
						
					 
					
						2013-03-10 01:40:35 +01:00 
						 
				 
			
				
					
						
							
							
								Stefano Sabatini 
							
						 
					 
					
						
						
						
						
							
						
						
							c3fa6add58 
							
						 
					 
					
						
						
							
							lavfi/field: switch to filter_frame API  
						
						
						
						
					 
					
						2012-12-06 13:51:34 +01:00 
						 
				 
			
				
					
						
							
							
								Stefano Sabatini 
							
						 
					 
					
						
						
						
						
							
						
						
							3c4aa50620 
							
						 
					 
					
						
						
							
							lavfi: add field filter  
						
						... 
						
						
						
						The filter is a port of libmpcodecs/vf_field.c, since there is no common
code I relicensed it as LGPL, while keeping the original author
copyright. 
						
						
					 
					
						2012-10-31 12:07:11 +01:00