Commit Graph

10209 Commits

Author SHA1 Message Date
Thilo Borgmann bb4e0f6162 lavfi/vf_siti.c: Relicense to LGPL 2.1 2022-04-02 13:14:00 +02:00
Andreas Rheinhardt 2b2380c098 avfilter: Constify non-const filters
This makes the filters match their declaration in
libavfilter/allfilters.c; the earlier discrepancy was btw UB.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-04-01 21:29:01 +02:00
Boris Baracaldo 80831e742b lavfilter: Add SITI filter
Calculate Spatial Info (SI) and Temporal Info (TI) scores for a video, as defined
in ITU-T P.910: Subjective video quality assessment methods for multimedia
applications.
2022-04-01 20:27:43 +02:00
Niklas Haas e301a24fa1 avfilter/vf_libplacebo: update for new tone mapping API
Upstream gained a new tone-mapping API, which we never switched to. We
don't need a version bump for this because it was included as part of
the v4.192 release we currently already depend on.

Some of the old options can be moderately approximated with the new API,
but specifically "desaturation_base" and "max_boost" cannot. Remove
these entirely, rather than deprecating them. They have actually been
non-functional for a while as a result of the upstream deprecation.

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-03-31 11:55:53 +02:00
Paul B Mahol 55e509b094 avfilter/af_join: do not dereference possible null pointer 2022-03-31 00:48:58 +02:00
Paul B Mahol 96ebf7dceb avfilter/f_realtime: add support for commands 2022-03-29 20:36:54 +02:00
James Almer 4a8f932fd9 avfilter/buffersrc: uninitialize the context ch_layout before overwritting it
av_buffersrc_parameters_set() can be called to set paramenters after the filter
was initialized with for example avfilter_graph_create_filter().

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-27 22:22:24 -03:00
SomeRGuy af6081273f avfilter/vf_subtitles: add additional font mime types
Since mkvmerge 19 has fonts types from RFC 8081 and mkvmerge 58 on windows use new file/magic library.

Signed-off-by: SomeRGuy <wwakabot@gmail.com>
2022-03-25 22:46:35 +01:00
Paul B Mahol a660136daa avfilter/vsrc_life: set outlink frame_rate 2022-03-25 18:20:01 +01:00
Paul B Mahol 3d131545ea avfilter/vsrc_cellauto: set outlink frame_rate 2022-03-25 18:20:01 +01:00
Paul B Mahol 4fb5b0368f avfilter/vsrc_mandelbrot: set outlink frame_rate 2022-03-25 18:20:01 +01:00
Paul B Mahol ccb33caf04 avfilter/vsrc_mandelbrot: rename misleading variable 2022-03-25 18:20:01 +01:00
Paul B Mahol 38804e0e23 avfilter/vsrc_mptestsrc: set outlink frame_rate 2022-03-25 18:20:01 +01:00
Paul B Mahol 5c2d333ecf avfilter/vsrc_gradients: set outlink frame_rate 2022-03-25 18:20:01 +01:00
Paul B Mahol a45b71570a avfilter/vsrc_gradients: rename misleading variable 2022-03-25 18:20:01 +01:00
Paul B Mahol 75929ed62b avfilter/vsrc_sierpinski: set frame_rate to outlink 2022-03-25 18:20:01 +01:00
Paul B Mahol d57a213998 avfilter/vsrc_sierpinski: rename misleading variable 2022-03-25 18:20:00 +01:00
Paul B Mahol 28d011516b avfilter/x86/vf_limiter: use movu, dst may not be always aligned
Happens with pad filter after limiter.
2022-03-24 09:44:09 +01:00
Andreas Rheinhardt ef92c352e7 avfilter/vf_vpp_qsv: Remove unnecessary lavc and lavf headers
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-23 23:45:38 +01:00
Andreas Rheinhardt 8abfc327bd avfilter/qp_table: Stop using FF_QSCALE_TYPE_*
All FF_QSCALE_TYPE values used by libavfilter originate
from libavfilter (namely from ff_qp_table_extract());
no value is exchanged between libavcodec and libavutil.
The values that are exchanged (and used in libavfilter)
are of type enum AVVideoEncParamsType.

Therefore this patch stops using said FF_QSCALE_TYPE_*
in libavfilter and uses enum AVVideoEncParamsType
directly.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-23 23:45:38 +01:00
Andreas Rheinhardt e142153bd7 avcodec/internal, avfilter/qp_table: Remove unused FF_QSCALE_TYPEs
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-23 23:45:38 +01:00
Oneric 66901ce162 avfilter/vf_subtitles: pass storage size to libass
Due to a quirk of the ASS format some tags depend on the exact storage
resolution of the video, so tell libass via ass_set_storage_size.

Reviewed-by: Soft Works <softworkz@hotmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-23 09:08:49 -03:00
Anton Khirnov 1b7ecb3eef avfilter: handle duplicates in the options string
Use the same logic as fftools/cmdutils - when a flag-type option starts
with [+-], append it to the existing value.
2022-03-22 18:49:43 +01:00
Anton Khirnov a0f04433f4 avfilter: simplify processing child context options
THe call to av_opt_set() is redundant, since the option is written in
the options dict, which is later passed to avfilter_init_dict().
2022-03-22 18:49:43 +01:00
Zhao Zhili 303ddab7ea avfilter/video: fix shadowed variable
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2022-03-22 18:49:30 +01:00
Marton Balint 5b3732227e avfilter/x86/vf_blend: use unaligned movs for output
Fixes crashes with:

ffmpeg -f lavfi -i allyuv=d=1 -vf tblend=difference128,pad=5000:ih:1 -f null x

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-21 00:50:44 +01:00
Paul B Mahol f8dc89b34d avfilter/af_afftdn: remove unused or set only variables 2022-03-19 10:55:35 +01:00
Paul B Mahol 7ae2ded0d1 avfilter/avf_ahistogram: fix off by one in slide mode 2022-03-19 10:53:38 +01:00
Martin Storsjö 2d368392a5 Keep including the full version.h when headers are included externally
This avoids unnecessary churn and build breakage for users, by
making sure the whole version.h is included like it has been so far,
while keeping the benefit of not needing to rebuild most files in
the ffmpeg tree on minor/micro bumps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-19 00:01:57 +02:00
Paul B Mahol b6af56c034 avfilter/af_afftdn: do not profile noise if number of sampled blocks is 0 2022-03-18 11:24:44 +01:00
Paul B Mahol 28447a4290 avfilter/af_afftdn: refactor set_noise_profile() 2022-03-18 11:24:44 +01:00
Paul B Mahol ef8283fe1c avfilter/af_afftdn: remove unused defines 2022-03-18 11:24:44 +01:00
Paul B Mahol 1636f9f599 avfilter/af_afftdn: expose floor offset factor option 2022-03-17 11:02:07 +01:00
Paul B Mahol ccb81acc3d avfilter/af_afftdn: rewrite noise floor tracking 2022-03-16 22:28:14 +01:00
Paul B Mahol 77d20a0f74 avfilter/af_afftdn: remove excessive operations 2022-03-16 22:28:14 +01:00
Marton Balint ea887ef876 avfilter/vf_zscale: realign output buffer if needed
Output buffer alignment might be different to ZIMG_ALIGNMENT or it may not be
aligned at all if a downstream filter (e.g. vf_pad) intentionally misaligns it.

Or maybe we should unconditionally always allocate output with
av_frame_get_buffer() instead of ff_get_video_buffer()?

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-16 20:20:56 +01:00
Marton Balint d5722d578e avfilter/vf_zscale: properly check return value of slice threads
Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-16 20:20:56 +01:00
Marton Balint c0351ee5c5 avfilter/vf_zscale: fix number of threads
Make sure it is between [1, MAX_THERADS] and also take into account the outlink
size in order not to request zero height output from zscale.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-16 20:20:56 +01:00
Martin Storsjö a78f136f3f configure: Use a separate config_components.h header for $ALL_COMPONENTS
This avoids unnecessary rebuilds of most source files if only the
list of enabled components has changed, but not the other properties
of the build, set in config.h.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-16 14:12:49 +02:00
Martin Storsjö f3a0e2ee2b doc: Add an entry to APIchanges about changes to version.h and version_major.h
Also bump the minor versions of all libraries, to signify the
API change of splitting the version.h headers and adding the
new version_major.h header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-16 14:12:46 +02:00
Martin Storsjö 288313a8b2 libavfilter: Split version.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-16 14:05:26 +02:00
James Almer f5d67469b0 avfilter/buffersink: simplify parsing the input channel layout string
And remove a stray comma in the list of supported separators.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 14:29:04 -03:00
Paul B Mahol 93a076db70 avfilter/af_biquads: fix possible leak on error
Recently introduced.
2022-03-15 16:22:56 +01:00
Andreas Rheinhardt ac7dc20a5d avfilter/af_join: Don't use memcpy for overlapping regions
Reported by ASAN as memcpy-param-overlap when running
the filter-join FATE-test.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-15 16:18:27 +01:00
Paul B Mahol 5b59c072f5 avfilter/af_biquads: fix regression with channels option processing 2022-03-15 16:07:57 +01:00
Paul B Mahol 9f81d12f87 avfilter/af_dynaudnorm: fix regression with channels option processing 2022-03-15 16:07:57 +01:00
Paul B Mahol 07c16cdd94 avfilter/af_speechnorm: fix regression in channels option processing 2022-03-15 16:07:57 +01:00
Paul B Mahol bd5da8ad96 avfilter/af_afftdn: refactor noise sampling 2022-03-15 15:17:27 +01:00
Paul B Mahol a2eb13c7e5 avfilter/af_afftdn: do not hardcode vector size 2022-03-15 15:17:27 +01:00
Paul B Mahol 26292d4b6b avfilter/af_afftdn: use log10 instead to get noise levels 2022-03-15 15:17:27 +01:00