Mark Thompson
e3fb74f7f9
lavfi: Always propagate hw_frames_ctx through links
...
Also adds a new flag to mark filters which are aware of hwframes and
will perform this task themselves, and marks all appropriate filters
with this flag.
This is required to allow software-mapped hardware frames to work,
because we need to have the frames context available for any later
mapping operation in the filter graph.
The output from the filter graph should only propagate further to an
encoder if the hardware format actually matches the visible format
(mapped frames are valid here and have an hw_frames_ctx, but this
should not be given to the encoder as its hardware context).
2016-11-02 20:29:05 +00:00
Anton Khirnov
5b63b15663
lavfi: set the link hwframes context before configuring the dst input
...
The destination filter might expect the hw frames context to be already
set (this is the case e.g. for hwdownload).
2016-06-25 11:11:46 +02:00
Mark Thompson
07a844f32e
lavfi: generic hardware surface upload and download filters
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:41:04 +01:00
Anton Khirnov
b3dd30db0b
lavfi: pass the hw frames context through the filter chain
2016-02-14 22:21:00 +01:00
Nicolas George
48ff6683ba
lavfi: add a frame_rate field to AVFilterLink.
...
(cherry picked from ffmpeg commit 7b42036b3b
)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-11-09 08:09:34 +01:00
Vittorio Giovara
e65e4cbbda
lavfi: Drop deprecated *_count suffixed variables
...
Deprecated in 06/2012.
2015-08-28 16:01:13 +02:00
Vittorio Giovara
1a3eb042c7
Replace av_dlog with normal av_log at trace level
...
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Himangi Saraogi
88b160a457
avfilter: Return more meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-05 19:36:39 +01:00
Vittorio Giovara
ac84c1ce24
avfilter: check filter link validity
...
Remove now redundant check.
CC: libav-stable@libav.org
Bug-Id: CID 700371
2014-10-24 23:42:19 +01:00
Anton Khirnov
bba2a7cc5f
lavfi: use the correct filter context for logging an error.
2014-03-05 21:52:02 +01:00
Vittorio Giovara
abb5e37f64
avfilter: fix leaks on error in ff_filter_frame
2014-01-09 23:13:05 +01:00
Vittorio Giovara
884c7a6eb8
avfilter: fix const use of avfilter_next
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-28 07:58:23 +01:00
Vittorio Giovara
5c439b41d0
avfilter: have avfilter_get_by_name return const for next bump
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-28 07:57:44 +01:00
Anton Khirnov
0767bfd199
lavfi: allow user-provided execute() callbacks
2013-09-28 08:06:19 +02:00
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
2013-08-02 19:19:02 +02:00
Diego Biurrun
b5a138652f
Give less generic names to global library option arrays
2013-08-02 19:19:02 +02:00
Anton Khirnov
129bb23843
lavfi: add a slice threading infrastructure
...
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Anton Khirnov
7e2b15c094
avfilter: check a malloc in avfilter_link().
...
Additionally change sizeof(type) into sizeof(var)
2013-05-17 20:32:27 +02:00
Anton Khirnov
bf5b5d2b15
avfilter.c: cosmetics, reformat
2013-05-17 20:32:18 +02:00
Anton Khirnov
d79bd60405
lavfi: factorize freeing a link
2013-05-17 20:30:25 +02:00
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
2013-05-16 00:23:30 +02:00
Anton Khirnov
ffba2053ed
lavfi: fix compatibility code for old vf_scale options syntax
...
Currently it would incorrectly trigger on a string that contains a '='
but does not contain a ':', e.g. flags=<flags>.
2013-05-15 07:46:04 +02:00
Anton Khirnov
f160c6a18a
lavfi: do not segfault on NULL passed to avfilter_get_by_name()
2013-04-11 20:44:35 +02:00
Anton Khirnov
fa2a34cd40
lavfi: change the filter registering system to match the other libraries
...
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov
7e8fe4be5f
lavfi: add a function for counting elements in AVFilterPad arrays.
...
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov
1ba95a9cca
lavfi: add avfilter_init_dict() for initializing a filter with a dict.
2013-04-11 20:40:20 +02:00
Anton Khirnov
48a5adab62
lavfi: add avfilter_init_str() to replace avfilter_init_filter().
...
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov
1565cbc65c
lavfi: make avfilter_free() remove the filter from its graph.
2013-04-11 20:38:48 +02:00
Anton Khirnov
bc1a985ba0
lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
...
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov
4a37d4b3f8
lavfi: add const to the pads parameter of avfilter_pad_get_name/type
2013-04-11 20:33:23 +02:00
Anton Khirnov
8114c10160
lavfi: add avfilter_get_class().
...
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov
4d1f31ea44
lavfi: make AVFilterContext export filter options.
2013-04-09 19:13:10 +02:00
Anton Khirnov
62549f9655
lavfi: error out when options are provided to a filter that does not take any
2013-04-09 19:12:59 +02:00
Anton Khirnov
c43a7ecad9
lavfi: remove now unused args parameter from AVFilter.init
2013-04-09 19:12:38 +02:00
Anton Khirnov
ee0e8d4b15
vf_libopencv: switch to an AVOptions-based system.
2013-04-09 19:05:22 +02:00
Anton Khirnov
c334c113d4
vf_scale: switch to an AVOptions-based system.
2013-04-09 19:04:45 +02:00
Anton Khirnov
5aa1a668cf
vf_frei0r: switch to an AVOptions-based system.
2013-04-09 19:04:28 +02:00
Anton Khirnov
e67a87eac8
vf_(no)format: switch to an AVOptions-based system.
2013-04-09 18:56:39 +02:00
Anton Khirnov
4fa1f52e33
af_resample: switch to an AVOptions-based system.
2013-04-09 18:45:50 +02:00
Anton Khirnov
b439c992c2
lavfi: switch to an AVOptions-based system.
2013-04-09 18:45:37 +02:00
Anton Khirnov
556aab8f11
lavfi: use designated initializers in avfilter_class
2013-03-16 05:33:06 +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
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
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
Anton Khirnov
59ee9f78b0
lavfi: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Mans Rullgard
1fce361d70
lavfi: replace empty input/output lists with null pointers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 14:35:06 +01:00
Martin Storsjö
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Diego Biurrun
49c45a2624
avfilter: Fix printf format string conversion specifier
...
libavfilter/avfilter.c:224:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat]
2012-07-25 09:24:25 +02:00
Anton Khirnov
1a49a169eb
lavfi: make filters less verbose.
2012-06-26 19:08:13 +02:00