1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-06-30 22:24:04 +02:00
Commit Graph

105948 Commits

Author SHA1 Message Date
09b5d3fb44 lavc: deprecate channel count/layout changing side data
They are incompatible with the new channel layout scheme and no decoder
uses them.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:29 -03:00
f423497b45 lavu: support AVChannelLayout AVOptions
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:29 -03:00
f51e169d2b fate: add a channel_layout API test
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:29 -03:00
086a804806 avutil/channel_layout: Add a new channel layout API
The new API is more extensible and allows for custom layouts.
More accurate information is exported, eg for decoders that do not
set a channel layout, lavc will not make one up for them.

Deprecate the old API working with just uint64_t bitmasks.

Expanded and completed by Vittorio Giovara <vittorio.giovara@gmail.com>
and James Almer <jamrial@gmail.com>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:29 -03:00
dcc3f62270 avcodec/flashsv: Avoid deflating data
Currently priming the zlib decompressor involves compressing
data directly after having decompressed it and decompressing
it again in order to set the "dictionary" and to initialize
the adler32-checksum. Yet this is wasteful and can be simplified
by synthetizing the compressed data via non-compressed blocks.

This reduced the amount of allocations for the decoding part
of fate-vsynth1-flashsv2, namely from
total heap usage: 9,135 allocs, 9,135 frees, 376,503,427 bytes allocated
to
total heap usage: 2,373 allocs, 2,373 frees, 14,144,083 bytes allocated

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-15 05:45:30 +01:00
88cccd1c73 avcodec/flashsv: Avoid copying packet
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-15 05:45:30 +01:00
c3fea6d83b aarch64: Only emit the PAC/BTI note section when targeting ELF
This avoids build errors if such features are enabled while targeting
another binary format. (Using such features on other platforms
might require some other form of signaling/setup though, but
the ELF specific .note section isn't applicable at least.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-15 00:44:28 +02:00
2ba38beb79 avfilter/vf_epx: stop doing read overflow 2022-03-14 23:01:08 +01:00
6f9b4b3e15 avcodec: Add dv marker bsf
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-03-14 19:58:54 +01:00
31c4c99ff9 tools/target_dec_fuzzer: Adjust threshold for DFA
Fixes: Timeout
Fixes: 45351/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DFA_fuzzer-5768895011618816

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-03-14 19:58:54 +01:00
58f867ffef avfilter/avf_abitscope: rename macro to less generic one 2022-03-14 18:27:42 +01:00
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
910a24eb33 avutil/hwcontext_vulkan: fix typo in undef 2022-03-14 17:50:07 +01:00
1ab83dd369 avfilter/vf_fieldhint: add pattern mode of filtering 2022-03-14 17:43:12 +01:00
c0f49378a9 avfilter/af_afftdn: allow user to control number of bands 2022-03-14 17:43:12 +01:00
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
4eb76e7461 fate: add decimate filter test 2022-03-14 17:43:12 +01:00
a71a3d1ed2 avfilter/af_afftdn: stop producing small impulsive noise at start of output 2022-03-14 10:08:33 +01:00
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
d794b36a77 avcodec/libsvtav1: remove version check macro workaround
The current minimum supported version defines the macro.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-13 15:29:06 -03:00
50bc872635 avcodec/libsvtav1: fine tune qp mode settings
As requested in https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1829

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-13 15:29:06 -03:00
4e47ebf38b avcodec/libsvtav1: deprecate some options
svtav1-params should be used for these.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-13 15:29:01 -03:00
07b8d6a897 avfilter/avf_showspectrum: stop rewriting pts
Also fix dropping of first frame for fullframe sliding.
2022-03-13 18:02:24 +01:00
61224c856c avfilter/af_afftdn: add way to control noise floor link for >1 channels 2022-03-13 17:28:24 +01:00
3cb5a5f64c avfilter/af_afftdn: improve residual tracking 2022-03-13 17:28:24 +01:00
9e279c8c2d avfilter/af_afftdn: rename some variables to less cryptic name 2022-03-13 17:28:24 +01:00
b578324b1d avfilter/af_afftdn: reduce some pointless pointer indirections 2022-03-13 17:28:24 +01:00
447ca90bcf avfilter/af_afftdn: use define for sfm flags mask and size
Instead of hardcoding values.
2022-03-13 17:28:24 +01:00
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
b2c6c7c4c5 avfilter/af_afftdn: stop sharing non-shareable parameters between channels 2022-03-13 01:49:02 +01:00
a4c4e6b9c0 movenc: Use LIBAVFORMAT_IDENT instead of LIBAVCODEC_IDENT
The muxer seems to have had one seemingly accidental use of
LIBAVCODEC_IDENT, while LIBAVFORMAT_IDENT probably is the
relevant one (which is used multiple times in the same file).

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-13 00:24:06 +02:00
df8163ae55 avfilter/af_afftdn: use RDFT instead
Makes spectral filtering less crude.
2022-03-12 18:58:24 +01:00
b8af574477 avfilter/af_afftdn: reduce code duplication 2022-03-12 18:58:24 +01:00
0bebff0c18 avfilter/af_afftdn: reduce scaling of input samples
It was multiplied too much.
2022-03-12 18:58:24 +01:00
4a8b62c29a avfilter/af_afftdn: fix small memory leak 2022-03-12 12:12:25 +01:00
386e5e4cfc avfilter/af_afftdn: change noise profile to floating point precision 2022-03-12 12:12:25 +01:00
32e99157c2 avfilter/af_afftdn: generalize noise profile mean estimation 2022-03-12 12:12:25 +01:00
983b15e5f4 avfilter/af_afftdn: use single define for number of bands in noise profile 2022-03-12 12:12:25 +01:00
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
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
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
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
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
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
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
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
e7caa18b4a avfilter/af_afftdn: remove special handling for first and last bin 2022-03-11 23:57:33 +01:00
ea777333de avfilter/af_afftdn: remove code that have marginal impact to denoising 2022-03-11 23:57:33 +01:00
707ad03096 avformat/movenc: Simplify creating chapter track extradata
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-11 18:08:31 +01:00
a909666d7c fate/mov: Add test for muxing chapters
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-11 17:58:40 +01:00