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
95b854dd06
avfilter/af_amix: rename sum option to normalize
...
It makes more sense to still use provided weights.
2021-02-12 23:01:52 +01:00
Paul B Mahol
5765149392
avfilter/af_amix: add sum option
2021-02-04 17:52:45 +01:00
Paul B Mahol
17b44f759e
avfilter/af_amix: do not leave unset PTS for frames after first stream is over
...
First stream is used only to get number of samples to put into each output frame.
2020-09-14 18:16:42 +02:00
Andreas Rheinhardt
44e376500f
avfilter/af_amix: Fix double-free of AVFilterChannelLayouts on error
...
The query_formats function of the amix filter tries to allocate a list
of channel layouts which are attached to more permanent objects
(an AVFilter's links) for storage afterwards on success. If attaching
a list to a link succeeds, the link becomes one of the common owners
of the list. Yet if a list has been successfully attached to links (or if
there were no links to attach it to in which case
ff_set_common_channel_layouts() already frees the list) and an error
happens lateron, the list was manually freed, which is wrong, because
the list has either already been freed or it is owned by its links in
which case these links' pointers to their list will become dangling and
there will be double-frees/uses-after-free when these links are cleaned
up automatically.
This commit fixes this by removing the custom freeing code; this is made
possible by using the list in ff_set_common_channel_layouts() directly
after its allocation (without anything that can fail in between).
Notice that ff_set_common_channel_layouts() is buggy itself which can
lead to double-frees on error. This is not fixed in this commit.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-23 23:26:15 +02:00
Andreas Rheinhardt
27f35fd121
avfilter/af_amix: Don't needlessly reallocate table
...
Replace using ff_add_format() repeatedly by a single call to
ff_make_format_list(). (Right now this also fixes a memleak: If the
first ff_add_format() succeeds and a subsequent call fails, the list
leaks.)
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-23 23:24:04 +02:00
Paul B Mahol
d8147c4e2d
avfilter/af_amix: make weights option runtime configured
2020-04-29 19:18:25 +02:00
Paul B Mahol
0607f1bcb0
avfilter/af_amix: unbreak FATE, increase iterator when breaking from loop
2020-04-14 19:21:23 +02:00
Paul B Mahol
10a68ccd58
avfilter/af_amix: use av_strtod() for weights
2020-04-14 12:38:47 +02:00
Limin Wang
dd39dbf983
avfilter/af_amix: change the max range of the number of inputs
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-01-11 11:35:51 +01:00
Paul B Mahol
d492907e78
avfilter/af_amix: fix filtering if specified weights are negative
2019-10-03 10:27:56 +02:00
Paul B Mahol
20a3c4f606
avfilter: forward status back in some filters that missed it
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-05-05 21:32:33 +02:00
Paul B Mahol
8dff6c2844
avfilter/af_amix: add weights option
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-04-01 20:36:35 +02:00
Paul B Mahol
63826a0b82
avfilter/af_amix: make use of av_asprintf()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 17:09:48 +01:00
Paul B Mahol
99b6e68441
avfilter/af_amix: do not request samples if inlink reached EOF
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-27 08:53:50 +02:00
Paul B Mahol
7f5c655833
avfilter/af_amix: simplify const entries for duration in amix_options[]
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-26 21:17:27 +02:00
Paul B Mahol
15e9c4afdc
avfilter/af_amix: switch to activate
...
Really fixes hangs and infinite loops.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-26 20:59:21 +02:00
Paul B Mahol
1e7ce6d925
avfilter/af_amix: check ff_insert_inpad() for failure
2017-08-25 09:36:22 +02:00
Derek Buitenhuis
b198e09138
af_amix: Add missing error check
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-07-07 15:32:03 -04:00
Paul B Mahol
478a1949d9
avfilter/af_amix: fix possible hang
...
Fixes #6424 .
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-18 21:06:54 +02:00
Paul B Mahol
75b854adbd
avfilter/af_amix: add double sample format support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-10 12:04:14 +02:00
Warblefly
47ccefac21
libavfilter/af_amix.c Increase sources from 32 to 1024
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-09 03:51:19 +02:00
Paul B Mahol
b257266ee8
avfilter/af_amix: use ff_all_channel_counts() instead of ff_all_channel_layouts()
...
Adds support for filtering frames with unknown channel layouts.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-09-10 13:05:31 +02:00
Michael Niedermayer
3a3265899b
avfilter/af_amix: make independent of the channel layout
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-09-06 12:36:28 +02:00
Michael Niedermayer
abc957e896
avfilter/af_amix: dont fail if there are no samples in output_frame()
...
Fixes Ticket5326
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-06 00:31:05 +02:00
Ganesh Ajjanagadde
89bbf01978
lavfi/af_amix: fix memory leak
...
Recent commits 6aaac24d72
and
3835554bf8
made progress towards cleaning
up usage of the formats API, and in particular fixed possible NULL pointer
dereferences.
This commit addresses the issue of possible resource leaks when some intermediate
call fails.
Tested with valgrind --leak-check=full --show-leak-kinds=all, and manual simulation
of malloc/realloc failures.
Fixes: CID 1250334.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-09 07:58:19 -05:00
Nicolas George
a08fb3983f
lavfi/af_amix: mostly fix scheduling.
2015-11-07 16:43:36 +01:00
Ganesh Ajjanagadde
6aaac24d72
avfilter/all: propagate errors of functions from avfilter/formats
...
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.
All of these were found by using av_warn_unused_result, demonstrating its utility.
Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.
Fixes: CID 1325680, 1325679, 1325678.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04: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
Michael Niedermayer
34bddf443c
avfilter/af_amix: Use av_mallocz_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 15:04:38 +02:00
Paul B Mahol
145a84717b
lavfi: check av_strdup() return value
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-06 10:02:11 +00:00
Michael Niedermayer
aa97223f14
avfilter/af_amix: Use avpriv_float_dsp_alloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 12:24:16 +01:00
Reynaldo H. Verdejo Pinochet
a9ea79bb49
libavfilter/af_amix: avoid derreferencing possible null
...
ff_all_channel_layouts() might return null on alloc failure.
Fixes CID1241516
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Michael Niedermayer
81a663f49e
Drop remaining unneeded != NULL
...
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer
f240740712
avfilter/af_amix: Use av_mallocz_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:06:14 +02: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
Thilo Borgmann
d814a839ac
Reinstate proper FFmpeg license for all files.
2013-08-30 15:47:38 +00: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
Michael Niedermayer
16fc24b240
Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'
...
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
lavfi: mark filters with dynamic number of inputs or outputs with special flags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:30:34 +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
Anton Khirnov
7cdd737ba8
lavfi: mark filters with dynamic number of inputs or outputs with special flags
...
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Michael Niedermayer
314be1933e
Merge commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066'
...
* commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066':
af_amix: switch to an AVOptions-based system.
Conflicts:
libavfilter/af_amix.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:32:08 +02:00
Anton Khirnov
c43a7ecad9
lavfi: remove now unused args parameter from AVFilter.init
2013-04-09 19:12:38 +02:00
Anton Khirnov
ac20e3ab8e
af_amix: switch to an AVOptions-based system.
2013-04-09 19:09:26 +02: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
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
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