1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

10372 Commits

Author SHA1 Message Date
Thilo Borgmann
79286d3eb6 avfilter/vf_blurdetect: fix uninitialized variables and possible div by zero
Found-by: Coverity
2022-04-27 11:41:41 +02:00
Paul B Mahol
39f22df6cd avfilter/vsrc_testsrc: fix typo for yellow patch 2022-04-26 22:04:30 +02:00
Paul B Mahol
944e60f4ae avfilter/vf_blurdetect: remove set but not used variables 2022-04-26 20:15:26 +02:00
Paul B Mahol
452d611fc7 avfilter/vf_lut3d: allow to control when to upload CLUT for haldclut 2022-04-26 20:07:04 +02:00
Thilo Borgmann
1da3394adb avfilter/vf_blurdetect: cleanup headers, remove unused variables, fix type of variable 2022-04-26 12:39:17 +02:00
Paul B Mahol
08ac8bda38 avfilter/vf_colormap: avoid reallocating memory to build map 2022-04-26 09:21:56 +02:00
Paul B Mahol
f908f365f9 avfilter/vf_colormap: change default nb_patches 2022-04-26 09:21:55 +02:00
Thilo Borgmann
b23208826b lavfi: Add blurdetect filter 2022-04-25 20:52:15 +02:00
Thilo Borgmann
22df52c444 lafi/vf_edgedetect: Move some common functions into seperate file 2022-04-25 20:52:15 +02:00
Paul B Mahol
fe85afbf8c avfilter/af_afftdn: use better approach for gain smoothing 2022-04-23 23:05:51 +02:00
Jan Ekström
eae3b84189 libavfilter/version: bump minor version for icc{gen,detect}
Missed during that patch set's life time.
2022-04-23 23:07:26 +03:00
Niklas Haas
2cb0cebd11 lavfi: add vf_iccdetect for parsing ICC profiles
This filter is designed to parse embedded ICC profiles and attempt
extracting colorspace tags from them, updating the AVFrame metadata
accordingly.

This is intentionally made a separate filter, rather than being part of
libavcodec itself, so that it's an opt-in behavior for the time being.
This also gives the user more flexibility to e.g. first attach an ICC
profile and then also set the colorspace tags from it.

This makes #9673 possible, though not automatic.

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-04-23 21:51:55 +02:00
Niklas Haas
5cfeaeef0c lavfi: add vf_iccgen for generating ICC profiles
This filter is designed to specifically cover the task of generating ICC
profiles (and attaching them to output frames) on demand. Other tasks,
such as ICC profile loading/stripping, or ICC profile application, are
better left to separate filters (or included into e.g. vf_setparams).

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-04-23 21:51:55 +02:00
Niklas Haas
b9a25963f7 lavfi: add ICC profile support via lcms2
This introduces an optional dependency on lcms2 into FFmpeg. lcms2 is a
widely used library for ICC profile handling, which apart from being
used in almost all major image processing programs and video players,
has also been deployed in browsers. As such, it's both widely available
and well-tested.

Add a few helpers to cover our major use cases. This commit merely
introduces the helpers (and configure check), even though nothing uses
them yet.

It's worth pointing out that the reason the cmsToneCurves for each
AVCOL_TRC are cached inside the context, is because constructing a
cmsToneCurve requires evaluating the curve at 4096 (by default) grid
points and constructing a LUT. So, we ideally only want to do this once
per curve. This matters for e.g. ff_icc_profile_detect_transfer, which
essentially compares a profile against all of these generated LUTs.
Re-generating the LUTs for every iteration would be unnecessarily
wasteful.

The same consideration does not apply to e.g. cmsCreate*Profile, which
is a very lightweight operation just involving struct allocation and
setting a few pointers.

The cutoff value of 0.01 was determined by experimentation. The lowest
"false positive" delta I saw in practice was 0.13, and the largest
"false negative" delta was 0.0008. So a value of 0.01 sits comfortaby
almost exactly in the middle.

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-04-23 21:51:55 +02:00
Niklas Haas
072dd047f0 lavfi: add ff_detect_color_primaries helper
Related to #9673, this helper exists to facilitate "guessing" the right
primary tags from a given set of raw primary coefficients.

The cutoff value of 0.001 was chosen by experimentation. The smallest
"false positive" delta observed in practice was 0.023329, while the
largest "false negative" delta was 0.00016. So, a value of 0.001 sits
comfortably in the middle.

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-04-23 21:51:55 +02:00
Niklas Haas
6d83036662 lavfi: generalize colorspace coefficent helpers
These are needed beyond just vf_colorspace, so give them a new home in
colorspace.h.

In addition to moving code around, also merge the white point and
primary coefficients into a single struct to slightly increase the
convenience and shrink the size of the new API by avoiding the need
to introduce an extra function just to look up the white point as well.
The only place the distinction matters is in a single enum comparison,
which can just as well be a single memcpy - the difference is
negligible.

Signed-off-by: Niklas Haas <git@haasn.dev>
2022-04-23 21:51:55 +02:00
Paul B Mahol
ce23794b91 avfilter/avf_showspectrum: filter support all channel counts 2022-04-23 19:24:43 +02:00
Paul B Mahol
a64e250680 avfilter/af_afftdn: add gain_smooth option 2022-04-23 16:25:45 +02:00
Paul B Mahol
16463520d9 avfilter: add colorchart video filter 2022-04-23 11:00:42 +02:00
Paul B Mahol
43ea19fef4 avfilter: add colormap video filter 2022-04-23 10:59:34 +02:00
Paul B Mahol
b1b7249606 avfilter/vf_lagfun: small speed-up 2022-04-23 10:58:29 +02:00
Michael Niedermayer
fbd22504c4 avfilter/vsrc_mandelbrot: Check for malloc failure
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-04-22 12:24:14 +02:00
Paul B Mahol
0b6e801d4a avfilter/avf_showfreqs: add option to draw subset of channels 2022-04-22 01:20:21 +02:00
Paul B Mahol
fd834924d7 avfilter/avf_showfreqs: filter support all channel counts 2022-04-22 01:20:21 +02:00
Michael Niedermayer
d353909e77 avfilter/vf_frei0r: Copy to frame allocated according to frei0r requirements
Fixes: issues with non trivial linesize

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-04-21 22:42:20 +02:00
Michael Niedermayer
d740782701 avfilter/video: Add ff_default_get_video_buffer2() to set specific alignment
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-04-21 22:42:20 +02:00
Paul B Mahol
b9e75c1862 avfilter/vf_ciescope: add option to disable CIE tongue filling 2022-04-19 22:08:15 +02:00
Paul B Mahol
da4b7c2be4 avfilter/vf_ciescope: little optimizations 2022-04-19 20:32:23 +02:00
Paul B Mahol
8b717a4044 avfilter/avf_ahistogram: set time_base to outlink
And rescale timestamps.
2022-04-19 19:22:40 +02:00
Paul B Mahol
d41f85235d avfilter/avf_avectorscope: set time_base to outlink
And rescale timestamps.
2022-04-18 20:24:54 +02:00
Paul B Mahol
9f73c40d32 avfilter/avf_showvolume: set time_base to outlink
And rescale timestamps.
2022-04-18 20:24:54 +02:00
Paul B Mahol
4e98cc29f4 avfilter/vf_feedback: add missing .process_command 2022-04-15 18:57:36 +02:00
Paul B Mahol
391ce570c8 avfilter: add pixelize video filter 2022-04-14 22:37:21 +02:00
Paul B Mahol
7e81295488 avfilter: add feedback video filter 2022-04-14 22:29:46 +02:00
Paul B Mahol
a34fe3dfa9 avfilter/avf_showspectrum: fix pts offset by one 2022-04-14 22:26:54 +02:00
Paul B Mahol
1764a6887b avfilter/avf_showspectrum: add alpha pixel format support 2022-04-14 17:29:14 +02:00
Paul B Mahol
bf6735e945 avfilter/af_adenorm: simplify handling of commands 2022-04-13 22:02:47 +02:00
Paul B Mahol
24144af2dd avfilter/avf_showvolume: check for allocation error and stop leaks 2022-04-13 18:24:25 +02:00
Paul B Mahol
9a22c6508a avfilter/vf_deblock: fix posible overreads 2022-04-13 10:25:08 +02:00
Paul B Mahol
b74f212b7a avfilter/vf_xmedian: simplify changing index variable 2022-04-13 09:54:20 +02:00
Paul B Mahol
9d40fe20c9 avfilter/af_crystalizer: remove no longer needed wrapper function 2022-04-13 09:41:14 +02:00
Paul B Mahol
63d12a48b5 avfilter/vf_chromashift: simplify handling of commands 2022-04-13 09:30:36 +02:00
Paul B Mahol
25cd1845ab avfilter/af_asetnsamples: fix excessive frames queueing at start 2022-04-12 19:30:58 +02:00
James Almer
b64043a83d avfilter/vf_drawbox: remove redefinition of DrawBoxContext typedef
It's forbidden in C99.

Should fix compilation with old non C11 compilers.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-04-12 11:09:59 -03:00
Gyan Doshi
1405b65d22 avfilter/lensfun: add option db_path
The lensfun filter, at present, loads its database from a path hardcoded
at build time. This may not be known or available to end users.

Added option db_path allows custom path.
2022-04-12 15:20:10 +05:30
Paul B Mahol
1047fedd0f avfilter: add Audio Video Sync Test filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2022-04-12 10:51:46 +02:00
Paul B Mahol
13fe148c31 avfilter/f_ebur128: fix typos for swr chlayouts 2022-04-11 23:14:54 +02:00
Paul B Mahol
6e45acd23b avfilter: let single output frame A->V filters set reasonable frame rate 2022-04-10 22:41:26 +02:00
Paul B Mahol
5a9de38e54 avfilter/vf_waveform: copy props from input frame 2022-04-08 18:54:00 +02:00
Paul B Mahol
a700dc3735 avfilter/vf_waveform: add some support for commands 2022-04-08 18:54:00 +02:00
Paul B Mahol
e528ced7c8 avfilter/vf_vectorscope: add some commands support 2022-04-08 18:54:00 +02:00
Paul B Mahol
49526852c3 avfilter/vf_drawbox: add packed rgb support 2022-04-08 12:17:26 +02:00
Paul B Mahol
8d6acba59a avfilter/vf_colorkey: use multiplication instead of division 2022-04-08 10:16:59 +02:00
Paul B Mahol
c3f5f1bc56 avfilter/vf_colorkey: add >8 depth support 2022-04-08 10:02:33 +02:00
Hendrik Leppkes
cd96211ace avfilter/f_ebur128: multiply in integer first, before dividing in float
Restores the order of operations from before 15a1104, which reduces
errors from floating point calculations, and fixes FATE on mingw64.
2022-04-07 16:37:51 +02:00
Paul B Mahol
55d414829c avfilter/af_ladspa: fix pts compensation if number of samples per frame is lower than latency 2022-04-07 09:39:55 +02:00
Paul B Mahol
4fbf3c828b avfilter/af_ladspa: compensate output pts if latency compensation is on 2022-04-06 16:59:45 +02:00
Paul B Mahol
21ca221068 avfilter/vsrc_gradients: add spiral type 2022-04-05 17:38:16 +02:00
Paul B Mahol
8e1cedbb61 avfilter/vsrc_gradients: add circular type 2022-04-05 17:38:16 +02:00
Paul B Mahol
854615adf2 avfilter/vf_mergeplanes: deprecate mapping option 2022-04-05 12:03:36 +02:00
Paul B Mahol
385bc756bf avfilter/vf_mergeplanes: add alternative for less user friendly option 2022-04-05 12:03:36 +02:00
Paul B Mahol
f92e4636fe avfilter/vf_mergeplanes: make map code more verbose 2022-04-05 12:03:36 +02:00
Paul B Mahol
e5189b1382 avfilter/vf_zscale: fix regression with src/dst_format initialization 2022-04-05 10:33:14 +02:00
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
Paul B Mahol
4a96baa2c8 avfilter/af_afftdn: unbreak custom band noise option processing 2022-03-15 15:17:27 +01:00
Paul B Mahol
098528ec59 avfilter/af_afftdn: after sampling noise, set full parameters 2022-03-15 15:17:27 +01:00
James Almer
cdba98bb80 Bump minor versions after the channel layout changes
Forgotten in the respective commits adding new API.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 11:12:21 -03:00
James Almer
55740299ef avfilter/af_sofalizer: fix getting speaker position
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 11:09:31 -03:00
James Almer
1f96db959c avfilter: convert to new channel layout API
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:46 -03:00
Paul B Mahol
2ba38beb79 avfilter/vf_epx: stop doing read overflow 2022-03-14 23:01:08 +01:00
Paul B Mahol
58f867ffef avfilter/avf_abitscope: rename macro to less generic one 2022-03-14 18:27:42 +01:00
Yiyuan GUO
2201c91fbf avfilter/vf_palettegen: add protection against potential divide by zero
In libavfilter/vf_palettegen.c, the function get_avg_color requires
that box->len greater than zero to avoid dividing by zero. However,
the call sequence filter_frame -> get_palette_frame -> get_avg_color
may not satisfy this precondition. Fixes #9222.

Signed-off-by: Yiyuan GUO <yguoaz@gmail.com>
2022-03-14 17:55:00 +01:00
Paul B Mahol
1ab83dd369 avfilter/vf_fieldhint: add pattern mode of filtering 2022-03-14 17:43:12 +01:00
Paul B Mahol
c0f49378a9 avfilter/af_afftdn: allow user to control number of bands 2022-03-14 17:43:12 +01:00
Paul B Mahol
deffacb6b4 avfilter/af_afftdn: use correct variable in for loops
Tehnically changes nothing as they are same value currently.
2022-03-14 17:43:12 +01:00
Paul B Mahol
a71a3d1ed2 avfilter/af_afftdn: stop producing small impulsive noise at start of output 2022-03-14 10:08:33 +01:00
Paul B Mahol
19614921e9 avfilter/vf_decimate: also check for ready frames if not ppsrc is used
Fixes filtering when cascading multiple decimate filters.
2022-03-13 21:59:54 +01:00
Paul B Mahol
07b8d6a897 avfilter/avf_showspectrum: stop rewriting pts
Also fix dropping of first frame for fullframe sliding.
2022-03-13 18:02:24 +01:00
Paul B Mahol
61224c856c avfilter/af_afftdn: add way to control noise floor link for >1 channels 2022-03-13 17:28:24 +01:00
Paul B Mahol
3cb5a5f64c avfilter/af_afftdn: improve residual tracking 2022-03-13 17:28:24 +01:00
Paul B Mahol
9e279c8c2d avfilter/af_afftdn: rename some variables to less cryptic name 2022-03-13 17:28:24 +01:00
Paul B Mahol
b578324b1d avfilter/af_afftdn: reduce some pointless pointer indirections 2022-03-13 17:28:24 +01:00
Paul B Mahol
447ca90bcf avfilter/af_afftdn: use define for sfm flags mask and size
Instead of hardcoding values.
2022-03-13 17:28:24 +01:00
Paul B Mahol
546afd0d49 avfilter/af_afftdn: allow user to change ratio factor
While here change default to lower value as previous
value were causing too much smearing on time axis of spectrogram.
2022-03-13 01:49:02 +01:00
Paul B Mahol
b2c6c7c4c5 avfilter/af_afftdn: stop sharing non-shareable parameters between channels 2022-03-13 01:49:02 +01:00
Paul B Mahol
df8163ae55 avfilter/af_afftdn: use RDFT instead
Makes spectral filtering less crude.
2022-03-12 18:58:24 +01:00
Paul B Mahol
b8af574477 avfilter/af_afftdn: reduce code duplication 2022-03-12 18:58:24 +01:00
Paul B Mahol
0bebff0c18 avfilter/af_afftdn: reduce scaling of input samples
It was multiplied too much.
2022-03-12 18:58:24 +01:00
Paul B Mahol
4a8b62c29a avfilter/af_afftdn: fix small memory leak 2022-03-12 12:12:25 +01:00
Paul B Mahol
386e5e4cfc avfilter/af_afftdn: change noise profile to floating point precision 2022-03-12 12:12:25 +01:00
Paul B Mahol
32e99157c2 avfilter/af_afftdn: generalize noise profile mean estimation 2022-03-12 12:12:25 +01:00
Paul B Mahol
983b15e5f4 avfilter/af_afftdn: use single define for number of bands in noise profile 2022-03-12 12:12:25 +01:00
Shubhanshu Saxena
d0a999a0ab libavfilter: Remove DNNReturnType from DNN Module
This patch removes all occurences of DNNReturnType from the DNN module.
This commit replaces DNN_SUCCESS by 0 (essentially the same), so the
functions with DNNReturnType now return 0 in case of success, the negative
values otherwise.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
1df77bab08 lavfi/dnn_backend_common: Return specific error codes
Switch to returning specific error codes or DNN_GENERIC_ERROR
when an error is encountered in the common DNN backend functions.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
515ff6b4f8 lavfi/dnn_backend_native: Return Specific Error Codes
Switch to returning specific error codes or DNN_GENERIC_ERROR
when an error is encountered.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
3fa89bd758 lavfi/dnn_backend_tf: Return Specific Error Codes
Switch to returning specific error codes or DNN_GENERIC_ERROR
when an error is encountered. For TensorFlow C API errors, currently
DNN_GENERIC_ERROR is returned.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
91af38f2b3 lavfi/dnn_backend_openvino: Return Specific Error Codes
Switch to returning specific error codes or DNN_GENERIC_ERROR
when an error is encountered. For OpenVINO API errors, currently
DNN_GENERIC_ERROR is returned.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
d0587daec2 lavfi/dnn_io_proc: Return Specific Error Codes
This commit returns specific error codes from the functions in the
dnn_io_proc instead of DNN_ERROR.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
b602f11a06 lavfi/dnn: Error Specificity in Native Backend Layers
This commit returns specific error codes from the execution
functions in the Native Backend layers instead of DNN_ERROR.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Shubhanshu Saxena
e5ce6a6070 libavfilter: Prepare to handle specific error codes in DNN Filters
This commit prepares the filter side to handle specific error codes
from the DNN backends instead of current DNN_ERROR.

Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
2022-03-12 15:10:28 +08:00
Paul B Mahol
e7caa18b4a avfilter/af_afftdn: remove special handling for first and last bin 2022-03-11 23:57:33 +01:00