aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fftools/ffmpeg: cosmeticsAnton Khirnov2022-10-041-43/+42
| | | | Reindent after previous commit, apply some style fixes.
* fftools/ffmpeg: move forced keyframe processing into its own functionAnton Khirnov2022-10-041-50/+58
|
* fftools/ffmpeg: drop always-true conditionsAnton Khirnov2022-10-041-4/+2
| | | | | in_picture->pts cannot be AV_NOPTS_VALUE, as it is set to ost->sync_opts a few lines above. ost->sync_opts is never AV_NOPTS_VALUE.
* fftools/ffmpeg: drop the -async optionAnton Khirnov2022-10-046-29/+2
| | | | | | | | | | | | It has been deprecated in favor of the aresample filter for almost 10 years. Another thing this option can do is drop audio timestamps and have them generated by the encoding code or the muxer, but - for encoding, this can already be done with the setpts filter - for muxing this should almost never be done as timestamp generation by the muxer is deprecated, but people who really want to do this can use the setts bitstream filter
* fate/opus: add silk LBRR test (refs #9890)Tristan Matthews2022-10-041-1/+2
| | | | | | This adds a fate test for a sample with LBRR packets. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavu/fixed_dsp: add missing av_restrict qualifiersJohannes Kauffmann2022-10-042-2/+2
| | | | | | | | | | The butterflies_fixed function pointer declaration specifies av_restrict for the first two pointer arguments. So the corresponding function definitions should honor this declaration. MSVC emits warning C4113 for this. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat/avio: Schedule AVIODirContext to become an opaque typeAndreas Rheinhardt2022-10-035-1/+15
| | | | | | | Users can't make anything with its content. Making it opaque might allow us to avoid one level of indirection. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/channel_layout: Don't mention dead projectAndreas Rheinhardt2022-10-031-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vorbis: Split data declarations out into new headerAndreas Rheinhardt2022-10-0310-13/+43
| | | | | | | | | vorbis.h currently contains stuff only used by the native Vorbis codecs and some Vorbis tables, which are also used by Opus and libvorbis. Therefore split the data out into a header of its own. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/rl2: Fix indentationAndreas Rheinhardt2022-10-021-8/+7
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/rl2: Fix undefined pointer arithmeticAndreas Rheinhardt2022-10-021-7/+28
| | | | | | | | | | Don't increment back_frame if it does not correspond to a real buffer. To do this, handle copying from the back frame separately from the "use coded value" codepath; also use memcpy for the former, as the chunks here are typically worth it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/rl2: Use ptrdiff_t for strideAndreas Rheinhardt2022-10-021-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/rl2: Don't presume stride to be > 0Andreas Rheinhardt2022-10-021-4/+6
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/rl2: Remove wrong checkAndreas Rheinhardt2022-10-022-112/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This check is intended to be avoid buffer overflows, yet there are four problems with it: 1. It has an in-built off-by-one error: len == out_end - out is perfectly fine and nothing to worry about. This off-by-one error led to the pixel in the lower-right corner not being set properly for the back frame of the sample from the rl2 FATE-test. This pixel is copied to every frame which is the reason for the update to the reference file of said test. With this patch, the output of the decoder matches the output as captured from the reference decoder* (apart from the fact that said reference somehow lacks the top part of the frame (copied over from the background frame)). 2. Given that the stride of the buffer may be different from the width of the video (despite one pixel taking one byte), there is a second check lateron making the first check redundant (if one returns immediately; a simple break at the second check is not sufficient, because it only exits the inner loop). 3. The check is based around the assumption of the stride being positive (it has this in common with the other check which will be fixed in a future commit). 4. Even after fixing the off-by-one error, the check in question is still triggered by all the non-background frames in the FATE sample as well as by A1100100.RL2. In all these cases, they use len == 255 and val == 128. For videos with background frame this just means "copy from the background frame", which would be done anyway lateron.* Yet for videos without it copying it is necessary to avoid leaving uninitialized parts in the video. *: Available in https://samples.mplayerhq.hu/game-formats/voyeur-rl2/ **: Due to this, the code that copies the rest from the back frame is no longer executed for any of the samples available on the sample server. Given that these are only the files from the demo version of this game, I don't know whether this code is executed for any file in existence or not. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg4audio: Move ff_copy_pce_data() to a header of its ownAndreas Rheinhardt2022-10-026-44/+72
| | | | | | | | | It is only used by three of the thirty files that (potentially indirectly) include mpeg4audio.h. Twenty of these files won't have a put_bits.h inclusion any more after this patch. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu: add an APIchanges entry for RISC-V CPU flagsAnton Khirnov2022-10-021-0/+5
| | | | Forgotten in 0c0a3deb18.
* fftools/ffmpeg: Remove unused frame_bits_per_raw_sample variableMarvin Scholz2022-10-021-1/+0
| | | | | | | Unused since the bits_per_raw_sample was made a per-output-stream option in 425889396137451ae30288c84122e28532b71596 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* fftools/ffmpeg: Remove unused do_deinterlace variableMarvin Scholz2022-10-021-1/+0
| | | | | | | Unused since removal of the -deinterlace option in d013453caafcc44c74d4bdbaa99ee4e8f32414cb Signed-off-by: Anton Khirnov <anton@khirnov.net>
* fftools: Remove unused videotoolbox_init declarationMarvin Scholz2022-10-021-2/+0
| | | | | | | The code that defined videotoolbox_init was removed in 4b54818981d2783af161c2ff670b658afbdda503 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* fftools: Remove unused qsv declarationsMarvin Scholz2022-10-021-4/+0
| | | | | | | The code that uses these was removed in ecee3b07cde23e05bcc6b4eaa55d860b62dbd2dc Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc/mediacodecdec_common: enable refcounting of buffers unconditionallysfan52022-10-021-5/+3
| | | | | | | | | | This allows av_mediacodec_release_buffer to be called safely after the decoder is closed, this was already the case with delay_flush=1. Note that this causes holding onto frames to keep the decoding context alive which is generally considered to be the intended behavior. Signed-off-by: sfan5 <sfan5@live.de> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* doc/APIchanges: mention the addition of AV_PIX_FMT_RGB[A]F*Anton Khirnov2022-10-021-1/+3
| | | | | | lavu minor bump was apparently forgotten for those, so mention them in the block adding av_chroma_location*(), which was the next lavu minor bump.
* avcodec/mjpegdec: Fix compilationAndreas Rheinhardt2022-09-301-1/+1
| | | | | | | Regression since 9a494b82d998823d0de68cb6b8db83cc451d1781. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: add Media 100i decoderPaul B Mahol2022-09-308-1/+243
|
* avcodec/mjpegdec: remove not needed operations on channel identifiersPaul B Mahol2022-09-301-14/+8
|
* avutil/tests/pixelutils: Test that all non-hw pix fmts have componentsAndreas Rheinhardt2022-09-301-0/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/tests/pixelutils: Use av_assert0 instead for test toolsAndreas Rheinhardt2022-09-301-1/+1
| | | | | | These are test tools, so they should be picky. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixdesc: Move ff_check_pixfmt_descriptors() to its only userAndreas Rheinhardt2022-09-303-52/+52
| | | | | | | Namely to lavu/tests/pixelutils.c. This way, this function will not be included into actual binaries any more. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixdesc: Avoid direct access to pix fmt desc arrayAndreas Rheinhardt2022-09-301-5/+13
| | | | | | | | | Instead use av_pix_fmt_desc_next(). It is still possible to check its return values by comparing it with the (currently) expected values and the code does so. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/pixdesc: Remove always-false checksAndreas Rheinhardt2022-09-301-3/+1
| | | | | | | | | | | | | | | | | | | | | ff_check_pixfmt_descriptors() was added in commit 20e99a9c10cdbe9ad659dce5bdec569d744f8219. At this time, the values of enum AVPixelFormat were not contiguous; instead there was a jump from 111 to 291 (or from 115 to 295 depending upon AV_PIX_FMT_ABI_GIT_MASTER). ff_check_pixfmt_descriptors() accounts for this by skipping empty descriptors. Yet this issue no longer exists: There are no holes. The check for said holes makes GCC believe that the name can be NULL; because it is used as argument corresponding to %s in a log statement, it therefore emits a warning (since d75c4693fef51e8f0a1b88798530f4c5147ea906). Therefore this commit simply removes these checks. Also move the checks for name before the log statement. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* sws/rgb2rgb: RISC-V 64-bit V packed YUYV/UYVY to planar 4:2:2Rémi Denis-Courmont2022-09-302-0/+63
| | | | | | | This is currently 64-bit only because the stack spilling code would not assemble on RV32I (and it would corrupt s0 and s1 on RV128I, in theory). This could be added later in the unlikely that someone wants it.
* sws/rgb2rgb: RISC-V V interleaveBytesRémi Denis-Courmont2022-09-302-0/+30
|
* sws/rgb2rgb: RISC-V V shuffle_bytes_xxxx functionsRémi Denis-Courmont2022-09-305-0/+130
|
* avcodec/mpegvideo: Fix undefined left shift of negative numbersAndreas Rheinhardt2022-09-301-4/+4
| | | | | | | Fixes the rv20-1239 FATE-test. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/jrevdct: Fix UB left shifts of negative numbersAndreas Rheinhardt2022-09-301-19/+19
| | | | | | | Affected the rv20-1239 FATE test. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tiff: Remove commented-out codeAndreas Rheinhardt2022-09-301-6/+1
| | | | | | | Also remove a variable that is only used in this commented-out codeblock. This fixes a -Wunused-variable warning. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* libavcodec/qsvenc: Let runtime to decide targetUsageWenbin Chen2022-09-301-1/+1
| | | | | | | | Set preset default value to MFX_TARGETUSAGE_UNKNOWN. Let runtime to decide the targetUsage, so that ffmpeg-qsv can keep up with runtime's update. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Let runtime to set default parameter.Wenbin Chen2022-09-302-5/+3
| | | | | | | | Unset qsv_h264 and qsv_hevc's default settings. Let runtime to decide these parameters, so that it can choose the best parameter and ffmpeg-qsv can keep up with runtime's update. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add pic_timing_sei reset support to qsvWenbin Chen2022-09-303-0/+27
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add bitrate reset support to qsvencWenbin Chen2022-09-303-0/+49
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* libavcodec/qsvenc: Add framerate reset support to qsvWenbin Chen2022-09-303-0/+31
| | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* avcodec/ac3dsp: Remove unused parameterAndreas Rheinhardt2022-09-297-13/+14
| | | | | | Forgotten in fd98594a8831ce037a495b6d7e090bd8f81e83a1. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* aarch64: me_cmp: Avoid using the non-unrolled codepath for the minimum ↵Martin Storsjö2022-09-291-3/+3
| | | | | | unroll size Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: me_cmp: Avoid redundant loads in ff_pix_abs16_y2_neonMartin Storsjö2022-09-291-14/+10
| | | | | | | | | | | | This avoids one redundant load per row; pix3 from the previous iteration can be used as pix2 in the next one. Before: Cortex A53 A72 A73 pix_abs_0_2_neon: 138.0 59.7 48.0 After: pix_abs_0_2_neon: 109.7 50.2 39.5 Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: vc1dsp: Canonicalize the syntax for aligned NEON loads/storesMartin Storsjö2022-09-291-20/+20
| | | | | | | | This hopefully should fix building with older toolchains, hopefully fixing the fate failures on http://fate.ffmpeg.org/history.cgi?slot=armel5tej-qemu-debian-gcc4.4. Signed-off-by: Martin Storsjö <martin@martin.st>
* riscv: Fix linking without RVV; change #ifdef into #ifMartin Storsjö2022-09-291-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/jpeg2000dwt: Fix left shift of negative numberAndreas Rheinhardt2022-09-291-1/+1
| | | | | | | | Fixes the j2k-dwt FATE-test; also fixes #9945. (I don't know whether the multiplication can overflow.) Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/display: Drop wrong comments about matrices being allocatedAndreas Rheinhardt2022-09-291-3/+3
| | | | | | These functions work just as well with stack based matrices. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/lsp: Make ff_lsp2polyf() staticAndreas Rheinhardt2022-09-293-25/+23
| | | | | | | | | | | | Possible since 48ac225db2563fe534b1d9e999bf8e70d5a577f8. Furthermore, the current code would not work on mips in case ff_lsp2polyf() were used outside of lsp.c, because it is not compiled on mips since commit 3827a86eacd04d9d7b356f769be553f7b8cca361 at all; instead it is overridden with a static av_always_inline function which only works for the callers in lsp.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/lsp: Move ff_lsp2polyf() upwards in lsp.cAndreas Rheinhardt2022-09-291-19/+16
| | | | | | | Will avoid a forward declaration lateron. Also adapt the function to modern style while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>