Nicolas George
183ce55b0d
lavfi: split frame_count between input and output.
...
AVFilterLink.frame_count is supposed to count the number of frames
that were passed on the link, but with min_samples, that number is
not always the same for the source and destination filters.
With the addition of a FIFO on the link, the difference will become
more significant.
Split the variable in two: frame_count_in counts the number of
frames that entered the link, frame_count_out counts the number
of frames that were sent to the destination filter.
2016-11-13 10:41:16 +01:00
Ganesh Ajjanagadde
db1a642cd2
all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h
...
The idea is to use ffmath.h for internal implementations of math functions.
Currently, it is used for variants of libm functions, but is by no means
limited to such things.
Note that this is not exported; use lavu/mathematics for such purposes.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
2016-03-22 10:15:31 -07:00
Ganesh Ajjanagadde
6c360ca8a1
lavfi/af_volume: replace pow(10,x) by ff_exp10(x)
...
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-25 10:48:18 -08:00
Ganesh Ajjanagadde
4d0d85c94a
avfilter/af_volume: use log10 instead of log()/M_LN10
...
This is likely more precise and conveys the intent better.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-29 18:46:00 -04:00
Clément Bœsch
cb8d71734c
avfilter/volume: drop useless trailing comma
2015-09-08 23:21:15 +02:00
Clément Bœsch
34201fcf74
avfilter/volume: fix missing filtering flags for a bunch of options
2015-09-08 23:20:02 +02:00
Clément Bœsch
ed28dd6301
avfilter/volume: use AV_OPT_TYPE_BOOL for replaygain_noclip option
2015-09-08 23:18:33 +02:00
Paul B Mahol
a0854c084e
avfilter: handle error in query_formats() in bunch of filters
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-04-08 13:05:06 +00:00
Gilles Chanteperdrix
dcf19008a6
avfilter/af_volume: fix precision=fixed and volume=0 case
...
When precision is fixed and volume is 0, filter_frame does not
perform any operation on the output buffer. This works if the
output buffer has been allocated and zeroed with ff_get_audio_buffer
but not if the input buffer is used as output buffer.
Fix this by not using the input buffer as output buffer if
precision is fixed and volume is 0.
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 02:37:56 +01:00
Michael Niedermayer
9e526213a2
avfilter/af_volume: Use avpriv_float_dsp_alloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 12:38:38 +01:00
Reimar Döffinger
d9e2aceb7f
Add missing "const" all over the place.
...
Only "./configure --enable-gpl" on x86 was tested.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-29 18:57:25 +02:00
Michael Niedermayer
878f8b0d26
Merge commit 'aaab192df24a90f4450285cfb73b395cf495b462'
...
* commit 'aaab192df24a90f4450285cfb73b395cf495b462':
af_volume: implement replaygain clipping prevention
Conflicts:
doc/filters.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:39:51 +02:00
Alessandro Ghedini
aaab192df2
af_volume: implement replaygain clipping prevention
...
This adds a new "replaygain_noclip" option to the filter, and, if enabled,
limits the gain applied for tracks where clipping would occur.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-13 11:25:06 +02:00
Michael Niedermayer
37af487170
Merge commit 'a49aa440c939e221194f8d95bf98673f8cf38a06'
...
* commit 'a49aa440c939e221194f8d95bf98673f8cf38a06':
af_volume: implement replaygain pre-amplification
Conflicts:
doc/filters.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 00:16:53 +02:00
Alessandro Ghedini
a49aa440c9
af_volume: implement replaygain pre-amplification
...
This adds a new "replaygain_preamp" option to the filter, and simply adds its
value to the replaygain gain value.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 18:53:05 +02:00
Michael Niedermayer
8de75f703a
Merge commit '06c3cd3c0186803619bc6aad2d8f06c3e9015d15'
...
* commit '06c3cd3c0186803619bc6aad2d8f06c3e9015d15':
af_volume: support using replaygain frame side data
Conflicts:
doc/filters.texi
libavfilter/af_volume.c
libavfilter/af_volume.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:04:47 +01:00
Anton Khirnov
06c3cd3c01
af_volume: support using replaygain frame side data
2014-03-24 06:07:51 +01:00
Michael Niedermayer
e3c93f1f84
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avfilter: Add missing emms_c when needed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 13:51:44 +01:00
Luca Barbato
e995cf1bcc
avfilter: Add missing emms_c when needed
...
Arch specific calls should have an emms_c following to keep the cpu
state consistent.
Reported-By: wm4
CC: libav-stable@libav.org
2014-03-05 11:00:05 +01:00
Michael Niedermayer
6b06f9f1bc
Merge commit '39c2880eeae6930b1036ce1f479afc1e1152c13f'
...
* commit '39c2880eeae6930b1036ce1f479afc1e1152c13f':
af_volume: preserve frame properties
Conflicts:
libavfilter/af_volume.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 22:13:42 +01:00
Anton Khirnov
39c2880eea
af_volume: preserve frame properties
2014-02-24 17:32:26 +01:00
Stefano Sabatini
baeda2bf92
lavfi/volume: fix NULL reference in filter_frame()
...
Fix crash.
2013-12-25 19:13:23 +01:00
Stefano Sabatini
ca0d8e839e
lavfi/volume: extend volume logging
2013-12-25 18:26:34 +01:00
Stefano Sabatini
97aa554634
lavfi/volume: implement process_command() callback, with the volume command
...
Address trac ticket #2868 .
2013-12-25 18:25:53 +01:00
Stefano Sabatini
7619a87cc8
lavfi/volume: support volume expression and per-frame expression evaluation
...
The eval mode allows to evaluate the expression per-frame or just at
init.
In particular, address ticket #3234 .
2013-12-25 18:25:04 +01:00
Stefano Sabatini
d5d51cf04d
lavfi/volume: support all channel counts
2013-12-02 23:52:24 +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
Anton Khirnov
cd43ca0443
lavfi: do not export the filters from shared objects
2013-10-28 15:29:54 +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
Clément Bœsch
1776177b7f
lavfi: replace passthrough_filter_frame with a flag.
...
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.
This commit is technically a small compat break, but the timeline was
introduced very recently.
Doxy by Stefano Sabatini.
2013-05-12 13:07:47 +02:00
Michael Niedermayer
a8ff830b79
Merge commit '093804a93cc5da3f95f98265a5df116912443cec'
...
* commit '093804a93cc5da3f95f98265a5df116912443cec':
avfilter: Add av_cold attributes to init/uninit functions
Conflicts:
libavfilter/af_ashowinfo.c
libavfilter/af_volume.c
libavfilter/src_movie.c
libavfilter/vf_lut.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:42:18 +02:00
Diego Biurrun
093804a93c
avfilter: Add av_cold attributes to init/uninit functions
2013-05-04 21:10:05 +02:00
Clément Bœsch
fdd93eabfb
lavfi: add timeline support.
...
Flag added in a few simple filters. A bunch of other filters can likely
use the feature as well.
2013-04-23 01:02:27 +02:00
Anton Khirnov
d69a4177b9
lavfi: remove now unused args parameter from AVFilter.init
...
Conflicts:
libavfilter/avfilter.c
libavfilter/vf_drawtext.c
libavfilter/vf_lut.c
libavfilter/vf_select.c
libavfilter/vf_setpts.c
libavfilter/vsrc_color.c
libavfilter/vsrc_movie.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Michael Niedermayer
ae6634da8b
Merge commit 'b13623e184759f37348b8fdb1276b1bb408f3e59'
...
* commit 'b13623e184759f37348b8fdb1276b1bb408f3e59':
af_volume: switch to an AVOptions-based system.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:44:13 +02:00
Anton Khirnov
c43a7ecad9
lavfi: remove now unused args parameter from AVFilter.init
2013-04-09 19:12:38 +02:00
Anton Khirnov
b13623e184
af_volume: switch to an AVOptions-based system.
2013-04-09 19:10:27 +02:00
Clément Bœsch
01b2d1288a
lavfi/volume: use designated initializers for the sample_fmts declaration.
2013-03-31 11:58:20 +02:00
Clément Bœsch
4dae804d3c
lavfi/volume: use copy props helper instead of incomplete manual code.
2013-03-31 11:58:20 +02:00
Nicolas George
e9ca55aedd
lavfi/af_volume: use standard options parsing.
2013-03-20 21:13:56 +01:00
Michael Niedermayer
0cfbfaaa12
Merge commit '7b89cd20d844cbe763ca34e63e99d110043cf241'
...
* commit '7b89cd20d844cbe763ca34e63e99d110043cf241':
eamad: allocate a dummy reference frame when the real one is missing
Replace remaining includes of audioconvert.h with channel_layout.h
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:44:15 +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
759001c534
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
Anton Khirnov
0651e892e1
Replace remaining includes of audioconvert.h with channel_layout.h
2013-03-08 07:42:13 +01:00
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Stefano Sabatini
10db70d5e9
lavfi: drop af_volume_stefano.c in favor of af_volume_justin.c
...
Justin's version has more features but is otherwise equivalent from the
point of view of the syntax.
2012-12-08 15:40:07 +01:00
Michael Niedermayer
1bb547192f
lavfi: rename af_volume to af_volume_stefano
...
This matches the naming style of the new af_volume_justin filter.
Note, Yes i would too prefer having one filter instead of 2.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 15:29:23 +01:00
Justin Ruggles
f96f1e06a4
x86: af_volume: add SSE2-optimized s16 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
b384e031da
lavfi: add volume filter
...
Based on the volume filter in FFmpeg written by Stefano Sabatini
<stefasab@gmail.com>.
2012-12-05 11:23:37 -05:00
Clément Bœsch
2d9d444051
lavfi: convert remaining input/output list compound literals to named objects.
...
This is following 568c70e79e
.
2012-11-28 23:19:20 +01:00
Michael Niedermayer
cd7febd33f
lavfi: replace filter_samples by filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00