summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avcodec/decode: remove HDR10+ from the global side data arrayJames Almer2024-03-05
| | | | | | | It's a per packet/frame side data type. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate/iamf: print stream dispositionJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/mov: add a heic test with a derived image using a single item twiceJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/mov: use framecrc for the remaining avif/heic testsJames Almer2024-03-05
| | | | | | Put them in sync with the other tests. Signed-off-by: James Almer <jamrial@gmail.com>
* fate/mov: print stream group information for avif/heic testsJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext_videotoolbox: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-05
| | | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to VTFramesContext as one no longer has to go through AVHWFramesInternal. Tested-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mov: fix setting dependent disposition on ambisonic IAMF streamsJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/mov: print stream group information for iamf testsJames Almer2024-03-05
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fate/iamf: print stream group informationJames Almer2024-03-05
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: add support for Stream GroupsJames Almer2024-03-05
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: fix printing side data components and piecesJames Almer2024-03-05
| | | | | | | | | Components and pieces are side data specific fields and there's a variable amount of them. They also need to be identified in some form, so print a type too. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avformat: add a function to return the name of stream groupsJames Almer2024-03-05
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/iamf_writer: constify some variablesJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/iamf_writer: clear extradata_size on extradata allocation failureJames Almer2024-03-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dashenc, hlsenc: Return 0 on succes from write_headerAndreas Rheinhardt2024-03-05
| | | | | | | | | | | | | Do not propagate the return value of avformat_write_header(), as it contains the information whether the output had already been initialized in avformat_init_output(), but this is set generically; the return value of FFOutputFormat.write_header is not documented at all (and is currently ignored if >= 0), but it is more future-proof to simply return 0 on success. Reviewed-by: Liu Steven <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/hlsenc: Redo checking for strftime %s support to avoid warningsAndreas Rheinhardt2024-03-05
| | | | | | | | | This is intended to avoid -Wformat= warnings on systems where %s might not be supported (and also generally emitted by GCC with -pedantic). Reviewed-by: Liu Steven <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mediacodecenc: Add a hint message to use nv12 pix_fmtZhao Zhili2024-03-05
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/avio: Avoid av_strdup(NULL)Andreas Rheinhardt2024-03-05
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avio: Avoid indirection in ffio_fdopen()Andreas Rheinhardt2024-03-05
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avio: Avoid function pointer castsAndreas Rheinhardt2024-03-05
| | | | | | | It is undefined behaviour to use a different type for a call than the actual type of the function. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/aviobuf: Move code specific to URLContexts to avio.cAndreas Rheinhardt2024-03-05
| | | | | | | This separates the URL-layer adjacent parts of the code from the parts that are also usable with custom IO. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-05
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to QSVFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_qsv: Allocate public and priv device hwctx togetherAndreas Rheinhardt2024-03-05
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to QSVDeviceContext as one no longer has to go through AVHWDeviceInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_d3d11va: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-05
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to D3D11VAFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_dxva2: Allocate pub and priv frames hwctx togetherAndreas Rheinhardt2024-03-05
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to DXVA2FramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/iamfenc: ensure updated extradata is writtenJames Almer2024-03-04
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/iamf_writer: update extradata from packet side dataJames Almer2024-03-04
| | | | | | | Some encoders, like flac, propagate updated extradata at the end of encoding as packet side data. Use it to update the relevant codec_config. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: set stream index field in tile gridsJames Almer2024-03-04
| | | | | | It was forgotten for grid type derived images. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: don't mark an item referenced by a grid as dependent if it's ↵James Almer2024-03-04
| | | | | | | | | the primary item If it's the primary item, then it's expected to be ready for presentation even outside of the grid it belongs to. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: fix setting disposition for the first iamf streamJames Almer2024-03-04
| | | | | | st->disposition will be overwritten with disposition later in the function. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: do not specify -ldvdread, as pkg-config check is already doneMarth642024-03-04
| | | | | Reported-by: BtbN Signed-off-by: Marth64 <marth64@proxyid.net>
* fix "@param foo[in/out]" to "@param[in, out] foo"Andrew Sayers2024-03-04
| | | | | | | | | | | | | | Fix a few invalid doxygen comments: /** * @param[in,out] correctly_formatted * @param incorrect1[in] - [in] must come immediately after @param * @param incorrect2[in/out] - '/' must be ',' */ Actual command: sed -i -e "s/\(\* .*param\)\( [^\[]*\)\(\[.*\]\)/\1\3\2/g" -e "s/in\//in,/" $( git grep -l "\* .*param .*\[\(in\|out\)" ) Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* fix "param"s that should be "@param"Andrew Sayers2024-03-04
| | | | | | Actual command: sed -i -e "s/\(^ *\\* \)\(param[^a-z]\)/\1@\2/" $( git grep -l "^ *\\* param[^a-z]" ) Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* avcodec/avcodec: downgrade multi-member comment to non-Doxygen commentAndrew Sayers2024-03-04
| | | | | | | Doxygen only associates this comment with "pts_correction_num_faulty_pts", causing it to display incorrectly. Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* avcodec/ivi: make comments more Doxygen-friendlyAndrew Sayers2024-03-04
| | | | | | | | | | | | | | Doxygen eats the newline in the first comment, making it harder to read. Join the lines and add a comma, so source and documentation are equally readable. Doxygen only associates the second comment with cust_dec. The comments for cust_dec and cust_tab make perfect sense without it, so downgrade it to a non-doxygen "//" comment. The third comment was missed by the command in the previous commit, because it (correctly but uniquely) doesn't have a trailing comma. Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* fix /// comments that should be ///<Andrew Sayers2024-03-04
| | | | | | Actual command: sed -i -e "s/\([;,] *\)<* *\/\/\/ *<* */\1\/\/\/< /" $( git grep -l "[;,] */// " ) Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* avutil/hwcontext_vdpau: Don't use AVHWFramesInternal.privAndreas Rheinhardt2024-03-04
| | | | | | | | Use AVHWFramesContext.hwctx instead. This simplifies access to VDPAUFramesContext as one no longer has to go through AVHWFramesInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_vdpau: Allocate public and priv device hwctx togetherAndreas Rheinhardt2024-03-04
| | | | | | | | | This is possible because the lifetime of both coincide. Besides reducing the number of allocations this also simplifies access to VDPAUDeviceContext as one no longer has to go through AVHWDeviceInternal. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffplay: stop printing non-public AVCodecContext fieldsAnton Khirnov2024-03-04
| | | | They are documented as not intended for caller use.
* avcodec/vvcdec: fix undefined behaviours for derive_affine_mvcNuo Mi2024-03-04
| | | | | | | libavcodec/vvc/vvc_inter.c:823:18: runtime error: signed integer overflow: 1426128896 + 1426128896 cannot be represented in type 'int' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libavcodec/vvc/vvc_inter.c:823:18 Suggested-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vvcdec: fix boundary strength when IBC involvedNuo Mi2024-03-04
| | | | | | | | | | | | | | The following cases should set bs to 1: If the prediction modes are not the same. If both prediction modes are MODE_IBC, but the motion vector delta is larger than 8 of 1/16 pixels. see 8.8.3.5 How to reproduce it: vvencapp -i sintel_trailer_2k_1080p24.y4m --preset fast --additional "IBC=1" -o sintel.266 ffmpeg -i sintel.266 -f md5 - md5 will mismatch Found-by: 6ws at https://github.com/ffvvc/FFmpeg/issues/187#issuecomment-1962842135
* doc/ffprobe.xsd: add <components> and <pieces>Niklas Haas2024-03-04
| | | | | Originally introduced for dovi side data printing, but not properly reflected in the xsd.
* doc/ffprobe.xsd: add frameSideDatumType entryNiklas Haas2024-03-04
| | | | | | Frame-level side data attributes are printed with the same key/value structure as packet-level side data attributes, but this is not reflected in the XSD.
* fftools/cmdutils: Inline print_error()Andreas Rheinhardt2024-03-04
| | | | | | | | It is only used by ffprobe (once) and ffplay (twice); inlining it avoids including it unnecessarily into ffmpeg. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/demuxers: emphasize that DVD demuxer does not do decryptionMarth642024-03-04
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* Changelog: restore new lineMarth642024-03-04
| | | | | | | A new line was removed in a1304272c3a0ef7c3d77c702dd466b3f11bf300f which breaks consistency in between versions. Signed-off-by: Marth64 <marth64@proxyid.net>
* avformat/dvdvideodec: fix -pgc and -pg optionsMarth642024-03-04
| | | | | | | | | | Rebased on top of recently merged fixes (should apply correctly now). In merged DVD patch, -pgc and -pg options were broken. While these are rather advanced options, they are the only means to get content for some strangely authored discs. Signed-off-by: Marth64 <marth64@proxyid.net>
* aarch64: Use regular hwcaps flags instead of HWCAP_CPUID for CPU feature ↵Martin Storsjö2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | detection on Linux This makes the code much simpler (especially for adding support for other instruction set extensions), avoids needing inline assembly for this feature, and generally is more of the canonical way to do this. The CPU feature detection was added in 493fcde50a84cb23854335bcb0e55c6f383d55db, using HWCAP_CPUID. The argument for using that, was that HWCAP_CPUID was added much earlier in the kernel (in Linux v4.11), while the HWCAP flags for individual features always come later. This allows detecting support for new CPU extensions before the kernel exposes information about them via hwcap flags. However in practice, there's probably quite little advantage in this. E.g. HWCAP2_I8MM was added in Linux v5.10 - long after HWCAP_CPUID, but there's probably very little practical cases where one would run a kernel older than that on a CPU that supports those instructions. Additionally, we provide our own definitions of the flag values to check (as they are fixed constants anyway), with names not conflicting with the ones from system headers. This reduces the number of ifdefs needed, and allows detecting those features even if building with userland headers that are lacking the definitions of those flags. Also, slightly older versions of QEMU, e.g. 6.2 in Ubuntu 22.04, do expose support for these features via HWCAP flags, but the emulated cpuid registers are missing the bits for exposing e.g. I8MM. (This issue is fixed in later versions of QEMU though.) Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/aactab: Deduplicate ltp_coef and tns_tmp2_map tablesAndreas Rheinhardt2024-03-04
| | | | | | | This will allow to make aac_defines.h decoder-only. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/aacdec: Move buffer to reduce paddingAndreas Rheinhardt2024-03-04
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>