aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* fate/atrac: add missing aresample filter dependencyJames Almer2024-03-151-3/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/amrwb: add missing aresample filter dependencyJames Almer2024-03-151-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/amrnb: add missing aresample filter dependencyJames Almer2024-03-151-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/alac: add missing aresample filter dependencyJames Almer2024-03-151-2/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/adpcm: add missing aresample filter dependencyJames Almer2024-03-151-22/+22
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/ac3: add missing aresample filter dependencyJames Almer2024-03-151-5/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/aac: add missing aresample filter dependencyJames Almer2024-03-151-5/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dvdvideodec: use int64_t for menu blocks_read and make format ↵Marth642024-03-151-7/+8
| | | | | | | expressions portable Signed-off-by: Marth64 <marth64@proxyid.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tests/snowenc: Fix mixed declaration and codeAndreas Rheinhardt2024-03-151-1/+1
| | | | | Reviewed-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Remove av_restrictAndreas Rheinhardt2024-03-1541-167/+130
| | | | | | | | | All versions of MSVC that support C11 (namely >= v19.27) also support the restrict keyword, therefore av_restrict is no longer necessary since 75697836b1db3e0f0a3b7061be6be28d00c675a0. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/internal: Remove declaration for ff_format_io_close_default()Andreas Rheinhardt2024-03-141-4/+0
| | | | | | Forgotten in d6799ee0e41dee35ebf9c664173aed8e3ab24141. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg_sched: Remove set-but-unused variableAndreas Rheinhardt2024-03-141-2/+0
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ppc/vp8dsp_altivec: Fix out-of-bounds accessAndreas Rheinhardt2024-03-141-1/+2
| | | | | | | | | | | | | | | h_subpel_filters_inner[i] and h_subpel_filters_outer[i / 2] belong together and the former allows the range 0..6, so the latter needs to support 0..3. But it has only three elements. Add another one. The value for the last element has been guesstimated from subpel_filters in libavcodec/vp8dsp.c. This is also intended to fix FATE-failures with UBSan here: https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu Tested-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg4videodec: Align idct-block appropriatelyAndreas Rheinhardt2024-03-141-1/+2
| | | | | | | | | | | It is accessed via AV_RN64A in ff_simple_idct_put_int32_10bit(). Should fix the UBSan failures in the mpeg4-simple-studio-profile test here: https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu Reviewed-by: Kieran Kunhya <kierank@obe.tv> Tested-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/lossless_videoencdsp: Fix unaligned accessAndreas Rheinhardt2024-03-141-8/+19
| | | | | | | | | | | | | | | | | | HAVE_FAST_UNALIGNED being true does not imply that one can simply read from any pointer via *(long*). It is undefined behaviour in case the pointer is not sufficiently aligned; and even if it is, it is (likely) a violation of the effective-type rules. Fix both of these by using the appropriate AV_[RW]N macros. Also, the current code used sizeof(long) as if this were the CPU's native arithmetic size, but this is not true on 64bit Windows. This has been fixed, too. This affected huffyuv FATE-tests. Tested-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avidec: Fix integer overflow iff ULONG_MAX < INT64_MAXAndreas Rheinhardt2024-03-141-1/+1
| | | | | | | | Affects many FATE-tests, see https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/ffmpeg: add missing idct decoder option to fate-ffmpeg-loopback-decodingJames Almer2024-03-141-1/+1
| | | | | | Should fix failures on x86_32 targets. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/ppc/h264dsp: Fix unaligned storesAndreas Rheinhardt2024-03-141-18/+17
| | | | | | | | Also fix an effective-type violation. Exposed by https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu Tested-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tiff_data: Remove incorrect GeoTIFF entriesAndreas Rheinhardt2024-03-141-4/+0
| | | | | | | | | | They are incorrect according to [1]. They also share keys with valid entries, so that it is unspecified which entry bsearch returns in this case. Fix this by removing the incorrect values. [1]: https://www.earthdata.nasa.gov/s3fs-public/imported/19-008r4.pdf Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tiff_data: Avoid relocations for TiffGeoTagNameTypeAndreas Rheinhardt2024-03-143-70/+92
| | | | | | | | | | | | | | | Instead store all the strings in one continugous string (with internal \0) and use offsets to access the actual substrings. This replaces the pointers to the strings and therefore avoids relocations (and on x64, it actually shrinks TiffGeoTagNameType by reusing padding to store the offset field). This saves 720B of .data.rel.ro and 1080B of .rela.dyn (containing the relocation records) here while increasing .rodata by 384B. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/ffmpeg: add a -threads input option to the loopback decoderJames Almer2024-03-141-2/+2
| | | | | | Honor the requested value passed when calling make fate. Signed-off-by: James Almer <jamrial@gmail.com>
* fate/ffmpeg: add a test for loopback decodingJames Almer2024-03-142-0/+64
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: hevc_pel: Use checkasm_check for printing failing outputMartin Storsjö2024-03-141-30/+41
| | | | | | | | This simplifies the code for checking the output, and can print the failing output (including a map of matching/mismatching elements) if checkasm is run with the -v/--verbose option. Signed-off-by: J. Dekker <jdek@itanimul.li>
* checkasm: hevc_pel: Split a couple excessively long linesMartin Storsjö2024-03-141-36/+98
| | | | Signed-off-by: J. Dekker <jdek@itanimul.li>
* checkasm: hevc_pel: Check the full output in hevc_epel/hevc_qpelMartin Storsjö2024-03-141-2/+2
| | | | | | | Previously it only checked half the output in 8 bit per pixel mode, as the output actually is 16 bit elements here. Signed-off-by: J. Dekker <jdek@itanimul.li>
* aarch64: Fix ff_hevc_put_hevc_epel_h48_8_neon_i8mmMartin Storsjö2024-03-141-5/+9
| | | | | | | | | | | | The first 32 elements of each row were correct, while the last 16 were scrambled. This hasn't been noticed, because the checkasm test erroneously only checked half of the output (for 8 bit functions), and apparently none of the samples as part of "fate-hevc" seem to trigger this specific function. Signed-off-by: J. Dekker <jdek@itanimul.li>
* fate: use atrim filter instead of -frames:a 20 for fate-filter-tremoloMarton Balint2024-03-141-2/+2
| | | | | | To make it independent of incoming wav demuxer packet size. Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: use a fixed wav demux packet size for amix testsMarton Balint2024-03-141-3/+3
| | | | | | | The dropout transition feature of the amix filter depends on the incoming packet size. Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: make filter-channelsplit test use a fixed frame sizeMarton Balint2024-03-141-2/+2
| | | | | | | Muxing multiple streams to raw files is allowed but the packets are interleaved, so the output is dependant of packet size. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/daudenc: force 2000 sample packet size with a bsfMarton Balint2024-03-144-37/+22
| | | | | | | | The samples I found all have 2000 sample packets, and by forcing the packet size with a bsf we could automagically make muxing work for packets containing more than 3640 samples. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/bsf/pcm_rechunk: add some more supported PCM formatsMarton Balint2024-03-141-1/+19
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/bsf/pcm_rechunk: reorder supported codec listMarton Balint2024-03-141-10/+10
| | | | | | Use lexical order. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/vvcdec: Mark as experimentalKieran Kunhya2024-03-132-2/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_cabac: Let compiler count offsetsAndreas Rheinhardt2024-03-132-200/+100
| | | | | | | | | | | | | | | | | | | | | | | This is easily possible with an X macro. Using an enum for the offsets also allows to remove two arrays which are not really needed and will typically be optimized away by the compiler: The first just exists to count the number of syntax elements*, the second one exists to get offset[CONSTANT]. These constants were of type enum SyntaxElement and this enum was only used in hevc_cabac.c (although it was declared in hevcdec.h); it is now no longer needed at all and has therefore been removed. The first of these arrays led to a warning from Clang which is fixed by this commit: warning: variable 'num_bins_in_se' is not needed and will not be emitted [-Wunneeded-internal-declaration] *: One could also just added a trailing SYNTAX_ELEMENT_NB to the SyntaxElement enum for this purpose. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: Fix doxygen comment markerMark Thompson2024-03-131-1/+1
|
* fftools/ffprobe: export IAMF Stream Group parametersJames Almer2024-03-1312-12/+948
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: export Tile Grid Stream Group parametersJames Almer2024-03-136-11/+165
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi/atempo: avoid asendcmd assertion failureRajiv Harlalka2024-03-131-9/+9
| | | | | | | Check for zeros equal to the total samples early, because in that case we would already be leaving the first few frames out. Fixes trac ticket #10692
* fftools/ffmpeg_enc: set AV_PKT_FLAG_TRUSTED on encoded packetsAnton Khirnov2024-03-132-0/+3
| | | | | | | | This allows using WRAPPED_AVFRAME encoders with loopback decoders in order to connect multiple filtergraphs together. Clear the flag in muxers, since lavf does not need it for anything and it would change the results of framecrc FATE tests.
* fftools/ffmpeg: add loopback decodingAnton Khirnov2024-03-1310-14/+336
| | | | | This allows to send an encoder's output back to decoding and feed the result into a complex filtergraph.
* fftools/ffmpeg: prepare FrameData for having allocated fieldsAnton Khirnov2024-03-131-10/+31
| | | | Will be useful in following commits.
* fftools/ffmpeg_sched: allow connecting encoder output to decodersAnton Khirnov2024-03-132-39/+181
|
* fftools/ffmpeg_sched: factor initializing nodes into separate functionAnton Khirnov2024-03-131-60/+91
| | | | Will be useful in following commits.
* fftools/ffmpeg_sched: allow encoders to send to multiple destinationsAnton Khirnov2024-03-131-19/+98
| | | | Will become useful in following commits.
* fftools/ffmpeg_enc: merge do_{audio,video}_out into frame_encode()Anton Khirnov2024-03-131-43/+22
| | | | | These functions used to be much longer, but now they are only a couple lines each, some of them duplicated between audio and video.
* fftools/ffmpeg_enc: drop unnecessary parameter from forced_kf_apply()Anton Khirnov2024-03-131-6/+6
| | | | | | | | Encoder timebase is equal to the frame timebase, so does not need to be passed separately. Also, rename in_picture to frame, which is shorter and more accurate - it always contains a frame, never a field.
* fftools/ffmpeg: remove unncessary casts for *_thread() return valuesAnton Khirnov2024-03-138-16/+16
| | | | | | These functions used to be passed directly to pthread_create(), which required them to return void*. This is no longer the case, so they can return a plain int.
* fftools/ffmpeg: simplify propagating fallback parameters from decoders to ↵Anton Khirnov2024-03-134-60/+67
| | | | | | | | | | | | | | | | | | | | filters Current callstack looks like this: * ifilter_bind_ist() (filter) calls ist_filter_add() (demuxer); * ist_filter_add() opens the decoder, and then calls dec_add_filter() (decoder); * dec_add_filter() calls ifilter_parameters_from_dec() (i.e. back into the filtering code) in order to give post-avcodec_open2() parameters to the filter. This is unnecessarily complicated. Pass the parameters as follows instead: * dec_init() (which opens the decoder) returns post-avcodec_open2() parameters to its caller (i.e. the demuxer) in a parameter-only AVFrame * the demuxer passes these parameters to the filter in InputFilterOptions, together with other filter options
* fftools/ffmpeg_filter: add logging for binding inputs to demuxer streamsAnton Khirnov2024-03-131-0/+8
|
* fftools/ffmpeg_filter: move filtergraph input type check to a better placeAnton Khirnov2024-03-131-7/+8
| | | | Perform it right after we figure out what the type is.