In avfilter_config_links(), if the current channel layout is not
specified, set the same value of the previous link in the filterchain.
Consistent with the logic used to set the other link parameters.
With this change avconv compiled against libav and linked to ffmpegs libs
will run through the whole fate testsuite without any crashes.
857 tests pass, the remaining tests fail one way or another, which is
to be expected as avconv is not a drop in replacement for ffmpeg
The testsuite used was the ffmpeg fate testsuite, not libavs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This allows dynamic reconfiguration of the filter.
The callback uses some code that was in the init function. Hence this code
has been moved in its own function.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Set x offset values in the range 0-7, rather than in the range 8-1.
The y loop is changed accordingly, to avoid confusion.
This also fixes output difference with the new pending native decimate
filter.
Memory obtained from av_realloc is not aligned enough for AVX.
The other similar allocations are changed too because they use
the same macro. The buffers were cleared afterwards anyway.
Fix trac ticket #1692.
This is a port of the MPlayer smartblur filter (libmpcodecs/vf_smartblur.c)
by Michael Niedermayer.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
This C99 feature is generally not used in the libav codebase,
since it breaks building with some fringe compilers (GCC 2.95,
MSVC).
Signed-off-by: Martin Storsjö <martin@martin.st>
Compilation failed since commit 42d621d131
Error messages:
libavfilter/af_asyncts.c:249:5: error: initializer element is not
computable at load time
libavfilter/af_asyncts.c:249:5: error: (near initialization for
‘avfilter_af_asyncts.priv_size’)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This filter is inspired upon libmpcodecs/vf_framestep.c, by Daniele
Forghieri.
Only-keyframe output is not supported, since that feature can be achieved
through the more versatile select filter.
This is due to the design of components iteration through AVClass
child_class_next() callback, which requires that two components cannot
share the same class.