Ganesh Ajjanagadde
301c2784b3
lavfi/vf_overlay: fix memory leaks
...
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 1338327.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-09 07:57:57 -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
Clément Bœsch
9c52eafd5b
avfilter/overlay: use AV_OPT_TYPE_BOOL for rgb, shortest and repeatlast options
2015-09-09 00:33:02 +02:00
Michael Niedermayer
1a79850a8f
avfilter/vf_overlay: 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>
2015-03-20 19:11:58 +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
Stefano Sabatini
462c9ee3ac
lavfi/overlay: show incoming frames on debug messages
...
This is especially useful to debug queue overflow issues.
Ideally we should be able to set the debug message at the
dualinput/framesync level, but they do not have the information related
to the filter context and the inlink, so cannot access much useful
information.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-07-02 18:42:15 +02:00
Clément Bœsch
d5f817793e
avfilter/overlay: reindent
2014-06-29 13:26:12 +02:00
Michael Niedermayer
74a8dbe1c4
Merge commit '58400ac133bcfb6bf8196b4e5208bc178307739b'
...
* commit '58400ac133bcfb6bf8196b4e5208bc178307739b':
lavfi: name anonymous structs
Conflicts:
libavfilter/buffersink.c
libavfilter/f_select.c
libavfilter/src_movie.c
libavfilter/vf_drawbox.c
libavfilter/vf_drawtext.c
libavfilter/vf_overlay.c
libavfilter/vf_showinfo.c
libavfilter/vf_unsharp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:20:17 +02:00
Vittorio Giovara
58400ac133
lavfi: name anonymous structs
2014-04-19 16:20:57 +02:00
Michael Niedermayer
905cd28a5a
Merge commit 'de203abd71baae7f120313259b45cf935c85203e'
...
* commit 'de203abd71baae7f120313259b45cf935c85203e':
vf_overlay: add eof_action switch
Conflicts:
doc/filters.texi
libavfilter/vf_overlay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 14:33:33 +01:00
Keith Lawson
de203abd71
vf_overlay: add eof_action switch
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-02-04 10:54:26 +01:00
Stefano Sabatini
a270f63e83
lavfi/overlay: add yuv422 format mode
2014-02-02 11:50:21 +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
Benedict Endemann
696aa74b1a
lavfi/overlay: correct small error in intersection detection
...
The image size of the destination image was used to determine if a source
image was positioned outside the destination image, that no intersection
could occur. Actually for these two cases the size of the source image
has to be used!
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-27 15:01:02 +01:00
Paul B Mahol
cd1b22d8e8
avfilter/dualinput: simplify
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 08:47:40 +00:00
Nicolas George
231e50157c
lavfi/dualinput: reimplement on top of framesync.
2013-09-23 09:50:09 +02:00
Michael Niedermayer
4bc7a2a64b
avfilter: remove duplicate includes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02: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
Clément Bœsch
92a2d12a71
lavfi/overlay: remove do_blend forward declaration.
2013-05-27 20:42:46 +02:00
Clément Bœsch
4328602890
lavfi: add dual input helpers.
2013-05-27 20:32:28 +02:00
Michael Niedermayer
af00d68af0
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
vf_pad: use the name 's' for the pointer to the private context
vf_overlay: use the name 's' for the pointer to the private context
vf_lut: use the name 's' for the pointer to the private context
Conflicts:
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:03:52 +02:00
Anton Khirnov
a70519aad1
vf_overlay: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:36:04 +02: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
Clément Bœsch
f0250cc463
lavfi/overlay: simpler up-rounded w/h computations.
2013-05-09 16:59:43 +02:00
Clément Bœsch
d3f7b98f87
lavfi/overlay: reindent fix.
2013-05-07 15:43:28 +02:00
Clément Bœsch
15d2f26998
lavfi/overlay: support timeline through the new system.
2013-04-23 01:02:28 +02:00
Clément Bœsch
b8a5c76131
lavfi: add frame counter into AVFilterLink and use it in filters.
2013-04-23 01:02:27 +02:00
Michael Niedermayer
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>
2013-04-12 11:54:39 +02:00
Stefano Sabatini
9da369604e
lavfi/overlay: improve feedback in case of invalid expression
...
Based on vf_hue.c code.
2013-04-12 00:18:39 +02:00
Stefano Sabatini
aff6cebb41
lavfi/overlay: fix crash in case of invalid expression
2013-04-12 00:09:41 +02:00
Stefano Sabatini
ed2c827575
lavfi/overlay: add repeatlast option
2013-04-12 00:09:19 +02:00
Stefano Sabatini
a77454ec14
lavfi/overlay: reindent constants in option list
...
Wanted-By: ubitux
2013-04-12 00:07:46 +02:00
Clément Bœsch
fcaea2170f
lavfi/overlay: cleanup unused shorthand.
2013-04-11 12:41:13 +02:00
Paul B Mahol
16f1e832ba
lavfi/overlay: remove dupe initializer
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 20:44:11 +00:00
Michael Niedermayer
e434ddd4c6
Merge commit '9087eaf193b8ce99c41352064a81916fa66adb49'
...
* commit '9087eaf193b8ce99c41352064a81916fa66adb49':
vf_overlay: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/vf_overlay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:27:20 +02:00
Stefano Sabatini
d2752ef061
lavfi/overlay: add process_command callback
2013-04-10 13:11:27 +02:00
Stefano Sabatini
006e20bd36
lavfi/overlay: add enable expression
...
This expression is useful to enable/disable overlaying on the fly.
Note that this can't be easily done relying on the filtergraph structure,
since this implies caching issues or a null frame overlaying in the best
case, which is better avoided for performance and convenience reasons.
2013-04-10 13:11:27 +02:00
Stefano Sabatini
cc3edd99a6
lavfi/overlay: add dynamic expression evaluation support
...
Add support for dynamic x, y expressions evaluation.
Also add support for an evaluation mode which allows to disable per-frame
evaluation, so that there is no speedloss in case the expression does not
depend on frame variables.
2013-04-10 13:11:27 +02:00
Anton Khirnov
9087eaf193
vf_overlay: switch to an AVOptions-based system.
2013-04-09 19:06:13 +02:00
Stefano Sabatini
39aad43465
lavfi/overlay: fix debug PTS output in try_filter_frame()
...
The PTS of the input frames must be interpreted according to the input
timebase, which is not the same as the output timebase.
2013-03-31 18:00:44 +02:00
Clément Bœsch
e62587bc5e
lavfi/overlay: use standard options parsing.
2013-03-24 12:26:25 +01: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
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
8d9509377e
lavfi/overlay: improve log message warning in case of clipped overlay
2013-03-05 20:09:50 +01:00
Stefano Sabatini
f164228fd7
lavfi/overlay: add support for partial overlaying
...
Partially rework the iteration logic, in order to limit iteration only
for the clipped overlay region.
2013-03-05 20:09:21 +01:00
Michael Niedermayer
cfcab4c507
vf_overlay: silence warning: X may be used uninitialized in this function
...
Also ensure that format is valid in query_formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:10:35 +01:00
Stefano Sabatini
22b06103f0
lavfi/overlay: add format option
...
In particular, fix misbehavior in case main and overlay input formats
mismatch (e.g. YUV420 and YUV444).
2013-02-20 19:39:40 +01:00