Nicolas George
2f76476549
lavfi: regroup formats lists in a single structure.
...
It will allow to refernce it as a whole without clunky macros.
Most of the changes have been automatically made with sed:
sed -i '
s/-> *in_formats/->incfg.formats/g;
s/-> *out_formats/->outcfg.formats/g;
s/-> *in_channel_layouts/->incfg.channel_layouts/g;
s/-> *out_channel_layouts/->outcfg.channel_layouts/g;
s/-> *in_samplerates/->incfg.samplerates/g;
s/-> *out_samplerates/->outcfg.samplerates/g;
' src/libavfilter/*(.)
2020-09-08 14:02:40 +02:00
Andreas Rheinhardt
44bcd6f749
avfilter/af_channelmap: Fix double-free of AVFilterChannelLayouts on error
...
The query_formats function of the channelmap filter tries to allocate
a list of channel layouts which on success are attached to more permanent
objects (an AVFilterLink) for storage afterwards. If attaching succeeds,
the link becomes one of the common owners (in this case, the only owner)
of the list. Yet if the list has been successfully attached to the link
and an error happens lateron, the list was manually freed, which is wrong,
because it is owned by its link so that the link's pointer to the list will
become dangling and there will be a double-free/use-after-free when the link
is later cleaned up automatically.
This commit fixes this by removing the custom freeing code; this will
temporarily add a leaking codepath (if attaching the list fails, the list
will leak), but this will be fixed soon by making sure that an
AVFilterChannelLayouts without owner will be automatically freed when
attaching it to an AVFilterLink fails.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-23 23:32:28 +02:00
James Almer
0ed61546c4
Merge commit '88fd836a015a5f3380df74592e440e7d1e5b8000'
...
* commit '88fd836a015a5f3380df74592e440e7d1e5b8000':
lavfi: Drop deprecated way of passing options for a few filters
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:27:03 -03:00
Muhammad Faiz
6af050d7d0
avfilter: do not use AVFrame accessor
...
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-23 14:40:30 +07:00
Vittorio Giovara
88fd836a01
lavfi: Drop deprecated way of passing options for a few filters
...
Deprecated in 02/2013.
2017-03-23 09:57:32 +01:00
Marton Balint
01a19f77ca
avfilter/af_channelmap: add support for unknown input channel layouts
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-10 11:57:11 +01:00
Ganesh Ajjanagadde
924fcac521
lavfi/af_channelmap: 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 1338330.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-09 07:58:13 -05: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
Michael Niedermayer
f5a6a8336f
avfilter/af_channelmap: Reorder operations to avoid memleak
...
Fixes CID1322346
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-04 00:10:41 +02:00
Anton Khirnov
22ecfcd4c7
af_channelmap: properly set the supported output channel layouts
...
The current code expects query_formats() to be called exactly once, it
will leak if it's not called at all (filter initialized, but never
configured or used) or try to read freed memory if it's called more than
once.
Found-by: James Almer <jamrial@gmail.com>
CC: libav-stable@libav.org
2015-07-23 09:53:55 +02:00
Michael Niedermayer
9c31b39641
Merge commit '22ecfcd4c79cdf812fdf406525ddf0fd1f7114e4'
...
* commit '22ecfcd4c79cdf812fdf406525ddf0fd1f7114e4':
af_channelmap: properly set the supported output channel layouts
Conflicts:
libavfilter/af_channelmap.c
See: 39867f3e09
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 11:57:45 +02:00
Michael Niedermayer
39867f3e09
avfilter/af_channelmap: Move ff_add_channel_layout() call to querry_format()
...
Avoids memleak if querry_formats is not called
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 17:40:38 +02:00
Marton Balint
625bd463cd
af_channelmap: fix number of channels
...
Fixes segfaults with the following command:
ffmpeg -f lavfi -i aevalsrc=0:c=stereo:n=1920 -af 'channelmap=0' test.ac3
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:16:26 +01:00
Michael Niedermayer
9f6431c8f6
avfilter/af_channelmap: Move potential dereference after NULL check in get_channel_idx()
...
Fixes CID1270822
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 13:40:39 +01:00
Michael Niedermayer
579795b204
avfilter/af_channelmap: Check for missing argument in get_channel_idx()
...
Fixes null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 15:03:40 +01:00
Reynaldo H. Verdejo Pinochet
32288234a2
libavfilter/af_channelmap: avoid derreferencing possible null
...
ff_all_channel_layouts() might return null on alloc failure.
Fixes CID1241517
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Michael Niedermayer
e85bc9df87
Merge commit 'f0e959481968b6d906931127237ed981b6414f6e'
...
* commit 'f0e959481968b6d906931127237ed981b6414f6e':
af_channelmap: Set the frame channel layout
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 04:47:31 +02:00
Luca Barbato
f0e9594819
af_channelmap: Set the frame channel layout
...
Otherwise the frame would show the first layout matching the
channel count.
2014-08-02 00:58:21 +02:00
Michael Niedermayer
a62814abf4
avfilter/af_channelmap: Use av_mallocz_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:05:51 +02:00
Michael Niedermayer
c198af648a
Merge commit 'e843612695007cc623813073754c651ab43021f7'
...
* commit 'e843612695007cc623813073754c651ab43021f7':
af_channelmap: fix ONE_STR mapping mode
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 14:18:01 +01:00
Anton Khirnov
e843612695
af_channelmap: fix ONE_STR mapping mode
...
get_channel() returns 0 on success
CC:libav-stable@libav.org
2014-03-16 07:43:52 +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
Paul B Mahol
beda41886e
lavfi/channelmap: make use of AVFILTER_DEFINE_CLASS
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Michael Niedermayer
e41d3aba01
Merge commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8'
...
* commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8':
graphparser: only print filter arguments if they are non-NULL
af_channelmap: ensure the output channel layout is valid.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:16:31 +02:00
Michael Niedermayer
a1b8879714
Merge commit '949c603ed9210df0e1b8e1aa82c71b93543d8071'
...
* commit '949c603ed9210df0e1b8e1aa82c71b93543d8071':
af_channelmap: remove now unnecessary goto
vf_split: fix description
Conflicts:
libavfilter/split.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:11:01 +02:00
Anton Khirnov
8aaab1113c
af_channelmap: ensure the output channel layout is valid.
2013-04-30 11:16:37 +02:00
Anton Khirnov
949c603ed9
af_channelmap: remove now unnecessary goto
...
Options are freed from the generic code now, there is no need to call
av_opt_free() from the filter.
2013-04-30 11:16:22 +02:00
Michael Niedermayer
f60ba6c524
Merge commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347'
...
* commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347':
af_channelmap: cosmetics, use an extra local variable to shorten the code
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:13:14 +02:00
Michael Niedermayer
74e86d3147
Merge commit 'aafed1175df76603e94c99a7748968780d6548d2'
...
* commit 'aafed1175df76603e94c99a7748968780d6548d2':
af_channelmap: sanity check input channel indices in all cases.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:04:22 +02:00
Anton Khirnov
c0771a1ac6
af_channelmap: cosmetics, use an extra local variable to shorten the code
2013-04-17 08:37:59 +02:00
Anton Khirnov
aafed1175d
af_channelmap: sanity check input channel indices in all cases.
...
Fixes invalid reads from non-existing channels.
CC:libav-stable@libav.org
2013-04-17 08:37:59 +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
d9d7c54960
Merge commit 'ba8efac977f4276f05274947b2b67d144cbc965a'
...
* commit 'ba8efac977f4276f05274947b2b67d144cbc965a':
af_channelmap: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/af_channelmap.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:10:12 +02:00
Anton Khirnov
837112c0c8
af_channelmap: fix uninitialized variable use introduced in ba8efac977
2013-04-09 22:01:34 +02:00
Anton Khirnov
c43a7ecad9
lavfi: remove now unused args parameter from AVFilter.init
2013-04-09 19:12:38 +02:00
Anton Khirnov
ba8efac977
af_channelmap: switch to an AVOptions-based system.
2013-04-09 19:09:40 +02:00
Clément Bœsch
96e4b00d62
lavfi: remove remaining forgotten min/rej perms.
2013-03-10 02:38:21 +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
Michael Niedermayer
6c17ff84ad
Merge commit 'efa7f4202088c70caba11d7834641bc6eaf41830'
...
* commit 'efa7f4202088c70caba11d7834641bc6eaf41830':
Use the avstring.h locale-independent character type functions
avstring: Add locale independent versions of some ctype.h functions
Conflicts:
avprobe.c
doc/APIchanges
libavcodec/dvdsubdec.c
libavcodec/utils.c
libavutil/avstring.c
libavutil/avstring.h
libavutil/eval.c
libavutil/parseutils.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:57:41 +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
Reimar Döffinger
efa7f42020
Use the avstring.h locale-independent character type functions
...
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02: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
Anton Khirnov
565e4993c6
lavfi: merge start_frame/draw_slice/end_frame
...
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Michael Niedermayer
03b078721c
Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
...
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
doc: git-howto: Leave reviewers time to react before pushing patches
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/git-howto.texi
ffmpeg_filter.c
libavcodec/flacdec.c
libavcodec/imc.c
libavcodec/mpegaudiodec.c
libavcodec/utils.c
libavfilter/asrc_anullsrc.c
libavfilter/audio.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/buffer.c
libavutil/Makefile
libavutil/audioconvert.h
libavutil/channel_layout.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Michael Niedermayer
8943ad4014
Merge commit '4521645b1aee9e9ad8f5cea7b2392cd5f6ffcd26'
...
* commit '4521645b1aee9e9ad8f5cea7b2392cd5f6ffcd26':
avio: fix pointer type mismatches in avio_enum_protocols()
avserver: use socklen_t where appropriate
udp: use socklen_t where appropriate
network: use HAVE_THREADS instead of local hack
af_channelmap: remove stray enum declaration
buffersink: remove stray semicolon after function definition
Conflicts:
libavformat/avio.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 13:19:11 +01:00
Mans Rullgard
67a68dcec2
af_channelmap: remove stray enum declaration
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:43 +01:00
Michael Niedermayer
526cb36e4b
Merge commit '4436f25a1682ada3f7226cb6fadf429946933161'
...
* commit '4436f25a1682ada3f7226cb6fadf429946933161':
build: remove references to unused EXTRAOBJS variable
lavfi: convert input/ouput list compound literals to named objects
fate: add h263 obmc vsynth tests
avconv: remove bogus warning when using avconv -h without parameter
averror: explicitly define AVERROR_* values
flashsv: propagate inflateReset() errors
indeo4/5: remove constant parameter num_bands from wavelet recomposition
mxfdec: return error if no segments are available in mxf_get_sorted_table_segments
Double motion vector range for HPEL interlaced picture in proper place
Conflicts:
libavcodec/v210dec.h
libavfilter/af_aformat.c
libavfilter/af_amix.c
libavfilter/af_asyncts.c
libavfilter/af_channelmap.c
libavfilter/af_join.c
libavfilter/asrc_anullsrc.c
libavfilter/buffersrc.c
libavfilter/f_setpts.c
libavfilter/f_settb.c
libavfilter/fifo.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_blackframe.c
libavfilter/vf_boxblur.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_hflip.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_select.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/vsrc_testsrc.c
libavformat/mxfdec.c
libavutil/error.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:46:48 +02:00