commit 55138b57794e500f2dacfc185fca243576f9dd40
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 17 09:39:26 2024 +0100

    qt: use std::sort instead of deprecated qSort()
    
    Similar to c49140dcff3a2ba2729cec8756c7f78b198d50c9.

commit 3f51b02e779dcd934ed0e918987c9604fd8d8d82
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Dec 16 16:01:44 2024 +0100

    qt: use QString::arg() rather than QString::sprintf()
    
    It's deprecated and one of the replacement suggested in the doc [^1].
    QString::asprint() might be the more logical choice, but it's also not recommended [^2].
    
    [^1] https://doc.qt.io/qt-5/qstring-obsolete.html#sprintf
    [^2] https://doc.qt.io/qt-5/qstring.html#asprintf

commit 1482690de7e7a924b56ea7db08ebf59242b4b930
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Dec 18 11:57:05 2024 +0100

    qt: use QString::setNum() rather than QString::sprintf()
    
    It's deprecated and one of the replacement suggested in the doc [^1].
    QString::asprint() might be the more logical choice, but it's also not recommended [^2].
    
    [^1] https://doc.qt.io/qt-5/qstring-obsolete.html#sprintf
    [^2] https://doc.qt.io/qt-5/qstring.html#asprintf

commit 15677901c8906e64506ed3bbecb57f9def9e199b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 17 08:41:58 2024 +0100

    qt: use QLayout::setContentsMargins() instead of QLayout::setMargin()
    
    Similar to ed986711c159499b873157d4e5d4a53026d94719.
    
    It's deprecated in Qt 5.15 [^1], since 5.13 [^2], and removed in Qt 6.
    
    [^1] https://doc.qt.io/qt-5/qlayout-obsolete.html#setMargin
    [^2] https://github.com/qt/qtbase/commit/d6d33f0b80dd85043c71f71a3ed5485d6014e6c4

commit edc257c5168e4b66234174f9ec8ce6b362c41f7e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 17 09:17:00 2024 +0100

    qt: add missing QActionGroup include
    
    To be able to use rendererGroup.

commit 66d78681eea3b7c1b188de862daf8beb5c1b90bf
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 17 09:09:39 2024 +0100

    qt: fix UTF-8 string usage
    
    Similar to bbb9f6a07adfd20c544d29198ea2fec601bf3e62.

commit 4e5956b752e3ea19718c223eec048a427ffa78d1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Dec 16 15:48:41 2024 +0100

    qt: fix bitfield added values set in QVariant
    
    It's checked with actions[i]->data().toInt() anyway.
    
    The code was removed in 4.0 with e1c82853965d44b4390af78d9184bd0b60ccc3fb
    but was never fixed.

commit 30d837043c3f9907b1bd52b292a40424d7136660
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Dec 16 14:28:13 2024 +0100

    qt: avoid using obsolete QSysInfo::windowsVersion() to check for Windows 10
    
    It's deprecated [^1] and there is no replacement suggested in the doc.
    
    We can use the safe way we use in VLC 4.
    We could also not check the OS version at all since it's dynamically loaded
    and the call returns an error on Windows 7 and earlier [^2].
    
    [^1] https://doc.qt.io/qt-5/qsysinfo-obsolete.html#windowsVersion
    [^2] https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute#return-value

commit dc1e422e0a9f3204474222514682913b27b39185
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 10 15:37:46 2024 +0100

    qt: remove deprecated QPainter::HighQualityAntialiasing usage
    
    It's deprecated in Qt 5.15 [^1], since 5.14 [^2], and removed in Qt 6.
    
    The commit log of [^2] even mentions its deprecated for all Qt5 but was not
    marked as such yet.
    
    [^1] https://doc.qt.io/qt-5/qpainter.html#RenderHint-enum
    [^2] https://github.com/qt/qtbase/commit/1e4e006c3f6e8cbd0092fe882bc23a2280352a91

commit 949a27e2e4780c0084c07c7610ab4369171bf069
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 10 14:51:58 2024 +0100

    qt: fix IN_ITEM_ROLE documentation

commit 9705833b71329cdf159ba48493536612c6440acf
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Dec 5 10:50:50 2024 +0100

    qt: remove unused meta_to_mlmeta()

commit 3b46a77768f40878e7eb9b1e3c449c294f6d2276
Author: fengchao wei <1358610673@qq.com>
Date:   Sat Dec 14 13:27:36 2024 +0000

    [3.0] interop_vaapi: fix mem leak while pause

commit 20cdad9169309d03359e5e0c4c076cc0953270ec
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Dec 9 08:47:54 2024 +0100

    direct3d11: fix potential double free
    
    Added in b4f9d49b130e4e4f6da9398c01fd9bc5dd153a88.
    
    Fixes #28902

commit 9c2fecdeedfc73d2dd75af6277c3eea9e6545964
Author: Martin Tuma <martin.tuma@digiteqautomotive.com>
Date:   Mon Dec 2 12:36:22 2024 +0100

    access/v4l2: add support for V4L2_PIX_FMT_ABGR32 and V4L2_PIX_FMT_XBGR32
    
    Fix broken v4l2 pixel format selection when the device supports/uses
    the V4L2_PIX_FMT_ABGR32 or V4L2_PIX_FMT_XBGR32 pixel formats.
    
    See the v4l2 documentation for the pixel formats details:
    https://docs.kernel.org/userspace-api/media/v4l/pixfmt-rgb.html

commit 2c2bcc2348a639ca1aff6a68093a6e8cf616e45a
Author: Mangal Kushwah <mangalk2324@gmail.com>
Date:   Thu Sep 12 12:03:58 2024 +0530

    mediacodec: set color keys in media format explicitly
    
    Fixes issues where by default mediacodec sets wrong keys for video.
    See #26948
    
    (cherry picked from commit 55e0779f98b71ab135a4c0c78c2cb91b16a72547)

commit 1700e28723cb48ce70ef63d775c19cdcb138313e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 29 09:10:00 2024 +0100

    package/win32: fix MSI installation text on Windows arm64
    
    When installing files the messages are like:
    Copying new files: File: [1], Directory: [9], Size: [6]
    
    It only happens on Windows arm64, but we can apply this to all targets
    to have a consistent experience.
    
    Found the fix in https://stackoverflow.com/a/44182276
    
    Fixes #28887
    
    (cherry picked from commit c9f967f5d6fc76ddcac032fe35aefe3128101c9f)

commit 6c2749a2ba8f60c468f1d7f549a655feeb021c5a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 27 14:21:02 2024 +0100

    package/win32: do not add .pdb files in the NSIS package
    
    Fixes #28885
    
    (cherry picked from commit cfa511f3178735ca0d8873a1c26a0e360a3d2c63)

commit 3afe12167a72af766740b8277d878167e9366508
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 29 11:28:46 2024 +0100

    demux/mp4: force the packetizer to fill AV1 extradata without optional OBUs
    
    The hardware decoders need it and the packetizer can fill it for us.
    
    (cherry picked from commit fe8b4bf937ad08d17d69de07ae21e9f326e2bd96) (edited)
    edited:
    - the extradata handling is missing many backports, adapting the to 3.0 code

commit 79422b9852023200c096c1c9e0bfbea0046ddaf0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 29 11:27:50 2024 +0100

    demux/mkv: force the packetizer to fill AV1 extradata without optional OBUs
    
    The hardware decoders need it and the packetizer can fill it for us.
    
    (cherry picked from commit f05f3388d32bfff5c20de710f79a87a914dcd166)

commit 13c0f6d560f31af1389bec1d672ca2ef72fbe6b0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 29 11:57:36 2024 +0100

    packetizer/av1: fill the full extradata if it doesn't have the optional OBU
    
    The optional part needed by the decoders.
    This will restart the decoders if needed, but they should have received no frames yet
    or the hardware decoder may be usable again or not (after a sequence header change).
    
    (cherry picked from commit a95213e20de69d584324f6d0c9f37c7a7cdfe3e3) (edited)
    edited:
    - fmt_in was not a pointer in 3.0

commit 1c0be0c3b9ed76f0fc52d08371d5498cebbc74e1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 26 06:33:48 2024 +0100

    demux: mkv: don't use EbmlDummy elements coming out of FindNextID()
    
    FindNextID() is supposed to return an element of the given type when it's found. But in some cases,
    when the ID and sizes are plausible, an EbmlDummy is returned [1].
    
    We should not use that element as if it was a legit element we're looking for.
    This is especially crucial when we're opening a file to decide if it's an EBML file or not (EbmlHead).
    
    [1] https://github.com/Matroska-Org/libebml/blob/1c4e2f31b8df7f2c137d8943c73385759aae35b9/src/EbmlElement.cpp#L185
    
    (cherry picked from commit 49d4586fe82aa105ebc1f519e8c8b7385f89c211)

commit aa197580f26e74ed58cf38b17d871fc536940d1d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 28 11:47:42 2024 +0100

    win32: dirs: avoid using wcscat_s
    
    It seems it's not available in Windows XP.
    https://forum.videolan.org/viewtopic.php?f=14&t=164742&p=544877#p544877

commit aef2b61f8578cb52022cc82ad2da60f8af049f2c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 25 08:31:06 2024 +0100

    breakpad: remove MAX_PATH limits
    
    It's unlikely the user path is that large, but just in case we are ready.
    
    This fixes an issue where the result of _snwprintf() is not checked.
    The wstringstream will only fail if there's no memory. At this point
    further calls using std::map and breakpad will also fail.
    
    (cherry picked from commit 05e7dae2fcd2b4b6483fc333b2f5257e84407e34)

commit bfad5b4af766ad74c310a8536ceaab4850229b84
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 25 08:18:19 2024 +0100

    win32: dirs: fix potential buffer overflow when appending "portable"
    
    We let the concatenation decide if there's enough room or not.
    
    And use the Wide char calls where wide char pointers are used.
    
    (cherry picked from commit 28241fad50c5bca21ba13069f62f5d92f95f4805) (rebased)
    rebased:
    - the code around is slightly different

commit 353a652619b8a7ac4f05c9a6d210ee9c692735e3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 29 08:49:44 2023 +0100

    eject: use ANSI API's to handle Windows drive letters
    
    We don't need wide chars for this.
    
    (cherry picked from commit 4d62dc124285f9e7488d100f3ebe2c841ce9d32d)

commit a89a24d085dc86a6f02343184e3b8bdcb95162ef
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 28 12:51:26 2023 +0100

    ntservice: use ANSI API
    
    All the internal strings we use are using CHAR.
    
    (cherry picked from commit 4e84066f051be361306dae109aeb012efffe0f3b)

commit 047b27e1e0fdefe44fc3ddf1f14bf73be47e02ba
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 28 13:44:54 2023 +0100

    windrive: use ANSI API's to test drive letters
    
    No need for wide chars for that. The API is supported in UWP [1].
    The code was also puttin a WCHAR letter in a char string.
    
    [1] https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getdrivetypea
    
    (cherry picked from commit ec8924b3a92c7a2c35ce930106140556d02c6038)

commit 51c25f6a9f5ad3daee6180118231e41e211cee52
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 17 10:20:16 2023 +0200

    es_out_timeshift: explicitely use GetTempPathW
    
    The API is available in UWP builds. _wgetcwd() should work as well.
    
    (cherry picked from commit d00ede66bf27211ca4a75975026f7f0ab312cab7) (edited)
    edited:
    - 3.0 already disabled the code in UWP differently

commit b4f521224b5e99bb5332848d0d73ccf6bc20dcd0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Oct 14 08:48:39 2020 +0200

    win32: remove unused vlc_win32_tmpfile
    
    (cherry picked from commit 7e2763d0882002827d4192fc499b1d6870bd05db) (rebased)
    rebased:
    - the code around is slightly different

commit 669e44e9028f367ccea8200172028ae422c8bc84
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Apr 3 10:44:55 2019 +0200

    ntservice: don't use a temporary conversion to printf a wide char string
    
    (cherry picked from commit 987e7371bb8c4739c71a9d41c1f8839b1879867a)

commit abd424e63784f936a8007bb995e7a06905f67a01
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Apr 3 08:54:04 2019 +0200

    modules: use WCHAR when calling wide char Win32 APIs
    
    (cherry picked from commit 2f7271eaff83c6388ac0f629e44eb93b1e2da07e) (edited)
    edited:
    - removed freetype/fonts/win32.c and d3d11_fmt.c changes we were too different

commit 4bf49f09cae811e00ec1e69252d476f44c8eb796
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 27 15:06:02 2024 +0100

    package/win32: install arm64 binaries in Program Files from the MSI package
    
    Instead of defaulting to "Program Files (x86)".
    
    Fixes #28886
    
    (cherry picked from commit 840c29fd7dd7781bc890ea48e331c65b18ba3a4b)

commit 0e6f874df5f0887073c222cd4bf8c3d603a52d1a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 25 10:11:32 2024 +0100

    CI: test the UWP with a x86 target
    
    It's the target that gives the most problem, even when x64 works.
    
    Co-authored-by: Martin Finkel <martin@videolabs.io>

commit b346cd6efe13b5c48a9e247296262e5a7720a598
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 25 10:10:25 2024 +0100

    CI: update the Docker image for UWP
    
    It's the latest (and last) version of this image.

commit f43852ba20ce9d0f95e68fe140b3c3af08430583
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 25 10:39:26 2024 +0100

    Revert "contrib: remove patches to disable GetHandleInformation() calls in UWP"
    
    This reverts commit 7d45e4312be8c0426e8ffe31a8ffc0313467de33.
    
    On 3.0 we target older UWP versions where it's not available (19H1).

commit eb85d062cf9bc101177165efb20e88b87aa4e768
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Tue Nov 19 23:30:23 2024 +0100

    musicbrainz: fix leak
    
    (cherry picked from commit 2edddb01da361d1040736d7fda637e118ea6aee1) (edited)
    edited:
    - the 3.0 uses the other json parser which outputs the result differently

commit f87307ef33f59d02e222686d493e2ecbff2873fa
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 3 13:10:24 2022 +0100

    CI: add a VLCARCH variable for Windows targets
    
    The build folder doesn't always correspond to the arch, for example it may contain
    ucrt.
    
    (cherry picked from commit f2afde1e1406bb31d26adfe727a0ff4cea706a1a) (edited)
    edited:
    - 3.0 doesn't build code from doc/
    - 3.0 has less Windows targets

commit 5d532c2b7f9323db19b8984edb6c66962b6ec2cc
Author: Steve Lhomme <slhomme@matroska.org>
Date:   Wed Oct 26 08:08:52 2022 +0200

    CI: don't expect a Windows -debug package
    
    It's gone since 04d7d5c32f16fd1fa4e8535ac02b79149f28a527
    
    (cherry picked from commit 5b0a0d2b39b7054a2044e81988fc9c196549d6af) (edited)
    edited:
    - it's gone since bb0f4f968d7f2e719c1f76124ec58bb39bce6280

commit f2a4147eb89e8d7f36585e4840851a81a9a7abc8
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 22 16:13:14 2024 +0100

    package/win32: fix relative path joining with older Python
    
    It's not supported with a Path before 3.6 [1].
    
    [1] https://docs.python.org/3/library/os.path.html#os.path.join

commit 559a171b039013473128a6bb7b2406d3692b92fa
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 22 14:20:32 2024 +0100

    package/win32: remove -pdb option from heat Python script
    
    It's not used. And BooleanOptionalAction only available since Python 3.9.

commit c10746f23ec100d31d12a63e6451aaf5562bbae9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 22 14:16:43 2024 +0100

    npapi: don't use broken --enable-pdb option
    
    It's not used in VLC 4 either.

commit 038e789bdaf3059b2cca79f8b46834aae79144d1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 7 15:52:44 2024 +0100

    package/win32: use $()" rather than  "``" for commands
    
    (cherry picked from commit 5080e48b32cc70fbe72f8023c2da5d9003209002) (rebased)
    rebased:
    - the code around used VLC_LDFLAGS/VLC_CPPFLAGS

commit 297ed29d044faaf35bbe395582aca920c13898ba
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Wed May 29 15:13:37 2024 +0200

    configure.ac: remove x-test checks
    
    The variable is already quoted so there's no need to x-test them.
    
    (cherry picked from commit 5e2724f55ca7684b5c60020f94978968792db430)

commit 36e1a8b25b34f07d60fa9ac48b5d335a78d0331a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 27 10:18:09 2023 +0200

    package/win32: show the usage when a bogus option is passed
    
    (cherry picked from commit 756bd8f250dd03c4165a8d4119cd3491861b3f1c) (rebased)
    rebased:
    - 3.0 doesn't have the meson option

commit 560c6d24772eb936c8bc576a97e8fedb99f58244
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 21 08:04:04 2022 +0200

    package/win32: build.sh: generate the built 7z+zip+msi in parallel
    
    But we need to do the debug package first as the other will strip debug
    information that is needed in the debug packages.
    
    (cherry picked from commit 93895d57d08656a5f64970c89d8f61b290cbf38f)

commit 6ad8308eef359771606ff67659b02d3c0ddb9222
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 18 10:07:43 2022 +0100

    win32: package: use the configured path to the WIX binaries
    
    (cherry picked from commit a5ea1181bc66e2f7aed3100ee94daa9ba5bff6cb)

commit d95ada17849c35470170a2cf8a0c26fe91dbbf67
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 12 09:20:29 2020 +0200

    win32: msi: use the detected way to handle windows pathes
    
    Rather than hardcoding "wine winepath".
    
    (cherry picked from commit 268d209e207ea40410dbfc37bc9e55636a0f7b66)

commit fa2084f050b7a6fe4f53afed3bfc7fc47d8f64a4
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 18 08:36:52 2022 +0100

    win32: package: build inside the output directory
    
    So we don't need to include windows style path. By default light.exe looks for
    files in the current directory.
    
    (cherry picked from commit 385db2b181df63ea28dfe92259418f1be537a9b9)

commit f6bacb5de89f48943b1c04886ec54ddc69eda9c6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 22 13:46:21 2022 +0100

    win32: package: use the package dir instead of vlc-4.0.0-dev
    
    (cherry picked from commit 939e574ef27665a2a62fa90c82582f2a5963beaf) (rebased)
    rebased:
    - the code around is slightly different

commit 3304cfcf3e9e9d0db68da44ffbe6864caaa4475d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 8 13:58:58 2022 +0100

    win32: replace Wix heat with a python script
    
    It allows showing friendly names in the .msi for each file rather than some hash.
    
    For now we never keep the .pdb files.
    
    (cherry picked from commit 6f996ffa27a620e1a25cffc2039a322eb4fdabc2)

commit 650413d5049439f83153e37f99a27764582a8251
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 18 09:56:50 2022 +0100

    configure: add an option to set the PATH to WIX
    
    In the CI the path is in a wine location. If we build WIX in contribs, we can
    use that path instead.
    
    We default to the contrib path unless set by the user.
    
    (cherry picked from commit a9f4e219648104daa4b9b66b06c1f80bd735998d)

commit 1c0ecc9d8201c64cf67afb0d421c9f831021bb6b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jul 31 06:36:54 2024 +0200

    contrib: wix: don't pretend they are native tools
    
    prebuilt contains the cross-compiled tools.
    
    (cherry picked from commit 1bab36476f3f549111381f6de2214fb5b51c443b) (rebased)
    rebased:
    - the code around is slightly different

commit 9b6eaf300fcda6e753f98f4324bc21b25fb21bd0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Apr 5 07:08:21 2024 +0200

    contrib: wix: update to 3.14.1.8722
    
    The previous URL is still valid but the tarball silently changed from 3.14.0.6526 to 3.14.0.8606.
    Skip to the latest 3.14 release. Until they silently change the tarball using the same URL.
    
    (cherry picked from commit 9b3edfbbac0e02da263e5c736454d9ffaeac036d)

commit ae18a517add55ca96b09de0a3478fe918ad33c55
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Mar 22 07:13:15 2024 +0100

    contrib: wix: use Github to get 3.14.0.6526
    
    The hash matches the version we used.
    They keep removing their old downloads from their website...
    
    (cherry picked from commit efb169a38668ecb58979abb64a9f20b988932766)

commit 1b2d086ea7a2cbd11894ee9b3c12b7e982d4d6fc
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Dec 6 13:16:23 2022 +0100

    contrib: update wix to a more recent version
    
    Use winterop.dll from the 3.5 package as that's the only one that can use LZX
    compression with Wine.
    
    (cherry picked from commit a8eeadb109922af38d5edba3fc1049a79709be77)

commit 25197927799ceadab95493a0ad80e81007e314ef
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 22 13:24:56 2022 +0100

    configure: allow setting the directory where packaged files are put
    
    By default packaged files (Windows, Mac) are build in <top_build>/vlc-4.0.0-dev.
    
    This allows setting a different directory which might avoid some copies when
    building into a third party project.
    
    (cherry picked from commit 56faa4e12abca0e62697f139aeac60a0eba1e3bb)

commit f5fe404b37d2ceb9a2b7a0dd24c0681c7cc9d63b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 17 15:01:56 2022 +0100

    contrib: wix: add the Wix tool as a windows prebuilt bin package
    
    Rather than relying on it being installed somewhere on wine we can use our own
    and control which version is used.
    
    It's always added to the windows builds even though it may not be used in the
    end. But the package is not big and doesn't require any building.
    
    It requires dotnet 4.0 being installed in Wine.
    
    While WIX is open source, the wix 3.5 we are using cannot realistically be
    built in our contribs as it's hardcoded to build with VS 2008. Even the most
    recent builds of WIX still don't build in Linux. We already use a prebuilt
    version in Docker images, except it's a .msi file that is installed via wine.
    
    (cherry picked from commit 777b11043897c70dca4932019b2a61d62a66840e)

commit 7d369e179e84ab8817ec39a1bcfc3dc5a5488390
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 17 14:59:38 2022 +0100

    contrib: allow passing parameters to the unzip call
    
    .zip files usually don't have a top directory with a version number.
    
    (cherry picked from commit c93ee73db16c22dd8e1d4be3b01dfeba535660e5)

commit 0a1c6f9b0872c23200af2db04997bb6d64aa1a4d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 18 07:48:07 2022 +0100

    win32: package: use the output .msi file as a target
    
    So we can show when we generate it.
    
    (cherry picked from commit 59d7186b9202a3f63f020d57607f239d2d791ce4)

commit 0343e5f66b3062a1df066ba62788d7ee8fdc330c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 16 15:17:45 2022 +0100

    win32: package: group the wine path for the virtual build drive
    
    (cherry picked from commit 4649dc4fd6430c25acae8f44df0631f26e074f0f)

commit 4ff2699feed27ae1c7a783e901599ec5e191dd2a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 16 15:11:12 2022 +0100

    win32: package: use forward slash for Windows pathes
    
    wix has no problem with that
    
    (cherry picked from commit 4f82ee8a386ba8ec2ce238cf76003919918a6833)

commit 24846a9c599355ed02980b8a225ae07b759c5a55
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 8 15:13:01 2022 +0100

    msi: use a UNIX path for the config.wxi
    
    Wix is OK with it and UNIX MSI tools will not handle the Windows path.
    
    (cherry picked from commit 672c356c1350cbbb32efb019d55a65f1d67e4c56)

commit bb0f4f968d7f2e719c1f76124ec58bb39bce6280
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 21 07:58:55 2022 +0200

    package/win32: build.sh: don't generate -debug.zip package
    
    We don't need 2 variants of the same thing. The zip version is twice bigger
    than the 7z. This is a developer package, they can deal with 7z files.
    
    (cherry picked from commit 04d7d5c32f16fd1fa4e8535ac02b79149f28a527)

commit c813d72a13045b6a8365e9bb278e1d4e23eef0bd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 12 09:18:06 2020 +0200

    configure: detect how to transform windows pathes
    
    winepath, wslpath and cygpath have a compatible syntax (at least -w and -u).
    
    They should be used depending on what is available in the build environment
    rather than hardcoding "wine winepath".
    
    (cherry picked from commit 6151644c327403534551abcd6ee60a9717ae434f)

commit c3f04a62ca0bd7e431b51d65ff3eb76a2e883b73
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jul 1 15:23:22 2020 +0200

    package/win32: build.sh: fix fake wine call in WSL
    
    (cherry picked from commit e560d83b9d9067ad67d06cb12b6e9768cb909283)

commit ffbd3bb810bfa72ba9a0d0d70eac33c595eec3bf
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jan 31 11:20:54 2020 +0100

    package/win32: build.sh: don't require a wine installation on WSL
    
    No need to add a lot of packages just to run one program.
    
    (cherry picked from commit 803f18544377610101472a143af6a98c0f59cbee) (rebased)
    rebased:
    - the code around is slightly different

commit 8fb1e3411e467a263f3ddb045a36b2e17ee92aec
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 17 13:52:28 2019 +0200

    win32: package: fix missing files depending on the build configuration
    
    (cherry picked from commit 4103ffe169e3747f797776b6e994af7d868af503)

commit 6dc4d484c6c4e9b29c94410cc8723fc7fbc5f4dc
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Aug 18 11:23:33 2022 +0200

    contrib: dvdnav: do not force a packing style
    
    We should use the same packing as libdvdread. It's done and made public through
    a header. But we must also use the compiler the same way. libdvdread doesn't
    force -mno-ms-bitfields.
    
    (cherry picked from commit 2f08e3cc36bd79ab593d45e0c2cc8183765e12d2) (rebased)
    rebased:
    - on 4.0 the autoconf is updated before this line

commit b24844ffc7e4962b757269bb43c94811aabad7bd
Author: KO Myung-Hun <komh@chollian.net>
Date:   Tue Feb 28 23:47:47 2023 +0900

    qt: PodcastConfiguration inherits QDialog not QWidget
    
    Especially, accept() and reject() slots are in QDialog.
    
    (cherry picked from commit 183acaecc1fafdfe57a3c4981702ec00561c31e0)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 5a843f83f9f97ca415497eea9359a778f74e9386
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 2 17:16:45 2022 +0100

    contrib: don't show untar'ed files in non verbose mode
    
    This avoids being bombarded with logs when building.
    
    (cherry picked from commit 0a555fa1ac6db47923c9db03faa8d49393f571ec)

commit 8539875836e4974cfdb53d91014f57aea1a62863
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jul 10 09:39:37 2020 +0200

    contrib: lua: use UNPACK_DIR to extract to a different folder for luac
    
    (cherry picked from commit c04c755b5378de4affb79ae37fca80d895fd449e)

commit 801e7068ddd8b8110ecb17ed48e0921bab409ff8
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 26 15:11:48 2023 +0200

    nsis/pluginapi: fix warning for declaration without parameters
    
    (cherry picked from commit 95495e69b078381699f8eea6ba0c49bbd57c052a)

commit 1f9de477d4e0fe9f2443605125490269a596d6ac
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 26 15:08:55 2023 +0200

    nsis/process: remove win95/98/ME support
    
    We don't need these anymore.
    
    (cherry picked from commit bd0cc4e797deac4bb4aa9fa1a2f79d5e3af69b48)

commit 6c37463116f4d04c501e2914149f74faa7c9dd27
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 26 15:11:18 2023 +0200

    nsis/process: fix warning on variable set and tested
    
    (cherry picked from commit ebcd76e1d632267a6b03ea8098255a7823796856)

commit 50465f199bf23005ce659ec5894ab7d5445e07bb
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 26 15:10:33 2023 +0200

    nsis:/process: rework the way the process ID/HWND are handled
    
    Don't use a HANDLE for both values, as structure with the proper type
    works better.
    
    (cherry picked from commit 0f8b7e834aa0ec2b4de84a27e2e42fce8059d8dd)

commit 8d4b49503c8b40ced8cfbd372c185f9d73fbf5cd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 14:40:11 2024 +0100

    contrib: gnutls: disable faccessat on macos
    
    It was not used before and it's not usable on our minimum macOS version.
    It was added in macOS 10.10.
    See https://github.com/apple-oss-distributions/xnu/blob/8d741a5de7ff4191bf97d57b9f54c2f6d4a15585/bsd/sys/unistd.h#L210

commit ca1a2464dd0b02daeac54d27a8567a5d0f17fef5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 13:02:27 2024 +0100

    contrib: gnutls: replace HANDLE_FLAG_INHERIT which may not be available in older UWP

commit 3be9e3f6d41b2b1f585ffb530b1607a1f38f7cc6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Feb 13 15:03:58 2024 +0100

    contrib: gnutls: update to 3.8.3
    
    There doesn't seem to be any API changes: https://www.gnutls.org/manual/html_node/Upgrading-from-previous-versions.html
    
    Many of our patches have been upstreamed.
    
    (cherry picked from commit 9ffc31dd5fe8224a5163e969bf9aabb872181287) (rebased)
    rebased:
    - 3.0 uses pkg_static in the UNPACK directory

commit 2b0f6dc3b664a180f9917e9107b0af2761453fca
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Aug 9 08:57:32 2023 +0200

    contrib: gnutls: allow SecureZeroMemory
    
    This is possible now that RtlSecureZeroMemory is allowed.
    
    Partial revert of a4841494fd974ec2c6208bc77f0f0c90dc5aebaf.
    
    (cherry picked from commit e8af0221767591b35c81561b8308f5051e594055) (rebased)
    rebased:
    - the code around was different

commit 1829f817f62b4c3836b8623756257b1e12d76760
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 27 14:39:08 2023 +0200

    contrib: gnutls: disable build if license is not matched
    
    We need nettle and gmp and they can't be used with the LGPLv2 license.
    
    (cherry picked from commit dc74c5d571db5b4ef7839aa30d551a93cef32516) (rebased)

commit 7d45e4312be8c0426e8ffe31a8ffc0313467de33
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 31 14:06:52 2023 +0200

    contrib: remove patches to disable GetHandleInformation() calls in UWP
    
    It's now allowed. The contribs involved already depend on alloweuwp.
    
    (cherry picked from commit 313a3991ef7a9041cd6afec1f979332578815476) (edited)
    edited:
    - 3.0 didn't have patches for iconv, libtasn1

commit 29e4d3fd6b095607e3e5d08c8f6bc1b75184f312
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 23 12:26:16 2023 +0200

    contrib: gnutls: avoid more forbidden UWP calls in gnulib
    
    (cherry picked from commit c5447f8157afc10ab225dc8a67b586a72f5372a3)

commit de60a536d71cce442df9e71ae6aab24bd5011381
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 15 09:51:06 2023 +0200

    contrib: gnutls: fix UWP build
    
    The gnulib rpl_stat() function uses CreateFileA which is forbidden.
    We need to use CreateFile2 in UWP.
    
    (cherry picked from commit 0a20220043aca2ea772b0bb434541c2e369f7b72)

commit b30b7f660b42e538dae7556c3c7db0efb28aba1a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 12 16:42:23 2023 +0200

    contrib: gnutls: remove unneeded UWP modif
    
    (cherry picked from commit 2c62bced70139e792e8b3bdb47a0acd8f1838b67)

commit dbb0a07748defa402c7d1ad25bf6f483e83af052
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 15 08:40:04 2023 +0200

    contrib: factorize the GNUGPG/Gcrypt URLs
    
    (cherry picked from commit ea7354d2e51e42d183923a6577e05bacb1d27782) (edited)
    edited:
    - 3.0 only had GITHUB
    - 3.0 uses gcrypt 1.7.10

commit f33320d5e7dc03a1ecd79bd9bdab62496c1a3bf9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 22 13:02:40 2022 +0200

    contrib: call sed directly on the files to change
    
    (cherry picked from commit 637d00420fa1a3f4b71215ba869cb5d05bb7bead) (edited)
    edited:
    - 3.0 didn't have use sed on FLAC, libtasn1, qt, zlib

commit 02798996572cfbe680b807684cef63854b443e87
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 16 08:21:49 2022 +0200

    contrib: flac: disable examples building
    
    (cherry picked from commit a371bda5d761fc18044cb0c5bde1aa7b443a33b8) (rebased)
    rebased:
    - 3.0 already moved HOSTCONF

commit 005b084937e9351f3c434f1d1ab5c5645a4ca753
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Fri Jul 22 08:43:51 2022 +0200

    contrib: gnutls: fix build with Android NDK25
    
    It needs the same patch than appleos. Maybe we should check for
    aarch64 instead.
    
    (cherry picked from commit 03f8817fd8712d9a8b3ad2b7fd77f693831d3c44) (rebased)
    rebased:
    - 3.0 has different code around

commit 536f90c4f503d43807f8de62f8e758be90323553
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 15 13:24:06 2024 +0100

    CI: add Windows ARM64 nightly build
    
    Since it's built with LLVM we can generate PDBs.

commit ab35f87de85a13302d8b30c3c79d91c747bc5386
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 15 13:21:10 2024 +0100

    CI: add Windows ARM64 build target
    
    It's the same target as for VLC 4.
    
    - It's using UCRT (rather than MSVCRT).
    - It is built with LLVM 15.
    - It is targeting Windows 10 1809 = Redstone 5.

commit d4188b858c21ead11aaeaeeff0790d21dd363968
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 29 16:59:59 2021 +0200

    skins2: remove outdated WINVER value
    
    We don't need to force it to Win2K.
    
    (cherry picked from commit b460a4474fa8a8ce1fc14372c4b76d5d25251edd)

commit 22722d96c5a80490faa507dfdb0d2a7ebbe2ec49
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Nov 18 06:51:14 2024 +0100

    contrib: qt: don't redefine TOUCHINPUT in mingw-w64
    
    It's defined since mingw-w64 v4.
    It won't be defined if an WINVER smaller than 0x0601 (Win7) is used.

commit 4acf8274e0d24947d227b7d864e9072b1496705f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 15 16:27:49 2024 +0100

    contrib: qt: don't force the WINVER/_WIN32_WINNT version
    
    We set the value ourselves.
    
    contrib: qt: fix forcing the WINVER/_WIN32_WINNT version without NTDDI_VERSION
    
    That leads to inconsistencies when detecting available API's.

commit b3a04fcd544315daf21ea4760458c93526ff26a6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Nov 15 15:33:10 2024 +0100

    contrib: qt: do not use external LDFLAGS on Windows
    
    When cross-compiling it may try to link native tools with windows libraries.

commit ece51a9e635370136019b27b85b3a190a660bcae
Author: Martin Storsjö <martin@martin.st>
Date:   Tue Nov 12 10:11:04 2024 +0200

    contrib: ass: Apply a patch to fix aarch64 assembly issues
    
    This fixes building for aarch64 Windows with assert enabled versions
    of Clang. (This issue appeared recently, after updating to a newer
    version of libass that includes new aarch64 assembly.)
    
    The same patch has been sent upstream in
    https://github.com/libass/libass/pull/849.
    
    (cherry picked from commit 44710998f52638131ddc133e912ddf48d2463ae9)
    
    edited:
    - Minor conflicts around the $(APPLY) line

commit 225b649ec51fe4ff4b8f47cdd8885f960757357d
Author: Martin Storsjö <martin@martin.st>
Date:   Thu Feb 7 12:35:33 2019 +0200

    configure: Don't set X86ASMFLAGS for windows on arm
    
    This avoids enabling HAVE_X86ASM in these configurations, fixing
    compilation.
    
    Also set proper values for WINDOWS_ARCH in these configurations.
    
    (cherry picked from commit 4285591989568484ec1c7478da1a519d82d8f2b0)
    
    edited:
    - 616d1a05b1011450bae637b029c98eec071a26eb was cherrypicked before
      (as 64e099576f908ad29205cd77a7dd1f0ea8053447), causing compilation
      to fail for non-x86 Windows targets in 3.0. This caused some minor
      conflicts in cherrypicking this patch.

commit 02084f728d25386357f902980288c8ad43dfe10c
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Dec 12 16:18:09 2018 +0100

    configure.ac: Detect aarch64 as a 64bits windows
    
    (cherry picked from commit 94ba3ab49628827a6bcbff9a805350ab41c37d7a)

commit 9999ce93eba814d9d92334322f64335693ccb78e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sun Nov 10 10:48:38 2024 +0100

    demux: mkv: fix potential leak of KaxBlockAdditions when seeking
    
    (cherry picked from commit f7c0d24733350e4c43a2dcb84e3106d9e2be9e7b)

commit ae85a589416a5ecf8099b2ec03ff2274400edd82
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sun Nov 10 10:41:00 2024 +0100

    demux: mkv: don't expose local BlockDecode function
    
    (cherry picked from commit e3adf1736cf32bba3db208cc5d0d18b23a7c17a5) (rebased)
    rebased:
    - the code around is different

commit feba5f92e62aa66b12493bb73f5cb43a422c1b24
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sun Nov 10 10:32:44 2024 +0100

    demux: mkv: read data from KaxBlockAdditions as const
    
    We should not be able to modify what we read.
    
    (cherry picked from commit c03249a02c2d1aa529c7c9a6de7545305b567860) (edited)
    edited:
    - 3.0 doesn't support VPx alpha

commit 966518b21c47cb431ad019e1408a46ab75f4ff1d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jul 11 14:06:59 2024 +0200

    demux: mkv: add missing helpers from libebml 2.0
    
    The const versions are more versatile.
    
    (cherry picked from commit 42945dadb88c72bd6b34a3468f4ac125d81198f1)

commit 77a2c01e2dcb3474173904ce9fa761907cb10550
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Nov 9 13:41:37 2024 +0100

    demux: mkv: use the internal QDMC FourCC value
    
    Rather than a local FourCC.
    
    (cherry picked from commit 71c2622ab992a4bb4485e5e151f3019e60543d35)

commit bf98c55691d4d95913b2c80d5fd02e93cb79b23e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Nov 9 13:35:06 2024 +0100

    demux: mkv: use the internal USF FourCC value
    
    Rather than a local FourCC.
    
    (cherry picked from commit 447116d324f8493120ce84544aed0cfc290aafb2)

commit 64e099576f908ad29205cd77a7dd1f0ea8053447
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Aug 23 10:43:35 2024 +0200

    configure: enable large-address-aware on 32-bit Windows
    
    This allows the GPU drivers to use more memory than a 32-bit app would use.
    This should have no effect on a 32-bit Windows.
    
    Fixes #28743
    
    (cherry picked from commit 616d1a05b1011450bae637b029c98eec071a26eb) (edited)
    edited:
    - 3.0 doesn't have armv7 configuration variables
    - 3.0 doesn't have X86ASMFLAGS/X86ASMDEFS

commit d78ca74ec6ac620ed1383d239547160b4ed4c5b8
Author: Rémi Denis-Courmont <remi@remlab.net>
Date:   Sat Jun 16 21:34:58 2018 +0300

    configure: use $host_cpu where applicable
    
    (cherry picked from commit a50366bc9702ad4ec0db1e5361bcea8378bf8132)

commit 4a56da187dd7a09daa92279f02572163404d2bdd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sun Nov 10 13:47:48 2024 +0100

    contrib: libass: update to 0.17.3
    
    (cherry picked from commit e0cd2de6caecd9d7a43829c04b41c941f54121e6)

commit a6ddbd7c2018beeb6b073c3a6861c68f420f38c3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 13:12:34 2024 +0100

    contrib: vpx: update to 1.15.0
    
    This release includes new codec control for key frame filtering, more Neon
    optimizations, improvements to RTC encoding and bug fixes.
      - Upgrading:
        This release is ABI compatible with the previous release.
        Temporal filtering improvement that can be turned on with the new codec
        control VP9E_SET_KEY_FRAME_FILTERING, which gives 1+% BD-rate saving with
        minimal encoder time increase.
        libwebm is upgraded to libwebm-1.0.0.31-10-g3b63004
      - Enhancement:
        Neon optimization speed up
        Scene detection is allowed for all RTC speeds (>=5)
        Support profile guided optimizations
        Delta quantization parameters for UV channels for vp8 is supported in RTC
        rate control library
        Rate control parameters are reset and maximum QP is enforced on scene
        changes in SVC when there is no inter-layer prediction
      - Bug fixes:
        Fix to Uninitialized scalar variable in `vp9_rd_pick_inter_mode_sb()`
        Fix to Integer-overflow in `resize_multistep`
        Fix to Heap-buffer-overflow in `vpx_sad64x64_avx2`
        Fix to Crash in `vpx_sad8x8_sse2`
        Fix to Assertion in `write_modes`
        Support profile guided optimizations
        Fix to Integer-overflow in `encode_frame_to_data_rate`
        Fix to Integer-overflow in `vp9_svc_check_reset_layer_rc_flag`
        Fix to core dump error from /usr/bin/tools/tiny_ssim --help
        Fix to use-of-uninitialized-value in `vp9_setup_tpl_stats`
        Fix to Undefined-shift in `vp9_cyclic_refresh_setup`
        Fix to redundant `&& __GNUC__` preproc check
        Fix to valgrind warning in EncodeAPI.OssFuzz69906
        Fix to Index-out-of-bounds in `vp8_rd_pick_inter_mode`
        Fix to Integer-overflow in `vp8_pick_frame_size`
        Fix to Use-of-uninitialized-value in `vpx_codec_peek_stream_info`
        Fix to log clutters with the message "Warning: Desired height too large"
        Fix to Integer-overflow in `vp9_svc_adjust_avg_frame_qindex`
        Fix to integer overflows caused by huge target bitrate, frame rate, or
        g_timebase numerator or denominator
        Fix to missing license headers
        Fix to build failure for Android Armv7
        Fix to integer overflows in image helpers
        Fix to Integer-overflow in `vp9_calc_iframe_target_size_one_pass_cbr`
        Fix to Heap-buffer-overflow in `vp9_pick_inter_mode`
        Fix to Segv in `vp9_multi_thread_tile_init`
        Fix to Use-of-uninitialized-value in `vp9_row_mt_sync_mem_dealloc`
        Fix to Crash in `mbloop_filter_vertical_edge_c`
        Fix to Check failed in CheckUnwind
        Fix to Heap-buffer-overflow in `write_modes_b` and `vpx_write`
        Fix to Possible signed integer overflow found in `vpx_codec_encode`
        Fix to build conflicts between Abseil and libaom/libvpx in Win ARM64 builds
        Fix to build failures on aarch64
        Fix to Data race in libvpx ARM NEON
        Fix to Heap-buffer-overflow in `scale_plane_1_to_2_phase_0`
        Fix to integer overflow in `encode_mb_row`
        Fix to Floating-point-exception in `vp8_pick_frame_size`
        Fix to Heap-buffer-overflow in `vp9_enc_setup_mi`
        Fix to build failure with --target=arm64-win64-vs17
        Fix to heap-buffer-overflow write in `vpx_img_read()`
        Fix to C vs armv8-linux-gcc encode mismatches for `y4m_360p_10bit_input`
        Fix to Null-dereference READ in `ml_predict_var_rd_partitioning`
        Fix to Heap-buffer-overflow in `vpx_scaled_2d_ssse3`
        Fix to Crash in `convolve_horiz`
        Fix to Ill in `vpx_scaled_2d_ssse3`
        Fix to Global-buffer-overflow in `cost_coeffs`
    
    (cherry picked from commit 937dc12adac21f4d98025bf01b45b7fcf771fdbd)

commit 1713be552f9e26260a3ac33ce04ab89f660780cc
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 20 13:12:37 2024 +0200

    avcodec: add a define to test for AVCodecContext.ch_layout availability
    
    Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz>
    (cherry picked from commit 3abf93735df97cc2c96e11028b76067547c27eb7) (rebased)
    rebased:
    - on 3.0 the fmt_in is not a pointer
    - the code around is slightly different due to the use of API_CHANNEL_LAYOUT

commit e5072b340425e786b9e376cdf4bff4962c6e32f2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 19 08:36:40 2024 +0200

    ffmpeg: fix libavutil version check for AVFrame.ch_layout
    
    It was added in db6efa1815e217ed76f39aee8b15ee5c64698537 which
    was libavutil 57.23.100 at the time but the minor version was not updated in
    that commit so we check 57.24.100.
    
    This is part of FFmpeg 5.1.
    
    https://github.com/FFmpeg/FFmpeg/commit/db6efa1815e217ed76f39aee8b15ee5c64698537
    (cherry picked from commit f237155887f049f8befef2fdfadae7b60f697b0d)

commit 0939d55b81e916ff303f92f301257c2e0885fdb9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 19 13:41:04 2024 +0200

    avcodec: fix libavcodec version check for AVCodecContext.ch_layout
    
    It was added in 548aeb93834b8425c86d1ce60fddc1d41805724d which
    was libavcodec 59.23.100 at the time but the minor version was not updated in
    that commit so we check 59.24.100.
    
    This is part of FFmpeg 5.1.
    
    https://github.com/FFmpeg/FFmpeg/commit/548aeb93834b8425c86d1ce60fddc1d41805724d
    
    Co-authored-by: François Cartegnie <fcvlcdev@free.fr>
    (cherry picked from commit 8fd918b8787b8d077decf1a2b955ab0c7b964bf3) (rebased)
    rebased:
    - on 3.0 fmt_in is not a pointer

commit 38f9638ec71c2fe917dfd99ac2e1795b3357cfc3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 18 16:04:41 2024 +0200

    ffmpeg: fix libavcodec version check for AVCodecParameters.ch_layout
    
    It was added in 276c06726fbd2f784d51189870bd834e9284812f which
    was libavcodec 59.23.100 at the time but the minor version was not updated in
    that commit so we check 59.24.100.
    
    This is part of FFmpeg 5.1.
    
    It was erroneously removed in a55ec32ab3760d9edb6f05481cd3a981aa42878d.
    
    https://github.com/FFmpeg/FFmpeg/commit/276c06726fbd2f784d51189870bd834e9284812f
    
    Co-authored-by: François Cartegnie <fcvlcdev@free.fr>
    (cherry picked from commit 597bdb8e0784101b5f412feba3309558ad5b8862)

commit 0bcb306b7c05549a795b901ae33d6c7204456716
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 18 15:34:10 2024 +0200

    ffmpeg: fix libavutil version check for av_channel_layout_default()
    
    It was added in c41899a3770cb4510e15b223fa34d129305b1589 which
    was libavutil 57.23.100 at the time but the minor version was not updated in
    that commit so we check 57.24.100.
    
    The same check applies for av_channel_layout_copy() added in the same commit.
    
    This is part of FFmpeg 5.1.
    
    https://github.com/FFmpeg/FFmpeg/commit/086a8048061bf9fb4c63943f6962db48175f655c
    (cherry picked from commit 195f0c98599b55950c49a62f98d9d3495be310df) (rebased)
    rebased:
    - the code around is slightly different

commit d1fb5c6cb372d2233046064db174daf1987c1211
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Jun 10 11:10:37 2024 +0700

    codec: avcodec: fix ch_layout requirement
    
    refs #28667
    
    (cherry picked from commit 41778535dcae8b145ebfaa0392de281e470a91bf) (edited)
    edited:
    - on 3.0 the audio check was still using a LIBAVCODEC_VERSION_CHECK check
    - the mux/demux checks were already there with different spaces

commit 763dc3eba52cb7633a84f44dcde19602fca5eac7
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Wed Jul 5 15:09:57 2023 +0300

    avcodec/audio: make channel mapping array 0 terminated
    
    Also change pi_channels_src to be only AOUT_CHAN_MAX instead of same
    size as mapping array.
    
    (cherry picked from commit 0ff86bf8a28a080340f600cb8561815fc43e3b4a) (rebased)
    rebased:
    - the code around is slightly different

commit b2b54eb1efa3ecc72a4a64d0d962cab0676fbce1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jan 6 10:16:09 2023 +0100

    avcodec: use ARRAY_SIZE instead of custom code
    
    (cherry picked from commit 28c80ee47e6cdf961f501eed9d4837956b38afd1)

commit 534564b289db7ee966abf888207258c3e6828c98
Author: Zhao Zhili <quinkblack@foxmail.com>
Date:   Fri Jun 11 18:02:34 2021 +0800

    codec: avcodec: check open codec return value
    
    (cherry picked from commit 21ab6be22e7c1831cebf023fd53bd7ffbfad22f6) (edited)
    edited:
    - on 3.0 DecodeBlock returns a picture_t, not an error code

commit ce084152c9bade041ca18e19c3b264e4e134c6c3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 19 13:59:15 2024 +0200

    avcommon: use a specific macro to check the FFmpeg libavcodec version
    
    This macro doesn't check for libav which is assumed to not have to relevant
    code. This is the same macro name used in VLC 4.0.

commit 930ddc0d0fec55fff6c2ed0ffcc904773bae6622
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 7 07:23:27 2024 +0100

    avcommon: rename LIBAVCODEC_VERSION_CHECK to LIBAV_CODEC_VERSION_CHECK
    
    The LIBAVCODEC_VERSION_CHECK form will be for checks also done in 4.0.
    
    No functional changes.

commit d406a3127635afcba2436cbc9cbb3efbdc826331
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 19 13:57:24 2024 +0200

    avcommon: use a specific macro to check the FFmpeg libavformat version
    
    This macro doesn't check for libav which is assumed to not have to relevant
    code. This is the same macro name used in VLC 4.0.

commit 554a97ab33cd680b60731ec85fd9122329291725
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 7 07:22:26 2024 +0100

    avcommon: rename LIBAVFORMAT_VERSION_CHECK to LIBAV_FORMAT_VERSION_CHECK
    
    The LIBAVFORMAT_VERSION_CHECK form will be for checks also done in 4.0.
    
    No functional changes.

commit 5efaca393b7388d629bba920127eb5465325c436
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 19 13:56:31 2024 +0200

    avcommon: use a specific macro to check the FFmpeg libavutil version
    
    This macro doesn't check for libav which is assumed to not have to relevant
    code. This is the same macro name used in VLC 4.0.

commit 8fef83731a6b7324ffd03933272fcfd9b08a2cb0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 7 07:20:57 2024 +0100

    avcommon: rename LIBAVUTIL_VERSION_CHECK to LIBAV_UTIL_VERSION_CHECK
    
    The LIBAVUTIL_VERSION_CHECK form will be for checks also done in 4.0.
    
    No functional changes.

commit 2afbbfe5cd61641cc88a332fd7f8c4bfdea5d9db
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 15:16:41 2024 +0100

    contrib: ffmpeg: update to 4.4.5

commit 6acdc80bbfa12b9fcc3e57c1ee237e25bf6b1c49
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 15:30:41 2024 +0100

    contrib: ffmpeg: don't rely on MAX_PATH for Windows DLL loading
    
    It also fixes building with newer UWP toolchains.
    
    Only a small part of the first patch is backported.

commit 075e8d6968bf8b2e6118be90626da9918ec70296
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 23 10:17:20 2023 +0200

    contrib: libdsm: fix getpid usage in winstore builds
    
    (cherry picked from commit 06cfac960b0491ec5d68df205cc2bce5578b3a10)

commit 676a4763e18b1336fe56c51c03c88d58683c6d54
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 15 10:14:03 2023 +0200

    contrib: libdsm: fix UWP build
    
    Even though _CRT_RAND_S is defined a few lines above, rand_s is still not
    defined properly.
    
    Use the upstream patch that fixes this issue.
    
    (cherry picked from commit df3a5954c3513aa7f4b675275d34063d09bf81f8)

commit db369b4534f3c1acac8da909eba9964e79dd1231
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 14:04:53 2024 +0100

    contrib: orc: replace FORMAT_MESSAGE_ALLOCATE_BUFFER which may not be available in older UWP

commit 16024a575a7ce22147f3281ee5ab51e6fc484602
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 24 09:34:54 2024 +0200

    contrib: schroedinger: compile the same core in native and cross-compiled builds
    
    (cherry picked from commit b5cfbf6e1431a23698ea4f13d4cadabeba597e90)

commit 4229f74762675ef90441507953563f922b542281
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 6 13:59:37 2024 +0100

    contrib: orc: backport macos/ios fix

commit 724f05184099e7422133584ab8fb9ba57af6d447
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Nov 5 08:12:07 2024 +0100

    contrib: orc: update to 0.4.33
    
    Fixes a crash in diracpromo-tr1000.ts
    
    The upstream submission of the meson patch can be found at
    https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/70
    
    (cherry picked from commit 0ca61cd3fdebfc06177bb5b7dd03597705cd6c10) (edited)
    edited:
    - 4.0 update to 0.4.40 but the last one compatible with XP is 0.4.33
    - 3.0 was not using the cleaner autotools calls
    - 3.0 was not using the config.* updates
    - 3.0 was not using alloweduwp

commit 8222277ce1ceb444381121612038685472a943e6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 31 07:17:55 2024 +0100

    contrib: only pass the tools to meson when not cross-compiling
    
    When cross-compiling they are included in the crossfile.
    
    (cherry picked from commit cb0ebea6f3ece814b7b4b70b2d4b7f0eab68f372) (edited)
    edited:
    - 3.0 doesn't use BUILD_DIR with meson
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't build glib with meson
    - 3.0 doesn't build opus with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit ee92e20fafb362de279e82454dc6b14a1e4c11df
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 31 07:12:34 2024 +0100

    contrib: use HOSTTOOLS instead of HOSTVARS_MESON
    
    They are always the same. No need for an extra variable with a confusing name.
    
    (cherry picked from commit dedaffaf5fb896a1a85f3420fe55f75687b41a41) (edited)
    edited:
    - the code around the edited code is slightly different
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't build glib with meson
    - 3.0 doesn't build opus with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit a35c60584812622b358fa56079dd3cc40c3661a7
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Thu Mar 9 18:06:07 2023 +0100

    contrib: meson: always use meson `setup`
    
    "meson builddir" has been deprecated since 0.64.0.
    
    Please see 3c7ab542c0c4770241eae149b0d4cd8de329aee0 [1] upstream for the
    complete explanation.
    
    [1] https://github.com/mesonbuild/meson/commit/3c7ab542c0c4770241eae149b0d4cd8de329aee0
    
    (cherry picked from commit f16229374002d796979f3b6b5cb95cc5e8d45c4d) (rebased)
    - 3.0 doesn't use BUILD_DIR with meson

commit 32b551aa647ae10276088c18aa6488db8885c3e9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 27 17:04:58 2022 +0200

    contrib: pass compiler flags to Meson via the command line
    
    Rather than the cross file which generates warnings. It also allows to override
    each flag per target.
    
    (cherry picked from commit 6e912b40384f4be0bd5ce7632d2034fb4c03e23b)

commit 61be44b0f56b41811e62fc9bff5e8d2d1f3f1af2
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Apr 21 14:13:39 2021 +0200

    contrib: meson: Provide objc & objcpp compiler to crossfile
    
    (cherry picked from commit fb67f4b79b3d2c5ba49c71e656c33f0c7c36900a)

commit 56c89ccf25ef44d95cdf633ddf5716a1302f19c6
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Sat Jan 22 15:13:04 2022 +0100

    contrib: meson: fix writing pkg_config_libdir
    
    Write pkg_config_libdir to the correct crossfile section, should
    fix the build after 74060949afbbca285fefdc746f61ff43ed2cb213.
    
    (cherry picked from commit 09154ece03233a1f01e20aea5430b70616d58a93)

commit 61df2e7e4490aee05fa7d49b8d3383227792db03
Author: Mehdi Sabwat <mehdi@videolabs.io>
Date:   Mon Nov 29 13:13:58 2021 +0100

    contrib: set pkg_config_libdir in meson crossfile
    
    pkg_config_libdir is not a builtin option, to use
    it we need to define it either in the meson.build of the
    project or in the crossfile.
    
    This used to fail silently, but since PR#8974 (meson 0.60.0.rc1)
    it is a fatal error.
    
    (cherry picked from commit 791c4833683a19bcf5de2ce946c07425224c901d)

commit 8f8b16deac6a3d85e62e4b386f2e5398b036d0ef
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Mon Apr 27 15:53:39 2020 +0200

    contrib: meson: Use meson properties to pass PKG_CONFIG_PATH/LIBDIR
    
    In addition to environment variables. Those are ignored when cross
    compiling starting with meson 0.54
    Use of environment variables should be removed in the future
    
    (cherry picked from commit 583a941d13996d96d45a7f0d886666abbf64c260)

commit 8ea9144d959c00d48e2689cba7bbd723f2ce75dd
Author: Felix Paul Kühne <felix@feepk.net>
Date:   Wed Mar 9 08:15:53 2022 +0100

    contrib: add support for bitcode
    
    (cherry picked from commit e4b58707be272b76abc7aff51f673fd017a4e083) (rebased)
    rebased:
    - the code around is different

commit e77005901febd37f02aed56c1544297e6fa9aeb0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Dec 15 12:05:23 2022 +0100

    contrib: build meson with jobserver support
    
    If the installed ninja supports it, it will play nice with the other build
    jobs.
    
    (cherry picked from commit 72f38f5cbb1b9b25323b0045010411a9dc3aa601) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't build glib with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit ae3ce0c83c5614010f7ef002a56fdeae9db643f1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 14 06:38:18 2022 +0200

    contrib: use a command to clean the meson contrib before rebuilding
    
    Now the meson build folder is handled in a single place.
    
    (cherry picked from commit d0055d6cb397e91351d3b0363a32bcb640220537) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit f484ef097cfdff958c638579d83c0eb1b41947fd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 16:54:11 2022 +0200

    contrib: move the build and source folders in the MESON command
    
    This simplifies the meson calls without worrying where the files will be put.
    
    (cherry picked from commit 159d86097020310dfad14f971b818c2a3a8d3034) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit 48a314c299e0655c604b13cb84585d42e0be211e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 14 08:10:24 2022 +0200

    contrib: allow adding custom parameters to the meson build phase
    
    like MESON_BUILD="-v -j4"
    
    We need to split the compile and install phases as install doesn't have as many
    options as compile.
    
    (cherry picked from commit 0773a89ed61faf9a933d4c715d2773d71e866598) (rebased)
    rebased:
    - DCMAKE_VERBOSE_MAKEFILE is placed differently on 3.0

commit c4bb5e34fb4b77f68498d9719e92e90d89e2f9a9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 15:37:51 2022 +0200

    contrib: add MESONBUILD similar to CMAKEBUILD
    
    We don't use the '+' in front because it doesn't use the jobserver from our
    make call, because of ninja:
    https://github.com/ninja-build/ninja/issues/1139
    
    (cherry picked from commit 0b2008e9fe3d8235b94c02feb4809dfd0b98b3c8) (edited)
    edited:
    - DCMAKE_VERBOSE_MAKEFILE is placed differently on 3.0
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit b0330f9f5a37a3bf803cd298e7c4d960cf65a1aa
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 13:18:13 2022 +0200

    contrib: call meson install instead of ninja
    
    Just like we have CMAKEBUILD we can use meson to call build and use whatever
    it picks for the build system.
    
    (cherry picked from commit ddbfe0bd07761cdd1af88eb9f2ca7e5cd29132b7) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit e767f48b3a72d18513a14d247bc726c6bcb17ceb
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 13:19:08 2022 +0200

    contrib: remove the meson build folders from the top directory
    
    (cherry picked from commit aa8b38be5ee076f9ee3b7e7e7e4eb48d9c159819) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit 589c8fcd11d951f10f8463f1709d9c5fc27bf00e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 13:16:52 2022 +0200

    contrib: call meson from the current directory
    
    (cherry picked from commit 7d6501b210ff8b6e20148bcd1a98161deb715744) (edited)
    edited:
    - 3.0 doesn't build libplacebo with meson
    - 3.0 doesn't have basu
    - 3.0 doesn't have librist
    - 3.0 doesn't have medialibrary

commit dd191b6f27a364a04c2a838b6a97aa8c9411a72e
Author: Pratik Patel <pratikpatel8982@gmail.com>
Date:   Wed Oct 16 19:54:22 2024 +0530

    qt: add option to use dark palette

commit 9305408197f68baa4bc215ef14f33ab3e64d276b
Author: Pratik Patel <pratikpatel8982@gmail.com>
Date:   Mon Oct 7 20:23:58 2024 +0530

    qt: Enabled Styles ComboBox on Windows

commit ae1fe0e3f754cc4bf5bdd278a609f2c43a309dae
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 09:02:47 2024 +0200

    contrib: libarchive: update to 3.7.7
    
    Security fixes:
    
    - gzip: prevent a hang when processing a malformed gzip inside a gzip (2366, OSS-Fuzz)
    - tar: don't crash on truncated tar archives (2364, OSS-Fuzz)
    - tar: fix two leaks in tar header parsing (2377)
    
    Important bugfixes:
    
    - 7-zip: read/write symlink paths as UTF-8 (2252)
    - cpio: exit with an error code if an entry could not be extracted (2371)
    - rar5: report encrypted entries (2096)
    - tar: fix truncation of entry pathnames in specific archives (2360)
    - windows: fix ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS (2363)
    
    (cherry picked from commit 784b7c5978efc8df13732b8d3f9a2b45c809344e) (edited)
    edited:
    - 3.0 doesn't use GITHUB for the tarball
    - 3.0 had a patch for WinXP that has been merged

commit eadb90ffad45a39c725f52382782926a58c4e534
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Wed Oct 16 15:29:35 2024 -0400

    hds: fix crash if bootstrap data or URL are missing
    
    (cherry picked from commit 01934b339cf5f467c9c2e3a7fb61c7458347684c)

commit 83a1a1eb37ff75524878041a8c00a13ee8ec2098
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 11:41:58 2022 +0200

    contrib: gpg-error: remove configure setting found in HOSTCONF
    
    (cherry picked from commit ebdae4eaf4d0cb4531b8f640e4b12f73cf688210)

commit f4eef641ed6a1b7a0951b65a4a358a6d964bac53
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 23 14:31:16 2023 +0200

    contrib: gpg-error: avoid more forbidden UWP calls in gnulib
    
    (cherry picked from commit 156b76ba9a9441fc321954cc2e03920cfdce7e78)

commit c14736b1c5c487bc8b8b5b62f25efd28f3edbc43
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 23 15:46:45 2023 +0200

    contrib: gpg-error: always apply Windows patches
    
    They only apply to Windows specific code and are safe for all Windows versions.
    
    (cherry picked from commit a1c663c13086da89a1c79d5e8bcef09fe2e72e14)

commit 5b274360f9c76e5e8c65da5fe1af4e29f65138b4
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 15 08:20:15 2023 +0200

    contrib: gpg-error: fix UWP build
    
    (cherry picked from commit c441dda9b51fd650354d81ebb0b781039c0905b2)

commit 5fd266ef1d2b50faaa3b2e41eb23032e6018e1c1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 16 08:26:21 2022 +0200

    contrib: gpg-error: disable documentation building
    
    (cherry picked from commit 0d5e38ce25f0757b2fddf44a573eb1024ff84378)

commit c2297601733dcf3e0fbbf389402333b000341bbc
Author: Rémi Denis-Courmont <remi@remlab.net>
Date:   Wed Feb 2 20:21:19 2022 +0200

    contrib: gpg-error: sanitise POSIX lock object
    
    This provides a sane portable lock object definition for all platforms
    with basic POSIX threads. This replaces the insane gpg-error build
    system attempting and failing to second guess the platform-specific
    size and alignment of pthread_mutex_t.
    
    (cherry picked from commit ba314fb4c19977d45ce76f2412f2decc6afd4c6c)

commit 010edeea07fac030c85d0ac2777378659b22cecb
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Thu Jan 23 11:59:33 2020 +0100

    contrib/gpg-error: simplify darwin triplet handling
    
    Instead of copying the header files around, change the triplet
    canonicalization function to correctly remove version numbers for
    darwin triplets.
    
    (cherry picked from commit ebd6b48b5fbe543bcacc2f9a877a350528b1bd3f)

commit 78fa990e38b0e9b49171d428bd56a90208f773cb
Author: Rémi Denis-Courmont <remi@remlab.net>
Date:   Sat Sep 30 11:19:34 2023 +0300

    contrib: mingw: fix ARCH usage
    
    IA-32 is canonicalised as i386 by the ad-hoc script.
    $(ARCH) will never equal i686.
    
    (cherry picked from commit 93907682b4c68fda13b15b7961f38863baaf944d) (edited)
    edited:
    - 3.0 uses pthreads/rules.mak

commit 467230e0c287149f196dcd18ce2d6ae5d537eaa7
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 22 13:03:13 2022 +0200

    contrib: use a variable for the build dir and source dir from there
    
    (cherry picked from commit 66fdd2d83faee83de38a351b28d69c9b32fdf279) (edited)
    edited:
    - only apply to autotools as it was already used for CMake

commit f09f7796a764a92b03fb900d43dbfaf9cfb07cb2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 14:09:25 2022 +0200

    contrib: add some command to factorize configure/make calls
    
    (cherry picked from commit b7c5ba6eca052a965e933f5d64564b25e645f403) (rebased)
    rebased:
    - 3.0 already has BUILD_DIR

commit 1435e5e691a35837af906a96d3b4fcfe6c96e6a3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 30 14:50:44 2023 +0200

    contrib: mingw64: patch headers to allow more API's in UWP
    
    * libloaderapi.h to allow LoadLibraryEx, GetModuleHandle,
    GetModuleHandleEx, LoadString, SizeofResource in UWP
    * winreg.h to allow RegCloseKey, RegCreateKeyEx, RegDeleteKeyEx,
     RegDeleteValue, RegEnumKeyEx, RegEnumValue, RegGetValue,
      RegNotifyChangeKeyValue, RegOpenKeyEx, RegQueryInfoKey,
       RegQueryValueEx, RegSetValueEx and RegDeleteTree in UWP 8.1
    
    (cherry picked from commit b39bb8da1b7760c999bdc6d381c56f17eca4cfd2) (edited)
    edited:
    - 3.0 uses pthreads/rules.mak

commit 524bd5debd3dd6e37154b774d18d5d25d640393d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 11 11:43:26 2024 +0200

    amf_frc: lock D3D11 context on QueryOutput()
    
    (cherry picked from commit bf7ce0156d8713b5b1cef5d398f7ee3576567430)

commit fa203ea4e0d25a67688f6090697e6102cd7a7a01
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 11 11:39:55 2024 +0200

    amf_frc: don't use a staging texture to pass the input texture
    
    There is a trick to set the slice array number on the D3D resource before submission.
    
    (cherry picked from commit b25d56b220c95a5f8003c3af0706e5e80478163e) (rebased)
    rebased:
    - in 3.0 we code around is slightly different

commit 941a927de9fc8a24452430dff9f2b7aea849f4c2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 11:47:03 2024 +0200

    mft: don't force WINVER
    
    We should only force it if it's wrong. But even then we must reset the value so it matches the
    _WIN32_WINNT_WIN7 we force.
    
    Forcing _WIN32_WINNT is better than just WINVER.

commit 0aa6dbad9c2af66e87427275a3796a0cd9fe499a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 11:45:21 2024 +0200

    win32touch: don't force WINVER
    
    We should only force it if it's wrong. But even then we must reset the value so it matches the
    _WIN32_WINNT_WIN7 we force.

commit 9cf50d17c666ffe39cf5fcbf7d682a796f1f9dd2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 11 12:51:33 2024 +0200

    contrib: x264: don't validate the checksum of the local tarball
    
    Different versions of xz may produce different checksums.
    Ref. #28825
    
    (cherry picked from commit 704097649a53a33b21780275fa03ebedea7088c0)

commit 4b3fa640cde8027b47f69044a0b0cd643514e1cb
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 11 12:35:34 2024 +0200

    contrib: x264: fix android aarch64/arm cross prefix
    
    "aarch64" is turned into "ach64 " and "arm" into "m".
    
    ld is not found in the path to LD:
    /sdk/android-ndk/toolchains/llvm/prebuilt/linux-aarch64/bin/aarch64-linux-android-ld
    
    (cherry picked from commit 27d993252ccd7548578e0986b30c4e970863397f)

commit ea663d5492778264683c284c3e92c76d26aedd10
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Oct 11 12:33:35 2024 +0200

    contrib: x264: only set --cross-prefix once
    
    (cherry picked from commit 8bfcb80dbe1e36641878205c0f927d00f56094a9)

commit 97b885ccf82af77c93fcc190164ca9a0b5def329
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Apr 22 14:09:09 2024 +0200

    contrib: x264: fix fseeko detection on older 32-bit Android
    
    It's not supported [1]. NDK 26 will emit an error if you try to use it.
    
    Upstream patch: https://code.videolan.org/videolan/x264/-/merge_requests/150
    
    [1] https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md
    
    (cherry picked from commit e750fb576b5d2c7b1341c71697e26bad79bb5460)

commit 9f45e0b8b4476252a31343024e8241b5584659e2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 21 11:46:29 2023 +0200

    contrib: x264: fix build when x264 is in the include path
    
    (cherry picked from commit 117561315447fa25425bc09f9168e9692cb9a561)

commit 5ecded35f258c0ecdea51460d3460a8857d7a390
Author: Martin Storsjö <martin@martin.st>
Date:   Fri Sep 23 10:27:54 2022 +0300

    contrib: x264: Update to the latest version from code.videolan.org
    
    This allows dropping some portability workarounds.
    
    (cherry picked from commit 426ff68ea89c7a98d90b7b20e359e54955a4959e) (edited)
    edited:
    - X264_AS was exporting variables on 3.0
    - 3.0 doesn't use MAKECONFIGURE yet

commit f76013b69f707f7305a07ec119244bc9557fbf51
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 14:21:15 2022 +0200

    contrib: x264: remove configure setting found in HOSTCONF
    
    (cherry picked from commit 2b45932a6bcebf12d2292dad6759aa91a5a9062d)

commit 6680761733a986cd9f757147d9936a0467ba2c76
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Mon Aug 1 12:58:32 2022 +0200

    contrib: x264: enable back x86_64 asm on Android
    
    Since relocation issues are now fixed.
    
    (cherry picked from commit 047cc58ad8111ebc8bf7cc4c213bdfdc41b59c43)

commit 1a009d1f829dd9786ac513fea08578f3629a8096
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Thu Jul 21 17:19:26 2022 +0200

    contrib: x264: with build with Android NDK25
    
    Cross tools changed from ${ARCH}-linux-android${API}-${TOOL} to
    llvm-${TOOL).
    
    Example: aarch64-linux-android21-strings to llvm-strings.
    (cherry picked from commit 9e4252a513e6b0314b364ad2cba1b65b97a585b8)

commit 84793061ac4c1285746e7923560f3a020a041a9b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Jul 6 15:37:50 2020 +0200

    contrib: use UNPACK in targets using --strip-components=1
    
    They don't actually need some special treatment. They extract properly in the
    expected folder given their tarball name.
    
    (cherry picked from commit 018f006925eb402c3f29063bd83c079ceba5b4b7) (edited)
    edited:
    - 3.0 has slightly different tarball naming for ffmpeg
    - 3.0 doesn't have bitstream, fxc2, glslang, medialibrary

commit e31969d344830f4be8466cb5f936e39231a27f51
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jul 10 10:09:20 2020 +0200

    contrib: x262: move the x262 target in its own folder
    
    It doesn't have any depedency with x264 nor anything shared.
    
    (cherry picked from commit 9b9447af810905a760246a4e2a04547267f9938f) (edited)
    edited:
    - 3.0 already has the HOSTCONF after configure

commit e4368812866660b46dedf4ad908d7eb2cb5dd410
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jul 10 10:06:00 2020 +0200

    contrib: x262: clean build dependencies to use the git source
    
    It doesn't build but at least we get the sources to build properly.
    
    (cherry picked from commit 2792169a9702a3f2c5025e5cd67e67e074a28277)

commit 9bc0a8a0956b7bfb53e361db1b440231f0925441
Author: David Fuhrmann <dfuhrmann@videolan.org>
Date:   Fri Mar 22 08:06:37 2019 +0100

    contrib: x264: Fix build by using UNPACK_DIR
    
    UNPACK_DIR instead of x264-git is expected for the following
    contrib macros (UPDATE_AUTOCONFIG, APPLY).
    
    Fixes build on macOS.
    
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
    (cherry picked from commit f87092a889ea00f60e6c34140a5fbf807eac0626)

commit 297ea7b6a9374fdc70ceb4347164b817e75fa631
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 7 12:44:09 2019 +0100

    contrib: x264: enable Winstore builds without MSVC
    
    (cherry picked from commit ec0b6bdc91024fef63cebfb6a07cc14f889ed6d8)

commit e8caa1de07a6e176540a5acb351473eb6bef175a
Author: Martin Storsjö <martin@martin.st>
Date:   Wed Mar 28 10:24:29 2018 +0300

    contrib: x264: Use a unique file name for the x264 snapshot tarball download
    
    Treat x264 as an (almost) normal package to download, except for not
    checking for the download in http://downloads.videolan.org/pub/contrib.
    
    This fixes building contribs with a prepopulated tarballs directory,
    even if the x264 snapshot version changes.
    
    Alternatively, the x264 contrib could be changed to use download_git
    with proper support for pinning to a specific git hash.
    
    (Not touching the x262 part since that doesn't seem to be working
    at all right now. Downloading x262 fails since it tries to download
    from an undefined X262_SNAPURL.)
    
    (cherry picked from commit 0845207525933a4da28238b56ef7e77daff00c54) (rebased)
    rebased:
    - 3.0 uses tar xvjfo

commit 5cdb9b25440ec1d295e76bc866227a6f91502d55
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 11:11:36 2024 +0200

    fetcher: don't download network metadata if the user doesn't want to
    
    The option is defined as "Allow metadata network access". If it's false (default but query during the first run) that means the
    user doesn't want to check metadata from the network.
    So we should not start a network job when there's a possibility to do it.
    
    This is a regression from ea88b8d68e252445bcc305fd7a3dd45ef3ce0126.
    Before that we only used FETCHER_SCOPE_LOCAL if the option wasn't set.
    
    (cherry picked from commit 1a85d6793948c88afe35692d8c17a82089a58f33)

commit a618e31cf209168ae420e95750734a37359969e1
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Sun Jul 7 11:14:05 2024 +0200

    mux: avformat: fix avio callbacks signature with ffmpeg 6.1
    
    API signature changes introduced depending on a positive define,
    then removed later, making it break prior or post removal...
    
    (adapted from commit 503c04fad9239420be26d67aab4d5f63c53eb4f7)

commit e8cc58caff295e99cbefc8608021dfc83ad8bfa4
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 14:03:24 2024 +0200

    contrib: pthreads: use git integrity check
    
    We can't validate the checksum of the local tarball.
    Different versions of xz may produce different checksums.
    Ref. #28825

commit af4a6fc9a5aa3dd2c0abfbde778bb8faf2ce4afc
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 14 14:02:58 2024 +0200

    contrib: tremor: use git integrity check
    
    We can't validate the checksum of the local tarball.
    Different versions of xz may produce different checksums.
    Ref. #28825

commit c0438390cc8f551dbaef0131fa5e054c82f9fc12
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Sep 24 18:53:11 2024 +0700

    codec: x265: handle 4.0 encoding API change
    
    refs #28799
    
    (cherry picked from commit 83e2c3955a563b60f74f05cea57e3ab5f447c8fb)

commit 4cbeec2436cfb6718d72ae5cd0e8a74971dc2c03
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Sep 24 18:43:08 2024 +0700

    codec: x265: handle X265_MAX_FRAME_THREADS on newer CPU
    
    libx265 will bail out when hitting the limit
    
    x265 [error]: frameNumThreads (--frame-threads) must be [0 .. X265_MAX_FRAME_THREADS)
    
    (cherry picked from commit bbd294d1e46b86653873ec88d49e9a15cbaae68f)

commit 651679fa2f9f7941327cf7fc975383c4f08f7c95
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 22 11:16:33 2024 +0200

    package/win32: use the mingw-llvm ar/ranlib
    
    If a regular gcc toolchain is also in the path the gcc-ar/gcc-ranlib
    variants will be used. We want to use the one coming with the mingw-llvm toolchain.
    
    (cherry picked from commit 232d0a2c2500fcd83c596f3fb5e292e1f452b075)

commit ce24e0ed4d9c2e3d5d04a7b996bc78ed1ee2d6b4
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 16 13:14:47 2023 +0200

    package/win32: fix UWP warnings when forcing windowsapp linking
    
    When files are compiled they don't use the linker part and clang emits a warning.
    Some contribs like libvpx use -Werror and won't build if there's anything
    extra in the command-line.
    
    (cherry picked from commit 98598ce92e9d36cb296d8ab39a0998a5f27d773c) (rebased)
    rebased:
    - on 3.0 we set the minimum Windows version with UCRT support to Win7 (0x0601)

commit 0fe8d0385a259993e731a95ceef813cd816d1e90
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 16 13:05:55 2023 +0200

    package/win32: don't force windowsappcompat in contribs
    
    It's already done in contrib/main.mak and should be removed from there.
    
    (cherry picked from commit 36129d5171e07f3e1f2789aee0bf5d6988ddf921) (rebased)
    rebased:
    - on 3.0 we set the minimum Windows version with UCRT support to Win7 (0x0601)

commit 8a5276b30deb62d7e3d203afaddb4003df4b1e39
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 12 16:14:15 2023 +0200

    package/win32: remove forced vcruntime140_app linking
    
    We should not need it with UCRT.
    
    (cherry picked from commit 522d0b7796bfb9d46a79a114bb2903998922f490) (rebased)
    rebased:
    - 522d0b7796bfb9d46a79a114bb2903998922f490

commit 4ed2fd973393260b1d051b6b4c08540fd30a80ec
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Feb 17 10:32:15 2023 +0100

    package/win32: don't force ucrt linking with C/C++ file
    
    We already check that the C toolchain defaults to UCRT since 23fac2466a6284f1b341d3f87e3fa9f336d87c7e.
    Using -lucrt with recent cland creates a warning.
    arrib25 is compiled with -Werror which prevents it from compiling. But we don't
    need -lucrt at all.
    
    (cherry picked from commit e6cf68a5326d3e91fec81623b726b6104a803dbc) (rebased)
    rebased:
    - on 3.0 we set the minimum Windows version with UCRT support to Win7 (0x0601)

commit 88c0c371e0a81bfca52c5af94a416c3df79c664e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Feb 17 10:28:16 2023 +0100

    package/win32: add the -l in the EXTRA_CRUNTIME string
    
    So we don't have to repeat it each time
    
    (cherry picked from commit 9178cfcd74764490076a1934c31dd6cdb1d8d75d) (rebased)
    rebased:
    - on 3.0 we set the minimum Windows version with UCRT support to Win7 (0x0601)

commit 85b05c03cc6b15fbcb5ff5e62d8e5552439d2b4d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jan 26 15:08:52 2023 +0100

    package/win32: detect when UCRT is enabled without a UCRT toolchain
    
    (cherry picked from commit 5d219486314740ca005d55dc1320d491b7052d39)

commit 214c7bc28d4d154abf61722d874f77e81d2a2152
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jan 26 15:05:13 2023 +0100

    package/win32: detect we build with a UCRT toolchain
    
    (cherry picked from commit 23fac2466a6284f1b341d3f87e3fa9f336d87c7e)

commit 30f36be4756c55ff7211da451c79dd7eeca07d27
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jan 26 12:35:15 2023 +0100

    package/win32: set _UCRT when enabling URCT in mingw-64
    
    _UCRT was not set automatically in with mingw-w64 older than 7 [1]. _UCRT is
    needed to enable certain UCRT API. It's also set by MSVC.
    
    [1] https://github.com/mingw-w64/mingw-w64/commit/8b2ece59fccf0a65257b1ba2fe8d67d7e8a2e8c1
    
    (cherry picked from commit 4657ba2647ca051294dc5fce38a38488e775bb95)

commit 948bfcfe4bcb4551032bfaf5664f1d6010e887ab
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 29 16:02:24 2021 +0200

    package/win32: build.sh: add an option to set the Windows SDK version
    
    The NTDDI version contains the windows version and the subversion like the
    Windows 10 flavor or Service Pack. This is supported by mingw64 and MSDK.
    
    https://docs.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers
    (cherry picked from commit 62cdc93a11775210f39f03b71afc3a2133f6d567) (edited)
    edited:
    - the minimum WINVER for 3.0 is XP SP1 (0x0502)
    - when selecting UCRT we still force the minimum to Win7 (0x0601)

commit 841ea44264b9a5cd6b983b76ed7e48bcfdfc310e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jul 5 13:42:25 2023 +0200

    contrib: libarchive: disable Werror when building
    
    We have odd configurations that it may not expect. Like passing -gcodeview
    to get .pdb files in clang.
    
    Werror is on by default in debug builds.
    
    (cherry picked from commit a57b38d5306fb0839283383a51c0792dae13954a) (rebased)
    rebased:
    - the comment about XP/Win7 support is different on 3.0

commit c99ecb1ab587a31fec601fb999c8c1d0ece49905
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 15:51:28 2019 +0100

    configure: use WINSTORECOMPAT when building for Windows Store
    
    We may use some forbidden APIs that are actually usable via WindowsStoreCompat
    
    GetACP in the core, for example.
    
    (cherry picked from commit 277b45efff01dcccd42f1e4943aa09297f99650e)

commit e020f9abb31809584e33d740593d6ae5a190771d
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 12 19:32:42 2024 +0700

    codec: avcodec: bypass removed define for Intel workarounds
    
    adapted from cherry picked commit 1280728ad305f00ceba3491ce11bf66107017a6c

commit bb62989ccc12866d308e6f38dc1513de9cb1c6da
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Tue Jul 4 16:55:28 2023 +0300

    avcodec: use ch_layout for channel layout in audio encoder
    
    channels and channel_layout has been deprecated in FFMPEG 5.1 and will be removed eventually
    
    also always create the mapping, as ch_layout is always there
    
    (cherry picked from commit b73dc8841d999c6be9de718cd2cd3aeb13279792)

commit fa001cda7f6b22843438c39dfc078050bb54c72a
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Tue Jul 4 16:53:43 2023 +0300

    avcodec: add handling of new ch_layout in audio encoder
    
    conditioned to avcodec version where is it added
    
    (cherry picked from commit c4302ca59dd79efd7208a45a3fcdc44388fd03a8)

commit b5bb9bda03a06fc1cfd682dacb571b688b5558d9
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Apr 23 13:14:53 2024 +0700

    demux/mux: avformat: use ch_layout from ffmpeg 5.1
    
    merger pick from commit a55ec32ab3760d9edb6f05481cd3a981aa42878d
    and fixup 195f0c98599b55950c49a62f98d9d3495be310df

commit 3db6e677680a1a94e473fe9d9fc121af34cdcf2b
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Sat Aug 17 11:22:33 2024 +0700

    codec: avcodec: fix audio channel_layout conditionals

commit 58c05240c26b6eef56e7c5ab35b14ccd8377667f
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 13 12:21:58 2024 +0700

    avcodec: encoder: fix channel_layout conditionals

commit b8ad80a20e9e84082dac2848070d251fa68412c7
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Apr 23 13:13:30 2024 +0700

    codec: avcodec: map AYUV as RAWVIDEO with ffmpeg 6.0
    
    (cherry picked from commit 955ef939467a628eb8da08e0d5eaefc9a3484cba)

commit c44edb85e4f25cbc7a848211d2d3ca9f03bd46e6
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Tue Jul 4 16:52:38 2023 +0300

    avcodec: use p_enc audio channels instead of context channels in encoder
    
    Allows to have less conditions in code when adding new ch_layout use
    
    (cherry-picked from commit 29747a8abb98ba53a64aa6761983891eeed2e0e4)

commit 99b14966182995314f5b29fd972d6a9000ea3e00
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Wed Jul 5 13:33:09 2023 +0300

    avcodec: audio decoder to use ch_layout
    
    (cherry picked from commit 496f0f2a659c1339d1e37330d446e9b6ce96e76b)

commit c7709e7a048eb69b656d7f9663debbc1dde1f591
Author: Ilkka Ollakka <ileoo@videolan.org>
Date:   Wed Jul 5 12:51:34 2023 +0300

    avcodec: use p_dec->fmt_out instead of context channels on audio channel-count
    
    reduces the need of ifdefs when adding ch_layout support
    
    (cherry picked from commit bddf5ba19111d1cc4463d9876c4bc4ba75f82d7f)

commit 81d6d56df6e5a66ed99970e2c559539858f4a0b7
Author: Rémi Denis-Courmont <remi@remlab.net>
Date:   Sat May 5 15:28:15 2018 +0300

    avcodec: avoid signedness mismatch warning
    
    Bitmask should be unsigned, but ffmpeg seems confused with itself.
    
    (cherry picked from commit 8544233e7fde2965435e32a445494898440ecc30)

commit 76ef452e901739f0431d8feacc47845f81b4a15c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Oct 8 13:26:34 2024 +0200

    contrib: libarchive: fix bcrypt usage
    
    The header may be detected but we don't want to use it when targetting XP.
    
    Patch sent upstream: https://github.com/libarchive/libarchive/pull/2374
    It's not necessary on 4.0 since we build for Windows 7.

commit eb54f4ce347c0cd89188b827d2f33b3b034bf39d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Oct 8 08:20:23 2024 +0200

    contrib: libarchive: fix detection of newer functions on macOS

commit e09768457a8bfe15fa1fcefda88706ca7c80e693
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu May 25 13:11:03 2023 +0200

    contrib: libarchive: allow CreateHardLinkW in UWP
    
    (cherry picked from commit d853db29e953c65aa370fb20643c4b89bb6dde64) (rebased)
    rebased:
    - 3.0 doesn't use DEPS_zlib before
    - 3.0 doesn't have LIBARCHIVE_CONF next

commit f709dcdbc9b43c2bb50f87498b98029b4b407662
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 23 13:17:24 2024 +0200

    contrib: libarchive: update to 3.7.6
    
    Includes our UWP patch and some CVE fixes from 3.7.4 and 3.7.5.
    
    (cherry picked from commit 78ae78c044e87086bc976b9c226eb6fa93e4af54) (rebased)
    rebased:
    - 3.0 doesn't use $(GITHUB) for the tarball

commit 6fe63c98e2bb992362d0d9c38202db3f42aaca28
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jul 18 11:22:11 2023 +0200

    contrib: update libarchive to 3.7.0
    
    It contains all the patches we had.
    
    Changelog: https://github.com/libarchive/libarchive/releases/tag/v3.7.0
    
    New features:
    
    *  bsdunzip: new tool ported from FreeBSD)
    * drop-in replacement for Info-ZIP unzip, not yet ported for Windows
    * 7zip reader: support for Zstandard compression
    * 7zip reader: support for ARM64 filter
    * zstd filter: support for multi-frame zstd archives
    
    Other notable bugfixes and improvements:
    
    * pax: fix year 2038 problem on platforms with 64-bit time_t
    * Windows: Universal Windows Platform (UWP) fixes and improvements
    * Windows: bcrypt usage fixes and improvements
    * Windows: time function usage fixes and improvements
    
    (cherry picked from commit fa419f41709adb04bb4ef92b1dfc249dcc7bb897) (edited)
    edited:
    - 3.0 builds with autotools so the bsdunzip option is used there
    - 3.0 had old patches we don't need anymore
    - 3.0 used RECONF that is not needed anymore

commit 82b1831df2734c8e9861ff03fffc26a88385b329
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 18 07:42:58 2024 +0200

    contrib: libarchive: fix usage of GetVolumePathNameW in UWP before 20H1
    
    (cherry picked from commit 037300632832df831721c0b6b09fbc13255b6fa2) (rebased)
    rebased:
    - the code around is slightly different

commit dc46659b84acd77cbe0b6366d520b7add28f8ba5
Author: Khalid Masum <khalid.masum.92@gmail.com>
Date:   Wed Mar 15 16:00:26 2023 +0600

    contrib: libarchive: update to 3.6.2
    
    Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz>
    (cherry picked from commit 37e03085a721c4a19210a5b8d8da7d110aef691e) (edited)
    edited:
    - 3.0 didn't have the UWP patch removed
    - 3.0 didn't use $(GITHUB) for thr tarball URL

commit bd6d977262e3c8b05481973f1ff1b67370549973
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu May 25 11:54:39 2023 +0200

    contrib: libarchive: build with CMake
    
    That's the target they use in their CI. Although they don't test
    cross-compilation to Windows...
    
    We don't need the Android patch anymore.
    
    (cherry picked from commit 7179b5ee6e24641844c2a1ba075187ee12216534) (edited)
    edited:
    - 3.0 was not use MAKEBUILD
    - LIBARCHIVE_CONF was different on 3.0

commit 1b4ab35f6e091b21e9cb5d3183868f70fc08ef98
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 24 09:51:22 2023 +0200

    contrib: mingw64: allow CreateHardLinkW/GetVolumePathNameW in UWP
    
    (cherry picked from commit 4347aac5881d003f4edd10f7509f73b1f49d081a) (edited)
    edited:
    - 3.0 uses pthreads/rules.mak
    - 3.0 doesn't use mingw-w64 v11

commit 2dcc3673f7d46f50a434cda033d8445f75d17b63
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 24 09:51:22 2023 +0200

    contrib: mingw64: patch headers to allow more API's in UWP
    
    * fileapi.h to allow GetFileInformationByHandle in UWP
    Unlike all the documentation says, it's allowed in the SDK.
    * memoryapi.h for VirtualAlloc
    
    (cherry picked from commit 826f28e5c90424367c2bde7e4140e6f734f38516) (edited)
    edited:
    - 3.0 uses pthreads/rules.mak
    - 3.0 doesn't use winrt_headers

commit b8e6e00809f36cb9e74bac0b9d6a4b58d532575d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Apr 15 11:11:57 2024 +0200

    contrib: don't set the build mode in the toolchain file
    
    It doesn't describe the toolchain we use. We can pass the value as a regular flag.
    
    (cherry picked from commit 89fe89ee75a508d486e85b43961616cf17faa10b) (edited)
    edited:
    - 3.0 doesn't use gen-cmake-toolchain.py

commit b8768a504daf965acf6f08ae8c11fd85e067db4b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 23 08:33:24 2023 +0200

    contrib: taglib: enable WinRT option in winstore mode
    
    This triggers the use of CreateFile2 instead of CreateFileW.
    
    (cherry picked from commit c133bc4b6cfa7bb02e51697e02a861e5733e7c6d)

commit 9d47a81b8f13df95ba91f8a5dd887474d0ce9bc0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 2 11:13:38 2023 +0200

    contrib: mimic the Android CMake toolchain
    
    We need to set ANDROID so that the code can tell it's building for Android.
    This is until we use the proper CMake Android configuration.
    
    (cherry picked from commit 7e172702b1e64da90ba9519bdc3693451b653936) (rebased)
    rebased:
    - 3.0 doesn't have the following MSYS_BUILD check

commit cac144379e04f643e577a6fd99f63311b4e2fbc3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 17 11:51:11 2022 +0100

    contrib: simplify the cmake call
    
    We don't need a specific CMAKE_PIC anymore
    
    (cherry picked from commit 61eff32a9b4bda4c8917f9570ad8850d1305b68d) (edited)
    edited:
    - 3.0 some contribs are not build with CMake (flac, fluid, freetype2, jpeg, libxml2, nfs, ogg, opus, png, zlib)
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit c7c249b75a0b37dea47079cdd4347c7a121a2cac
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Oct 19 11:49:50 2022 +0200

    contrib: openjpeg: extract to the proper directory during UNPACK
    
    (cherry picked from commit c3d55dc14495a338906bca7602581f2b62b8ed50) (rebased)
    rebased:
    - 3.0 uses pthreads instead of winpthreads

commit 7a12274abdc198e7374cf9d0f91f8ef085b59732
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Nov 17 11:48:28 2022 +0100

    contrib: always use CMAKE_POSITION_INDEPENDENT_CODE for CMake projects
    
    It's used for static libraries and only for some targets that need it. CMake
    takes care of picking the right configuration.
    
    (cherry picked from commit 1266db2bf6410fd8a5ee8b52d636783f8d2c1bd8) (rebased)
    rebased:
    - the code around is slightly different

commit ddbbf247dd75dee082047f2abb453a924bd629b1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Oct 19 06:56:37 2022 +0200

    contrib: use the CMake flag to select the PIC flag
    
    It may differ between compilers and is internally handled by CMake, including
    not doing it on Windows targets.
    
    (cherry picked from commit e1b6661e1ec42362800b6b928267899d271a144a) (edited)
    edited:
    - 3.0 doesn't use BUILD_DIR for autotools
    - 3.0 some contribs are not build with CMake (flac, fluid, freetype2, jpeg, libxml2, nfs, ogg, opus, png, zlib)

commit f96fd3c1c9d3659a7e2dcec188d4bbc4f50644d2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Oct 5 11:20:03 2022 +0200

    contrib: use HOSTVARS_PIC on CMake targets forcing POSITION_INDEPENDENT_CODE
    
    ...for static library builds.
    
    So we have a clearer view of which target uses PIC and which doesn't.
    
    aom does it with the CONFIG_PIC variable that we set with the same conditions
    we set PIC.
    
    (cherry picked from commit c3ceacfd26fbbf765bd48696cbe8dd9d8f2c7a1a) (edited)
    edited:
    - 3.0 some contribs are not build with CMake (libxml2)

commit 774abe26459c0139a9f869d0e3f363b0a796e954
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sun Sep 11 17:45:31 2022 +0200

    contrib: openjpeg: update to 2.5.0
    
    (cherry picked from commit eb7ec4423f78204136f8d8bcdc1509ae1ec7e2f7) (edited)
    edited:
    - 3.0 didn't have the emscripten patch
    - 3.0 already used $(GITHUB)

commit 75ad2577cbb3159f36d09973ae22b9fc9a1a5e48
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 10 10:26:30 2022 +0200

    contrib: use cmake --install to install CMake targets
    
    It is cleaner than using an internal "install" target which may not be on all
    CMake generators.
    
    We don't need multiple threads to install files. They will be better used for
    compiling files.
    
    (cherry picked from commit d2b9059d191a7752fdcc57c454360ed4dc4a6104)

commit 2313453b5d6e92acd69652dee5f385b1a212be46
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 10 10:20:38 2022 +0200

    contrib: replace CMAKEBUILD --target install with CMAKEINSTALL
    
    We don't need to know the prefix when compiling. We also don't need multiple
    threads to install files. They will be better used for compiling files.
    
    (cherry picked from commit 6c86ff70e67146e0c1163d2a9fde6ca891d093f1) (edited)
    edited:
    - 3.0 some contribs are not build with CMake (flac, fluid, freetype2, jpeg, libxml2, nfs, ogg, opus, png, zlib)
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit cbabeb443e1a69210ee8012a7a22fb5af1ba1d2a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 26 12:17:43 2022 +0200

    contrib: build all code before installing for cmake contribs
    
    If the contrib install sub-directories it may install some and fail later. We
    should only install when we know everything built correctly.
    
    Do each build step in a separate make line.
    
    zlib had issues building all at once on emscripten
    https://code.videolan.org/robUx4/vlc/-/jobs/1149115
    
    (cherry picked from commit 420e9f62fe57a3891f68e551ec7df1f21a4fe3bd) (edited)
    edited:
    - 3.0 some contribs are not build with CMake (flac, freetype2)
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit ea11a0d887ad13567c2918fd3fe23404cab5c6fd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 26 15:16:54 2022 +0200

    contrib: taglib: disable C bindings
    
    We use it with the C++ interface.
    
    (cherry picked from commit 2599291bb489512b20147a1df3175345b0411e26) (rebased)
    rebased:
    - 3.0 doesn't patch the same files

commit e4e0727f52603038ee40957a10efceb9f4c720a5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 26 10:15:53 2022 +0200

    contrib: use the specific build directory variables
    
    (cherry picked from commit 8d0461dd448142545aa447d45edf1c226153ddf0) (edited)
    edited:
    - only keep the AOM change building with CMake

commit 90368e8ffe79744cddedb2f12df38044167864a1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Oct 10 10:19:17 2022 +0200

    contrib: add a command to install the built CMake target
    
    (cherry picked from commit 0f2caa566c8c9df248e0781d098edf5271e6115a)

commit 83f9894211d35b5e6d8d73e6745b42b7e4152b38
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 22 13:03:13 2022 +0200

    contrib: use a variable for the build dir and source dir from there
    
    (cherry picked from commit 66fdd2d83faee83de38a351b28d69c9b32fdf279) (edited)
    edited:
    - 3.0 doesn't have MAKEBUILD
    - don't modify MESON

commit 747e969f54a99ef19e52736439961bac7d21490b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 10:28:30 2022 +0200

    contrib: put variables after the configure call
    
    It should make no different where the variables are. They should be before the
    target name if there is one.
    
    (cherry picked from commit cfeea778135bf125ad2720a97199b7f1233b07af) (edited)
    edited:
    - PROTOBUFVARS is already in the right place
    - 3.0 doesn't use sqlite anymore

commit 3c2f5583d4fa9a58999f58d129796bca65cd7f5a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 14 16:40:32 2022 +0200

    contrib: always put HOSTCONF before custom parameters
    
    (cherry picked from commit 88b6c195472ce4cc75aebaf63f71f571d7e934b4) (edited)
    edited:
    - 3.0 doesn't have a VNCCLIENT_CONF
    - 3.0 had SHOUT_CONF an empty because 85268b42d744538158fbef6ad1973147cf8e8f5c is not backported
    - 3.0 doesn't use the sqlite anymore
    - 3.0 has FONTCONFIG_ENV

commit 5c4f13f01a0a1026d90610c088afdf445968d1c1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 11:19:53 2022 +0200

    contrib: x264: use HOSTCONF for common autotools parameters
    
    (cherry picked from commit 3f557ee5dde63bcbe15caee641f46429da9723f1) (edited)
    edited:
    - on 3.0 x262 is in the same build script as x264

commit a13f6c4e1f075228afef78cdadb0fa22187813a2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 16 12:08:59 2022 +0200

    contrib: use a variable to set the configuration
    
    (cherry picked from commit 52add02a4e13f7b210b89406a12cba50985207eb) (edited)
    edited:
    - 3.0 doesn't have rnnoise
    - ssh2 has a flag for gcc 4.9

commit a5968cb28ba3e1ed70abd8fdda6ae7ded9c8b57e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 09:50:19 2022 +0200

    contrib: do successive builds separately
    
    (cherry picked from commit c637a0bd59ea311683a7a41e039edb0e8b7b4988)

commit c345ce7144fc5a94103e5a51268918294f83e3e5
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Apr 1 11:14:17 2020 +0200

    contrib: tiff: Ensure we only build & install the lib
    
    (cherry picked from commit 52971aeb0e6217132969ba2bae2551d1c7d6cf29)

commit 70d22dbede3b07ed1c1d9caa159656918566395d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 14 07:36:43 2022 +0200

    contrib: use a command to clean the cemake contrib before rebuilding
    
    Now the cmake build folder is handled in a single place.
    
    (cherry picked from commit b650363488c735a1bb2959e8380044cad9e3b5d2) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit fae2865c530115792de38295b5355881c20d2d84
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 08:55:24 2022 +0200

    contrib: assume CMakeLists.txt is in the contrib folder by default
    
    It can be overriden when calling $(CMAKE).
    
    Remove the stray '.' that was left after -S was used in all cases.
    
    (cherry picked from commit b2e78e25bcbf57cf945652985c38883d6a588a1e) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit e690bd151dc167560c47e0cd0d18afc126841ebf
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 09:10:39 2022 +0200

    contrib: put the build folder directly in the CMAKEBUILD command
    
    We always use the same name and always use it.
    
    (cherry picked from commit 8fa16a23d569ece87931b0fc2071e6cf8440e531) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit 4edc058293a979db03a18867e055959c5c3b9016
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 08:43:12 2022 +0200

    contrib: put the build folder directly in the CMAKE command
    
    We always use the same name and always use it.
    
    (cherry picked from commit 44ccea2f0783733bed7f9ce39b0e7ce8136d0fb7) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit f86adb2f46b19fcaa54ef21ec408c26fbe8a3c30
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 08:36:09 2022 +0200

    contrib: aom: use the same build folder as other CMake contribs
    
    We don't need to destroy nor create the build folder each time.
    
    (cherry picked from commit bb04ae4603a95020ffe9ca5c8b3f8f395b7275cb)

commit 6f298bb9c3509496ffd08c478c91ce4edcd4e4f7
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 10:54:24 2022 +0200

    contrib: aom: remove redundant flag
    
    LDFLAGS is already set in HOSTVARS
    
    (cherry picked from commit 0857e1c9799a9510df70bc13572f5a3a1f92a88e)

commit bd2900f4a24cb2f377ee6368740b6f3b63b4101d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 08:30:05 2022 +0200

    contrib: build CMake targets in a build folder
    
    Meson targets already do it.
    
    We don't need to create the build folder prior to using it, CMake will do it
    for us. We don't need to cd in the folder either, we can tell CMake where to
    find the CMakeLists.txt file in the same call.
    
    (cherry picked from commit 8f47412922df15870614f2ac21cef703edd43d37) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libaribcaption, libebur128, vulkan-headers, vulkan-loader)

commit 58026bf24172c7193afaab27aed55e944aa605b7
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 12 13:23:00 2022 +0200

    contrib: mpcdec: backport some patches from the original SVN repo
    
    via https://github.com/ctarbide/musepack_libmpc
    
    It transforms the SHARED option into proper BUILD_SHARED_LIBS.
    
    Fix the old patches and apply them as commits. The MSVC patch can be applied
    no matter what. The macOS patching is useless since CFLAGS are respected thanks
    to the first patch. The sed is not needed since the second patch removes build
    of all the programs.
    
    The decoder and encoder code has not changed since revision 481. Only the tools
    have been slightly updated.
    
    We don't need to copy the .a manually anymore.
    
    (cherry picked from commit 48caea17c602e026290b6eef0c3cf994263d4c1d) (edited)
    edited:
    - 3.0 used $@_src_r$(MUSE_REV) instead of UNPACK_DIR

commit 5b2499ac829b503cd705dc94b8e85e55812e7507
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 5 09:30:55 2022 +0200

    contribs: don't force CMake to build in the current folder
    
    It is the default behavior. We could change that in CMAKE for all targets
    at once.
    
    (cherry picked from commit 3513e834d34642831fcc60174582ffe02638ba09)

commit 572cd3631b77d48f6440ca87b1c122f69289455e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 15:31:59 2022 +0200

    contrib: remove CMakeCache.txt without changing the current directory
    
    (cherry picked from commit dd0c79a7270b0f9f074bd3536b37a0fbec263ff4) (edited)
    edited:
    - 3.0 some contribs don't exist (libaribcaption)

commit 15141855599703aba080b382a4a4d5d2c8f449d2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 5 09:04:35 2022 +0200

    contribs: build from the top directory like other contribs
    
    We just need to tell CMake where to find the root CMakeLists.txt file.
    
    CMake already puts all its build files in a CMakeFiles folder.
    
    There's only libaom that generates an error if you build the library from the
    root...
    
    (cherry picked from commit cd41528ce933448badd35ba5bf96424e3f0fdbf8)

commit d3d4c94ed77b0854dbe450f9cabf722b7df90d4c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 2 10:49:09 2022 +0200

    contrib: remove the CMakeCache.txt at every run
    
    Just like we do with autotools builds, we configure the target every time we
    build a contrib.
    
    In the case of cmake, touching `toolchain.cmake` does rebuild the cmake
    contribs but if there's a cache it's not reconfigured and doesn't rebuild
    anything.
    
    (cherry picked from commit 575c4acdf5f4bc57f43e1213c43a8721741df6b9) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libebur128, vulkan-headers)

commit 1721009169c7dfc4b71d0cbbb282109e896bb4c0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 11:06:11 2022 +0200

    contrib: fluidsynth: do not force FLUIDSYNTH_NOT_A_DLL
    
    FLUIDSYNTH_NOT_A_DLL is not used anymore when built statically. Here's the file
    used to generate the public header:
    
    https://github.com/FluidSynth/fluidsynth/blob/v2.1.8/include/fluidsynth.cmake
    (cherry picked from commit e1fb8bcba014cfb76294d1fa6b332dceff59fe02)

commit a7899a98949c669d66df16b3c4e95ad016b93263
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 5 16:25:37 2022 +0200

    contrib: chromaprint: use CMAKE_CXX_IMPLICIT_LINK_LIBRARIES to get the C++ runtime
    
    Submitted upstream https://github.com/acoustid/chromaprint/pull/119
    
    (cherry picked from commit 7a772424d70e512976ab806a95fbc887df7c0381)

commit d80b45c8d941ece6d0717c05aec1bdde393c0dfe
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 10:57:06 2022 +0200

    contrib: ebml: no need to disable ENABLE_WIN32_IO
    
    It's off by default.
    
    (cherry picked from commit 9aee532882e2bda62a073006aca3ef1fa22d2f01)

commit 9a485aceaea22b38bcff9a32ea788c091debe6a0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 13:15:49 2022 +0200

    contrib: glew: don't force GLEW_USE_STATIC_LIBS
    
    It's used to set the library prefix between glew (dynamic) and glew_s (static).
    But only the static target (glew_s) is selected in our environment. It will
    pick the proper prefix on its own. It's not even a public option to set.
    
    (cherry picked from commit bf1793ee250f958488da820bb34c89832eefbcc0)

commit bead67a35b78ad69996d9bfaab111de38c95592a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Aug 31 09:28:00 2022 +0200

    contribs: don't force libraries to be build statically locally
    
    The CMAKE variable already sets it for all targets.
    
    (cherry picked from commit 49ff728d48005aac6d87ecfb8f8114fe07dedd51) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libebur128)

commit fffb78c381eaa19417db982040224757dff8bd29
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 06:41:10 2022 +0200

    contrib: use internal CONF variables for the project configurations
    
    This is how it's done for autotools target and some cmake targets. It makes
    long lines a little better to read.
    
    (cherry picked from commit 780b04d35d3c2618c0d63b26a500ae7d2066b845) (edited)
    edited:
    - 3.0 some contribs don't exist (glslang, libebur128)
    - on 3.0 soxr uses -Wno-dev
    - on 3.0 projectM uses -DCMAKE_CXX_STANDARD=98

commit ffb160a0b2db096a1d0f667ec0d14d0c64cb7f10
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 13:01:42 2022 +0200

    contrib: projectM: remove unused cmake include options
    
    These options don't exist. The others are set to non default values.
    
    (cherry picked from commit 9ac24e74962957018472b788ed4c0751e358b913) (rebased)
    rebased:
    - on 3.0 projectM uses -DCMAKE_CXX_STANDARD=98

commit ada3105d0a18b059d6086d3812d5dc287f662bc0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 13 09:44:39 2022 +0200

    contrib: projectM: install extra depended on libraries via CMake
    
    rather than manually.
    
    (cherry picked from commit 7017b973de2e8d0e40ad362312fa74cdeffb524f) (rebased)
    rebased:
    - 3.0 does't have PROJECTM_CONF

commit 972ee3915c66989051fb7dca0be8128b08359e45
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 14:49:57 2022 +0200

    contrib: soxr: remove default cmake option values
    
    (cherry picked from commit 375d5a48e501a0d95118cb3a90bc28fa3b432d06)

commit f1bf9e2afa22441182c6e891b14a2122eefdc57b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 15:01:25 2022 +0200

    contrib: srt: don't set default GNU folders
    
    We do force CMAKE_INSTALL_LIBDIR which makes srt not use any other of the GNU
    directories...
    
    Merged upstream: https://github.com/Haivision/srt/pull/2450
    
    (cherry picked from commit 055841ec129641f5e121f883c5746ff03ccc6d1e)

commit 929bdda5d7b41e54e22853a31cf87bb8a4057971
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 2 12:41:37 2022 +0200

    contrib: srt: replace MSG_TRUNC with upstream fix
    
    It can be removed once we update to the next release.
    
    The previous patch potentially hides an error handling.
    
    (cherry picked from commit 183ecb2eb3e1c516d8b64b54f8a11b34f6f60478)

commit 82d0523e5a1fa2c9685c9d7351dfd06ff22e62b9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 1 14:58:46 2022 +0200

    contrib: srt: use the recommended USE_ENCLIB to select gnutls
    
    (cherry picked from commit 60b079bb97903b50efa2cc422768dd625237fc3e)

commit bd488ed08e0528481958204cc5ecdfda961bb628
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Thu Feb 17 16:36:33 2022 +0100

    contrib: main.mak: Work around GNU Make bug
    
    (cherry picked from commit 94415f30fa7771c2516a318c0ca78210c11b87ac) (rebased)
    rebased:
    - the code around is slightly different

commit 4b8cce48debba6a8a69331ba2d323cab0b60f251
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:23:28 2022 +0100

    contrib: aom: Allow make to communicate with jobserver
    
    (cherry picked from commit 8c3d39bfbb93f76403ac78080b9741b1420cd934)

commit 78b8d730dd689efdfb5b947201fc5458d98ca0bd
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:41 2022 +0100

    contrib: taglib: Allow make to communicate with jobserver
    
    (cherry picked from commit f941c3ca6d051cfe0b8f95b2caba1cad2a3c17e7)

commit 5ee4c35a863f07c83db47c55587b0911090dea92
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:31:05 2022 +0100

    contrib: matroska: Allow make to communicate with jobserver
    
    (cherry picked from commit c8c5541cc1090b69027d37b15a05e544d74c5886)

commit e929828f647e414101ec44e24cdfc46877faa337
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:30:00 2022 +0100

    contrib: fluidlite: Allow make to communicate with jobserver
    
    (cherry picked from commit 2f71ade47af315498d7e93c2f0425f338bfa62a8) (rebased)
    rebased:
    - 3.0 already has FLUIDLITE_CONF

commit 6f3e064e26d3b65034817e340a7d508c2e386107
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:24:57 2022 +0100

    contrib: fluid: Allow make to communicate with jobserver
    
    (cherry picked from commit 96b9ffec876b2cfb81b87726afbfcf854cade095)

commit 979ba6fa6360c5db2ba14dfb2f9ab27a7fe05c83
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:24:40 2022 +0100

    contrib: chromaprint: Allow make to communicate with jobserver
    
    (cherry picked from commit 140cd0a387f870bf461310be2da17a192c5cfb4a)

commit d937c2d3d86506150963a32ba1664d87b0157ab2
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:24:45 2022 +0100

    contrib: ebml: Allow make to communicate with jobserver
    
    (cherry picked from commit 0d97ee8a13965684b960e17c19050e50b6f14f60)

commit 8e2e32b0359be89adac8c91f77c1887f8892b25e
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:30:10 2022 +0100

    contrib: glew: Allow make to communicate with jobserver
    
    (cherry picked from commit a1405bc989547a4a676ab53fbdd378ee59cd7086)

commit 9e2e46348fcedf73b37ded72c5197be176a63ec1
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:31:41 2022 +0100

    contrib: mpcdec: Allow make to communicate with jobserver
    
    (cherry picked from commit 6cf7db55b0499b1bb10384eff226b17d71cfc05e)

commit a9dc792bc4b265467ca611b5f5c48674fe7696c9
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:31:50 2022 +0100

    contrib: mysofa: Allow make to communicate with jobserver
    
    (cherry picked from commit 83893fd0f3123b2ff006b82a3715c2d9f589bbb4)

commit 4f00b920eed7ea4dbc5a4076d6241831255cc466
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:31:59 2022 +0100

    contrib: openjpeg: Allow make to communicate with jobserver
    
    (cherry picked from commit 69f5556704ab2562c102a6faeba06c3bf628cec5)

commit b2048bef4dd01a24776e2a134fab666204ac282f
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:07 2022 +0100

    contrib: projectM: Allow make to communicate with jobserver
    
    (cherry picked from commit 7c5abbf37037e289894db4ba522ffe03a7d93a3b)

commit c33775c4558491140ca5df7ea47544c1df3e25c2
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:18 2022 +0100

    contrib: soxr: Allow make to communicate with jobserver
    
    (cherry picked from commit a29d55b19e89e4e7c0a8960e75c51abd926fe691)

commit 31daf263b9c5a4dffb8441e2c4a1a009a012e335
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:25 2022 +0100

    contrib: spatialaudio: Allow make to communicate with jobserver
    
    (cherry picked from commit 89954b5a9a41b634e39c87af1fec1fbb3c5ff090)

commit 6fe74ca848cc6cb91b23062d875d46c639c0f2aa
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:34 2022 +0100

    contrib: src: Allow make to communicate with jobserver
    
    (cherry picked from commit ed5fd4176879f80d035cb578ad134d1cef31ee9e) (rebased)
    rebased:
    - 3.0 doesn't have CFLAGS/CXXFLAGS for srt

commit 5fd083438e1dea4ea8f04a73f6994ee98c23f3b8
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 10:32:49 2022 +0100

    contrib: x265: Allow make to communicate with jobserver
    
    (cherry picked from commit 2277fd97a409d494f7186d4070b82b0ebcc55625)

commit 998349900801de04cbf505f540eb05c66caac01a
Author: Zhao Zhili <quinkblack@foxmail.com>
Date:   Wed Nov 4 20:12:49 2020 +0800

    contrib: support CMAKE_GENERATOR other than makefile
    
    First, fix the conflict setting/using of CMAKE_GENERATOR. Second,
    call build via cmake instead of run make directly.
    
    Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
    (cherry picked from commit c74a77e7eba252d0e126e71b59910fc9507ba9ed) (edited)
    edited:
    - only use the patch for glew that is now built with CMake

commit 220091ac9ac10dd796cf548ec67a89e76e27c534
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 15 13:03:20 2022 +0200

    contrib: mad: remove forced -O3
    
    This shouldn't be enforced. We already use -O2 on release builds.
    
    -O4 was removed in 8d09802392b674ea6ae7993c20e6f725b0d7a86c
    -O3 was added with the contrib in 9c0b836a35bced0ede45054b85640694f54faeaa
    
    (cherry picked from commit 6240c4cea4bdbeab9422378f90eaddf7116b8952)

commit 8d215010ba60ef18d17e05a6a1e9179dddde4821
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 25 16:57:38 2018 +0200

    contrib: mad: pass the extra flags via a single variable
    
    (cherry picked from commit 405c8b41858af8f7425b61f2e9967a8db297f43f)

commit 7a1352aca239940ea30d023985874bc7179bbd31
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Mar 24 15:20:50 2020 +0100

    contrib: protobuf: only build for C++ support
    
    (cherry picked from commit 75dc8ba56b8732a2622002631c353835bd154147) (edited)
    edited:
    - 3.0 build protoc separately

commit d33b3b80eae11823d1aaf9c69e3123374f70bbb0
Author: Konstantin Pavlov <thresh@videolan.org>
Date:   Sun Oct 27 06:34:24 2019 +0300

    contrib: glew: drop debug postfix from the library name
    
    With 4d57652c407d4a75e0b36f4e1fbc438def3b5c2e the Cmake BUILD_TYPE is
    set to Debug when optimizations are disabled, which is then used by glew
    to determine the resulting library name.
    
    This in turn confuses our build of projectM, which uses glew32 as a name
    to use when linking.
    
    (cherry picked from commit 31d47ca70e4b8c412eab440b2212bdc6aefdea03)

commit d6edc329c88e57d7e9ee6963a3e7faf20be0447e
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Mon Jul 22 17:21:03 2019 +0200

    contrib: chromaprint: remove dependency on .ffmpeg
    
    This dependency is already setup by the dependency propagation at
    the end of the main.mak makefile.
    
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
    (cherry picked from commit bda34233393d36d085963a7147f887612c337f7d) (rebased)
    rebased:
    - DBUILD_SHARED_LIBS:BOOL=OFF is not used on 3.0

commit f404827b19dc2eba52baf2427030ceef1771313e
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Mar 6 11:55:33 2019 +0100

    contribs: src: Fix glew tarball name
    
    sourceforge accepted .tar.gz but was redirecting to .tgz
    Our mirrors have .tgz
    
    (cherry picked from commit 3bf912cc7366ddfd1b8bba4e0998f8a28c3dd537)

commit b2f26c8d73c22b5231df2cd3daa3ea10d0170335
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jan 25 12:19:14 2019 +0100

    contrib: glew: update to 2.1.0
    
    And build using cmake rather their manually edited makefiles
    
    (cherry picked from commit d44e8c06423fc7fb255337bc39de268dc98f470c) (edited)
    edited:
    - 3.0 had GLEW_DEST=$(PREFIX) on the MAKE like

commit 56e2cea3f0e163c436d82a8b6e1f8e7192ead09e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri May 25 08:55:29 2018 +0200

    contrib: turn the verbose mode of CMake when called with make V=1
    
    So that we get a similar level of verbosity as the make based targets
    
    (cherry picked from commit 5389c05bb639fb8e3457c663b26f5ba0981bd59a) (rebased)
    rebased:
    - 4.0 has MESON defined above

commit 74deed0afe9b5002aa2a40b2849a14def4677727
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu May 24 16:45:26 2018 +0200

    contrib: gpg-error: group the configure flags in a variable
    
    (cherry picked from commit 498619b876398ce2ff4c4dc3abfef4ab515e7e52)

commit feb960f232add2a17e146da65bc06108e9f22724
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed May 16 13:45:49 2018 +0200

    contrib: vncclient: build without pthread on windows
    
    That's how the buildbot does it
    
    (cherry picked from commit 660de93940fa497d86b27f34f46fd34a6fe2a97a) (rebased)
    rebased:
    - the code around is slightly different

commit e38fa342be7494b31bb722a8544b6656b04c4ae0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 14 08:48:20 2018 +0200

    contrib: libarchive: use a local variable to store the configuration
    
    (cherry picked from commit 0b609afa656c561050077ec05233815e42ce3dbb)

commit f7ba35f7eb525878f5208d252cbcccfe3d6ad1b8
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 3 12:41:21 2024 +0200

    extras: snap: build all tools in one call, including cmake

commit 1743b53b4879b634491b2458faf217426134f5aa
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 3 11:26:31 2024 +0200

    contrib: aom: remove redundant mkdir

commit 7b8f075537a4cdebefd39fae193eb8bc131dd8b5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 3 14:06:24 2024 +0200

    contrib: remove unused sqlite
    
    It's not built by default.
    It doesn't seem to be force built by libvlcjni or medialibrary either.

commit 2f6a50828b03da47ef05fb40340034010ecd191d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 25 13:56:47 2024 +0200

    video_output: allow the AMD FRC filter as a static filter
    
    "Interactive" filters can only do one output per input.
    Only "static" filters are allowed to generate more frames, like the deinterlacers.
    
    There is no way at this point to probe the module that will be used
    if it will output many frames or not. And even if it could the order of
    filters would need to be respected. We cannot dynamically add filters
    on one chain or the other.
    
    (cherry picked from commit b3379d35c9794b93f1558c06852174145c48da39)

commit 585f2c88ac15e455014052992ee58d2ca6e0f18c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Aug 9 07:48:43 2024 +0200

    video_filter: add AMD FRC filter
    
    (cherry picked from commit 44833103120be4b98d8869a4fe5f3a68eb0442c2) (edited)
    edited:
    - on 3.0 the D3D11 filters are in a single DLL
    - on 3.0 add_bool has an extra parameter
    - on 3.0 the output pictures come from filter_NewPicture()
    - on 3.0 there is no vlc_filter_operations
    - on 3.0 there is no video context
    - on 3.0 there is no vlc_picture_chain_AppendChain()

commit ceaddfac54bcb0dbcd4b1e80e691eaacf750220a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Aug 9 07:48:18 2024 +0200

    configure: detect AMD FRC.h
    
    (cherry picked from commit c2256ac9717eba469479fd6052db2286fc45d0ae) (edited)
    edited:
    - add a define to be able to conditionally use the code.

commit d73f972fd1cceef358c4d860a35f8f74ab262019
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 25 11:37:02 2024 +0200

    hw/amf: let the AMF system know what version was used to compile
    
    With future drivers and old binaries it may trigger different code
    pathes than the latest version.
    
    (cherry picked from commit e1c9c361849e6042185d123ab559d14fa7d7e8e3)

commit e3ebd51aad0439d4ed3cf390ceecb29f8d20bc22
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Aug 9 07:22:40 2024 +0200

    contrib: amf: update to 1.4.34
    
    It now comes with a nicer header-only package.
    
    (cherry picked from commit fb18df85ca73deffe66bb83a06fd09bb9de4b09d)

commit e2be4359a22ced0a765f991449d290cf9d57586d
Author: Sean McGovern <gseanmcg@gmail.com>
Date:   Thu Sep 14 15:14:25 2023 -0400

    contrib/amf: remove old SHA512SUMS entry
    
    (cherry picked from commit 7d1e89fc10f1758a40062c92c6658fb54ea411b6)

commit 27ff7bd53a2b7f5ef8402b9a98a0bf05e3843eb6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Oct 1 08:36:17 2024 +0200

    d3d11_fmt: use CheckInterfaceSupport() to get the driver version
    
    It works well with WDDM 2.3 and above. Otherwise we fallback to the old
    way.
    
    (cherry picked from commit d48871ba62dbdd2c0be59195d2f91d3e31ba6523) (edited)
    edited:
    - on 3.0 we use C
    - on 3.0 the call is done outside of the adapter setup

commit 9b7b520e0f09404006ced5e19db047d3fe7e5194
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Oct 1 08:33:26 2024 +0200

    d3d11: read the adapter description when reading the driver version
    
    So we have all the information about the adapter.

commit f94f0a5f979668fee7b0d2e8bb9cc89152135eac
Author: Francois Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 1 17:44:52 2023 +0700

    stream_extractor: set correct offset on read failure
    
    (cherry picked from commit 9f160402e3ea835f1d242e8ca5af89c57a3a2583)

commit 5da01cd098b4950be2fd9a938c84715731cfdb24
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jan 4 14:51:51 2023 +0100

    archive: fix the type used for libarchive_skip_cb
    
    It is not using off_t.
    
    (cherry picked from commit 5da9f85b186a69e5b64d83470b32b7fd19dbf943)

commit 64888ed19574915b4789e87ab4a3f1620c3ca8de
Author: Johan Gunnarsson <johan.gunnarsson@gmail.com>
Date:   Sun Nov 3 00:23:00 2019 +0100

    archive: Add support for RAR 5.0 format
    
    libarchive 3.4.0 adds support for RAR 5.0. See
    https://www.rarlab.com/technote.htm#rarsign for description of signatures.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
    (cherry picked from commit 059f6f5690005853f3e3160f5f896301b2f52ecd)

commit 47e6c1b726b22afb53a0762506864650ca1a2d33
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 3 09:07:14 2024 +0200

    hw/amf: keep the AMF version in the context
    
    For FRC we may need to disable it before 1.4.34.
    
    (cherry picked from commit de748458776f58f150edc06a4b9cac8c961dac20)

commit 8d11bb2fafceab82b76b2935ad92462b1b5f1e07
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Sep 3 10:27:59 2024 +0200

    video_filter: disable VQ Enhancer for other GPU manufacturers
    
    InitDX11 crashes if the filter is enabled but an incompatible GPU is used.
    
    (cherry picked from commit 49381f476eda197962d1164133cc7021a0adb52d) (edited)
    edited:
    - on 3.0 we need to get the D3D device via D3D11_FilterHoldInstance()

commit f0703a7162b14e178d745b64157ea932cb61a491
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Sep 19 10:30:06 2024 +0200

    demux: mkv: handle mkv-use-chapter-codec option
    
    For safety reasons some users may not want to handle any chapter codec.
    The option was added 8697e6ef99ef0cec90bcf515052e5de1c09601ce but
    never implemented.
    
    (cherry picked from commit 4b479fb554cf1474fc549334459512b0b096dbcc)

commit 6536cb798328111ff48c0311716e8cf3d78b8a7a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Aug 5 11:04:09 2024 +0200

    demux: mkv: write the actual extra data size in the ALAC extradata
    
    This is what avcodec/audio expects when detecting the extradata.
    
    See InitDecoderConfig()
    
    (cherry picked from commit d2265e981fa19a9f5f1299e968348ed3ca98ee60)

commit e7e39457be9ae9d77c60676903bb9bd4de564139
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Aug 5 10:58:29 2024 +0200

    demux: mkv: fix link to ALAC documentation
    
    The 36 is the 12 bytes we write plus 24 bytes from ALACSpecificConfig.
    
    Also avoid subtracting 12 from a variable were we added 12 (our header).
    
    (cherry picked from commit d71ed1c6f081fba9e6e7ec4339734fc270ba0d64)

commit 33e838f0260591fedcc55776121eba03026d9b9e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Sep 18 12:57:04 2024 +0200

    lua: don't use | operator on VLC errors
    
    This could end up with unknown/invalid error values.
    
    (cherry picked from commit 586b28f4aab1f936d666bd3dab7904793c3012d7)

commit 720c55a08c1f4fe18114040bf9bc7fde32eb12c2
Author: Martin Storsjö <martin@martin.st>
Date:   Wed Sep 18 00:12:47 2024 +0300

    directx_va: Fix building with latest mingw-w64 from git
    
    Since mingw-w64 20331109d1c90c19a510408ab119a76004bc41ea
    (September 17th), mingw-w64 headers do provide these GUIDs.
    (They come from Wine as upstream, from Wine commit
    6dfb84f5cbdf30c1dc0775fd4dae821ee8705ad4 from September 10th.)
    
    This change does break building with older mingw-w64 13 git
    snapshots though.
    
    This is the same fix as in c81cb6fb980c51fffdd2567dfc7ff6ddcccdf814
    in the VLC 4.x branch, but adapted to the state of the source
    in 3.0.x.

commit 5ee481afa798f281304754b001572dfe5dc0078e
Author: Vikram Kangotra <vikramkangotra8055@gmail.com>
Date:   Sat Feb 3 02:52:52 2024 +0530

    Taglib: Use ID3v2Tag() instead of tag() for RIFF::WAV::File
    
    `WriteMetaToId3v2` expects a `ID3v2::Tag` instead of `Tag`, but Since TagLib v2.0,
    `RIFF::WAV::File::tag()` returns a `Tag` instead of `ID3v2::Tag`, hence replace
    the usage of `tag()` method with `ID3v2Tag()`.
    
    https://github.com/taglib/taglib/blob/master/taglib/riff/wav/wavfile.h#L124
    
    Additionally, to resolve the compilation error, the function signatures of
    `insert` and `removeBlock` have been adjusted to align with the base class
    functions.
    
    (cherry picked from commit ec29dfca1e59530dd412d779e0b045079b72ffb6)

commit e69ef263f369dcfc86bb6d8757250a43665de90b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Jul 3 10:00:39 2023 +0200

    contrib: Bump taglib to 1.13.1
    
    Changelog: https://github.com/taglib/taglib/releases/tag/v1.13.1
    (cherry picked from commit c7cceca69ba1fc96fc6d29d9750c6dcfb4ef44aa)

commit 6da0cba608256bfa0a037670885d12e80ea8761f
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sat Jun 3 17:35:09 2023 +0200

    taglib: remove VLC path define check
    
    It is no longer needed with contribs taglib updated to 1.13.
    
    (cherry picked from commit c5851fd495ed6de1d3712e64a2b1cc1e4e9059f4)

commit 78af081da100958c8fa66a2e5eaeda7b8364530f
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Wed May 31 23:58:44 2023 +0200

    contrib: taglib: update to 1.13
    
    (cherry picked from commit 436526ec6a05aa3acb75d888b4baaa649cf8b87d) (rebased)

commit 97f309a711fdd0095712e4198ec0c59429e1772a
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Mon Feb 28 08:25:48 2022 +0100

    contrib: taglib: Update patch from upstream
    
    This is the version that was merged upstream so it makes sense to use it
    to facilitate future rebases
    upstream PR: https://github.com/taglib/taglib/pull/1040
    
    (cherry picked from commit c5893a223668fd9d0085c03998ceb9055a7ccede)

commit 651da62cd4e5dd3feb08900220156edf464e6c55
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jan 4 15:24:47 2023 +0100

    taglib: don't cast the file st_size to a possibly smaller type
    
    We can just use auto and always get the proper type.
    
    (cherry picked from commit 7413126744e0b494856ba9acc5ae3c27ce4af625)

commit 286d843d45d1616d6e7c10fcf71ab51008f6e516
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Mon Apr 11 23:21:25 2022 +0200

    meta: taglib: use std::min
    
    (cherry picked from commit 584fd17a9445d8d5f7d692b7416eec09b9240b0e)

commit 01c9003d74e2f08b03c487b3d904bacb67e569cb
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Fri Feb 18 08:26:41 2022 +0100

    taglib: Fix invalid version check
    
    (cherry picked from commit 53260ca5ae906f1e35791d14e4b588d25c04e51b)

commit ba8583858d36a3555ac5fe154e6ea524aa1d1157
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 9 14:18:11 2022 +0100

    taglib: Use nullptr instead of 0 for pointers
    
    (cherry picked from commit 89e20ea0d87f414f763ce38ff5579aec61f71b42)

commit 6a14f299495dec75174f043e9ea796fc43e6bd71
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 9 14:14:08 2022 +0100

    taglib: Implement new StreamTypeResolver interface when available
    
    refs #26602
    
    (cherry picked from commit 268b5b8bc1f1109c4fc69b22e53095c6d81faa76) (rebased)

commit d226e0c694fdb8d8af0efdb45a5cdaeb41da2ad4
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 9 14:12:14 2022 +0100

    contrib: taglib: Fix custom resolvers with IOStream
    
    upstreamed at: https://github.com/taglib/taglib/pull/1040
    Fix #26602
    
    (cherry picked from commit 2f82d6b9280c8e56b1ad7247ea9ffbe2a4df95a4)

commit 7b2f1d3513683b26a8a4bf5ac81c38baf7d3b3da
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Wed Feb 16 09:52:38 2022 +0100

    taglib: Remove explicit invocation of default constructor
    
    This is already done implicitly
    
    (cherry picked from commit 93842f650548d6f29ec13cf0679bf49cf5ce107c)

commit 230edbcc47abd744714ef57d4be486779c02c298
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Fri Nov 26 18:19:41 2021 +0100

    taglib: Remove use of deprecated String::isNull
    
    (cherry picked from commit c404fdb24183031a419667639846edddca3401f8) (edited)
    edited:
    - 294cbdbaee0209bc88ca7bec9164da8da4ac44ef was merged before this patch

commit 72446e872e4cbb7b59042671b7654f36b2262e82
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Fri Nov 26 18:17:19 2021 +0100

    taglib: Remove usages of deprecated itemListMap
    
    contains() was added in 1.10 and item() is supported since 1.9
    
    (cherry picked from commit ac59d0ba59ba800c52c0a92ec1d9576d2653dbe2)

commit 7c09325e252c9f60da98c8522aea8114ccb3dd2c
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Fri Nov 26 18:08:47 2021 +0100

    taglib: ByteVector::null is now deprecated
    
    (cherry picked from commit d2663d6c3fe3af76bdefd58367b4a45c598b83e4)

commit fc401e9b1a2026898d39ae1abe4f8f574e8df40c
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Mon Sep 13 12:08:53 2021 +0200

    taglib: Don't convert base64 strings to UTF8
    
    The convertion will incur a cost which we don't want to pay since the
    art needs to be encoded in base64, which doesn't include anything
    outside of ASCII
    
    (cherry picked from commit 65dfe0cdc97bbb98ad34a690989636d40f326e32)

commit e60dd2df9dac0d799af6af0843889ba0e24816fc
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 25 13:09:14 2021 +0200

    taglib: fix variable shadowing
    
    list is already a different local list defined earlier in the function.
    
    (cherry picked from commit 34ca2a286edda76a9718cfa1e50bd3e4ea51702c)

commit f036afb7368a124cb1092a5e759de25041a3733c
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Wed Sep 2 16:53:13 2020 +0200

    meta: taglib: reject non expected schemes
    
    refs #25035
    
    (cherry picked from commit 8191ac5727a3525a6bee99e1674167a7894f9ccb) (rebased)
    rebased:
    - 3.0 already has a26e2ba370d898dda04c718176af7d2e329dab7a above

commit 88e4dc19cde62602d09f3f3d1dd45260d0aed746
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 10 14:55:02 2020 +0200

    meta_engine: taglib: restrict unlimited reads on streams
    
    taglib reads unlimited if no IDv3 or MPEG header is found at the
    beginning.
    
    (cherry picked from commit 8ec8b0d2add84b6d6b0c043e1c4f241998915ecd) (rebased)
    rebased:
    - only used with Taglib 1.11+ which is not always the case with 3.0

commit 625675cd48883bfe39f1a16c282000db1773fece
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 10 14:52:11 2020 +0200

    meta_engine: taglib: add sequential read limit on VlcIostream
    
    (cherry picked from commit d375284a144e6b18896deda3a86b9560bc04f3d8) (rebased)
    rebased:
    - 3.0 already has 1.11 ifdef

commit 00cbfccec9d73d5459e6a76807e44bdcf0c3605d
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 10 14:38:00 2020 +0200

    meta_engine: taglib: reject read on failed seek
    
    (cherry picked from commit 837b583e4e4e531ff8b11f13300c7cbc565beb9f) (rebased)
    rebased:
    - 3.0 already has 1.11 ifdef

commit 3a4b557af5e268766282ff5cfc58718712913c9b
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 10 14:32:32 2020 +0200

    meta_engine: taglib: increment VlcIostream readpos
    
    (cherry picked from commit 0cbcf504b43a02ddb7ecc1c65c0c1e82f39b4f1c)

commit 88149ff4b8a3869d4912752049e87f673123a9bc
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Mon Nov 22 12:10:17 2021 +0100

    contrib: Bump taglib to 1.12
    
    fix #26309
    
    (cherry picked from commit c651b10d33dc0fb7b9670208f93f94f850ba8ca4) (edited)
    edited:
    - only contains the patches to 0001-Implement-ID3v2-readStyle-avoid-worst-case.patch
      which were not properly backported in 1353e52693d8deb4e629e153d9c73d7dc69afc13

commit 630b2f6879b994456cf5b50136de13f57870daa6
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Aug 11 13:04:41 2020 +0200

    contribs: patch taglib to avoid full/infinite streams read
    
    (cherry picked from commit 3257bb4a84e60fd60e83ba7c938485e71ba12188) (rebased)
    rebased:
    - 3.0 already switched to 1.12 with less patches

commit 3720cf2c475096f6f24773b51cd7b7bb7bc2c4f7
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Feb 7 23:50:00 2020 +0100

    taglib: fix -Wdeprecated-copy warnings
    
    Warnings were happening because we were using copy operator= as the
    assigned object was already initialized. This patch use the copy
    constructor or move constructor instead if available.
    
    Those warnings were:
    
    ../../modules/meta_engine/taglib.cpp: In function ‘void ReadMetaFromXiph(TagLib::Ogg::XiphComment*, demux_meta_t*, vlc_meta_t*)’:
    ../../modules/meta_engine/taglib.cpp:672:39: warning: implicitly-declared ‘TagLib::StringList& TagLib::StringList::operator=(const TagLib::StringList&)’ is deprecated [-Wdeprecated-copy]
      672 |     list = tag->fieldListMap()[keyName];                                       \
          |                                       ^
    ../../modules/meta_engine/taglib.cpp:681:5: note: in expansion of macro ‘SET’
      681 |     SET( "COPYRIGHT", Copyright );
          |     ^~~
    In file included from /usr/include/taglib/fileref.h:30,
                     from ../../modules/meta_engine/taglib.cpp:58:
    /usr/include/taglib/tstringlist.h:59:5: note: because ‘TagLib::StringList’ has user-provided ‘TagLib::StringList::StringList(const TagLib::StringList&)’
       59 |     StringList(const StringList &l);
          |     ^~~~~~~~~~
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
    (cherry picked from commit be4f907a0e834c10277b8217520f745238da1c13)

commit c2ca6c3036d2dea3860870482bbb78f26ed03e62
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Tue Oct 8 17:21:20 2019 +0200

    taglib: Enable prefetch/cache on the IOStream
    
    We can't do it through vlc_stream_NewURL as it will include the
    skiptags filter
    
    (cherry picked from commit 976cd219465a72daa02d22e60c9ac4c704c0b18b)

commit df406faf9c786acb51cc96878ef0a22fb3a0b238
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Sep 16 13:21:17 2024 +0200

    taglib: Always use IOStream to read the media
    
    (cherry picked from commit 4bc7607f31f80264b5e61fbd187f2f8d2f3bb604) (edited)
    edited:
    - keep the support for taglib older than 1.11 which doesn't have the
      proper FileRef constructor to use it
    - the aacresolver is only called for Taglib 1.11+ on 3.0
    - 4.0 doesn't make a difference for UWP or regular Windows

commit db09e821f9d8d0c48e8d3eb22a9f1087c3407e4b
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Mon Mar 18 15:09:39 2019 +0100

    taglib: IOStream: Return the url as fileName
    
    Since the only part that matters to taglib is the filename, and more
    specifically the extension part.
    
    (cherry picked from commit 026a76066efa78f1934ab2c177669a2e6a519cff)

commit 09b558dd07d47678c3dfa1417a0bb359c51ed08e
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Mon Aug 5 15:24:45 2019 +0200

    modules: taglib: simplify reading embedded art
    
    (cherry picked from commit 3533f90eb44398abe6cff1b14ece757654449acf) (rebased)
    rebased:
    - 294cbdbaee0209bc88ca7bec9164da8da4ac44ef has been merged above

commit 109d2ac2be66b39df1a0b0d5e5b7316c87408a95
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Thu Feb 7 17:58:11 2019 +0100

    taglib: .m4v are already registered as MP4 files
    
    https://github.com/taglib/taglib/pull/662
    (cherry picked from commit 84962e474bfefa242527f7c3ddffe6ed4f697fbe) (rebased)

commit 1f265fe0b460300d0ffebb261246a971c41dd45e
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Mon Sep 9 17:27:24 2024 -0400

    aom: make BGR matching stricter
    
    This is equivalent to the fix in ece317a245e8c32a5efc11d5e82dcd8a28a2f10b
    as the aom decoder had the same issue reported in #28776.
    
    (cherry picked from commit 0001e85a098ee4e6e2526eaec8a76899c2b23b90)

commit 9682584bec494ba5f4b3fea002bfaeee9780e384
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed Sep 11 08:16:36 2024 +0200

    packetizer: dts: check for frame_size for the first sync
    
    Only substreams are allowed to have a frame_size of 0.
    
    (cherry picked from commit 16b31aa57e3919dbe661c213868dee4b8bc1e3bd)
    Signed-off-by: Thomas Guillem <thomas@gllm.fr>

commit da002b53302c5eb20dde954c4d707df4dfdd7df1
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed Sep 11 08:15:52 2024 +0200

    dts_header: initialize SUBSTREAM_LBR size to 0
    
    It's a substream and can't work alone, so a size of 0 is legitimate.
    
    Fixes #28773 (Use of uninitialised value)
    
    (cherry picked from commit b23f09b258dc63c2221af502ec856630f68817e5)
    Signed-off-by: Thomas Guillem <thomas@gllm.fr>

commit 0490fe5396ed6eb3a731d40f9fd2af5b07cc220f
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Thu Sep 5 10:21:11 2024 -0400

    dav1d: add dav1d-all-layers flag
    
    This will output all spatial layers if requested, defaults to false (the built-in dav1d
    behavior would defaults this to true).
    
    Fix suggested-by Maryla Ustarroz
    
    Fixes #28776
    
    (cherry picked from commit 6ffede3f445586e5d368de936666cabb84f6a16f)

commit 2a9a547142db54cd3f5af6fa9caafc87ba06f66a
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Jun 27 14:13:26 2022 +0200

    compat: add missing errno on Winsock errors
    
    Some of the error codes [1] correspond to errno values [2]
    
    [1] https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2
    [2] https://docs.microsoft.com/en-us/cpp/c-runtime-library/errno-constants
    
    (cherry picked from commit ddcc2cdcff84e6a83a4dfe581fddde6f524877aa)

commit 4d1a508e6b6736237e6f62f62924b535512fa582
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Sat Aug 31 12:58:27 2024 -0400

    dav1d: treat RGB formats separately
    
    This avoids incorrectly matching as GBR.
    Fixes #28763 which was missing checks for the matrix and primaries.
    
    This also replaces the loop with a constant-time lookup.
    
    (cherry picked from commit ece317a245e8c32a5efc11d5e82dcd8a28a2f10b)

commit 8462f7960d48a4452608063a921303bf66f3d351
Author: Mangal Kushwah <mangalk2324@gmail.com>
Date:   Sat Aug 31 16:45:07 2024 +0530

    Use `vlc_fourcc_GetCodec` to map XVID to MP4V

commit 1f9ebe0387b0612562d5d8886652b916374ec849
Author: Mangal Kushwah <mangalk2324@gmail.com>
Date:   Fri Aug 9 19:30:05 2024 +0530

    codec: videotoolbox: remove sw decoder fallback for mp4v
    
    commit 7a2bf498d545d500d30636970fa930eb54de5569 insert packetizer for
    xvid mpeg4 video, so now hw decoder can decode xvid encoded video
    without any playback issues.
    
    (cherry picked from commit a9343f68bb19a1c20e45e1029848326020b0c69e)

commit b37da99f5647b9954535869ade835946dae49891
Author: Mangal Kushwah <mangalk2324@gmail.com>
Date:   Thu Aug 8 21:30:19 2024 +0530

    demux: AVI insert packetizer for XVID MPEG-4 video
    
    Older DivX-encoded videos commonly use an method called packed
    bitstream which puts several video frames into a single AVI chunk.
    Since Packed bitstream isn't standard MPEG-4 it causes playback issues
    with some hw decoders.
    
    (cherry picked from commit 980e4d7449e9e06bef525d9049dff5b9b5ecd673)

commit b16e559eadbcea539c893b319c360ade4e257d13
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Fri Aug 16 11:30:16 2024 +0700

    demux: asf: add missing subpayloads drain on EOF
    
    refs #28716
    
    (cherry picked from commit 6bf0a1407b5b9aef792ef94a57142254d079e8fd)

commit 45ecb60b539d8ffd520e58798afd7d2b115f7763
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 27 18:24:03 2024 +0700

    packetizer: hxxx: add missing drain for non annexb content
    
    (cherry picked from commit 4f0a39ada1bd9314601e80d7f48855462524d1fc)

commit f661f8f32a070dee2daeb08b9dd1614db25c7618
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 27 18:25:07 2024 +0700

    packetizer: hxxx: pass opaque to callbacks instead of decoder
    
    (cherry picked from commit 09655dea51c0d383cc86c0f5020e3bea160c69bf)

commit 4a39d4805b4b3b8e08d91e7d9291210bb2e8de89
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jun 27 15:08:55 2024 +0700

    packetizer: hxxx_common: rename function pointer
    
    (cherry picked from commit 6e7b32f64db918b3aa2deefe885571b734d32f53)

commit 890c81a87124970d0492dbd22ae0c4ef01507824
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jul 18 09:27:00 2024 +0200

    opencv: check the image conversion worked
    
    Otherwise we release the output picture that would have been used and returned.
    
    (cherry picked from commit 19813291fcfb31ddd91a2e4d0f1d37ad3239d300) (rebased)
    rebased:
    - p_filter->p_sys is p_sys on 4.0
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 341860024cf344d21bb4f21e9016e64273cce110
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Jul 18 09:23:58 2024 +0200

    magnify: check the image conversion worked
    
    return NULL on failure as we cannot produce the required output.
    
    Fixes #28707
    
    (cherry picked from commit 990de75bc0a7db5f2c4e4cb88e868b75b689ac7d) (rebased)
    rebased:
    - picture_CopyPixels is called picture_CopyVisiblePixels on 4.0
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 56d0aca2566775ca572c61a725cfbce373cf6d97
Author: Maxime Even <maximeeven@proton.me>
Date:   Mon Jul 8 17:51:14 2024 +0200

    spectrogram: allows better visualization of low frequencies
    
    In some cases, Y which represents the height of a column was equal to 1
    and therefore when passed through the log, the output displayed was
    zero, by adding this 0.1, this allows you to see a column when y = 1
    without really changing the height of each column
    
    (cherry picked from commit c347fed91e76bd31387171e1ff67224c21194362)

commit 6b9617565e9805450abcf1a8b1f6793cc2bf479f
Author: Maxime Even <maximeeven@proton.me>
Date:   Mon Jul 8 17:41:39 2024 +0200

    spectrogram: convert int16 to unsigned for correct range
    
    p_dest is used to set the height of the column, and it is used
    as a variable defined from zero to 2^16 - 1. It is therefore
    considered in the rest of the program as an unsigned int 16.
    Moreover, the value that we put inside are a sum of two squared
    real value, so they are necessarily positive.
    
    (cherry picked from commit 94a8d152eadd53073305c95d221eca7623b4ed6c)

commit d63ebcbb55df86ced69e1d4f81fdefee7c123d9f
Author: Maxime Even <maximeeven@proton.me>
Date:   Tue Jul 9 13:20:25 2024 +0200

    spectrogram: fix FFT result scaling factor
    
    This function is just a scaling operation that passes a value between 0 and
    FFT_SCALING_VALUE to a value between 0 and 2^16-1.
    
    It is therefore a power that must be applied here and not a xor.
    
    Moreover, the initial formula was quite wrong since it was assuming that the max_input
    value, which is a signed int 16, was 2^15 = 32768 where it is in fact 2^15-1=32767.
    
    Moreover, the initial formula wasn't taking into account that, since the
    output of the fft_perform is the sum of two variables which have for max value
    (FFT_BUFFER_SIZE / 2 * INT16_MAX)^2, then we need to multiply the final max
    value by 2.
    
    Corrects the following compiler warnings:
            visualization/glspectrum.c:528:43: warning: result of ‘2^16’ is 18; did you mean ‘1 << 16’ (65536)? [-Wxor-used-as-pow]
            visualization/visual/effects.c:216:40: warning: result of ‘2^16’ is 18; did you mean ‘1 << 16’ (65536)? [-Wxor-used-as-pow]
    
    Fixes #28506
    
    Co-authored-by: Disha Baghel <bagheldisha708@gmail.com>
    
    (cherry picked from commit 77a08a60f72bda081d144119e4d0a57a9c3c72f6)

commit b54c0adce71e36f9ae003115b7a87f3ca7122472
Author: Felix Paul Kühne <fkuehne@videolan.org>
Date:   Thu Jul 4 06:29:28 2024 +0200

    UPnP: remove SAT>IP channel list fallback
    
    When introducing SAT>IP support, we added a fallback mechanism on
    officially published channel lists in case the user neither specified
    a custom list nor the used set-top box provided one.
    
    With the end of the SAT>IP Alliance that was dissolved 3 years ago, the
    fallback server is no longer available and there will be no replacement
    so this feature was removed.
    
    Fixes #28684
    
    (cherry picked from commit 3df7b6e1187030591febd8e1bdd2712c0d6af132)

commit 7367f53b56011f87069a4529ae7e1baa6a4f2275
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Wed Jun 26 16:36:01 2024 +0700

    demux: adaptive: fix start with indexes only
    
    refs #28683
    
    (cherry picked from commit 9f9c466bc14c1dcd75564c7cd18d031ea9e76325)

commit f9990a466eb1753c1187ae5d9eb6b158e31aff6e
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Jul 2 10:31:51 2024 +0200

    packetizer: h264: fix reading prediction weight tables
    
    (cherry picked from commit f878115e184a4d896e4df39bccbde32ea6d9357c)

commit cdc04a5e1e16fcfe3120693ff0fd945ea42a6dae
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Thu Apr 2 10:26:37 2020 +0200

    npapi: Fix warning during autoreconf
    
    extras/package/npapi.am:34: warning: ':='-style assignments are not portable
    Makefile.am:219:   'extras/package/win32/package.mak' included from here
    extras/package/win32/package.mak:13:   'extras/package/npapi.am' included from here
    
    (cherry picked from commit ac33d9ee07c343cc3bc963a19689aa808f676b31)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 34f5c02ae47725965d89625500aa564daee53866
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jul 3 14:12:17 2024 +0200

    qt: hardcode the name of the shortcut for the AMD VQ Enhancer
    
    Otherwise the name is the same of the DLL which doesn't correspond to
    the shortcut we need to use.
    
    Fixes #28691

commit 29ac334929847727e4041ba8d1aa3cb36c6be299
Author: Aleksey Vasenev <margtu-fivt@ya.ru>
Date:   Sun Jun 23 22:41:39 2024 +0300

    sftp: fix seek for large files on 32-bit OS
    
    (cherry picked from commit 4698e0336447de8dc6f7214743082cc55b6ebd77)

commit a203e5da7486e3ed6435bd3921d71820398b660b
Author: Alaric Senat <alaric@videolabs.io>
Date:   Mon Jun 24 18:11:59 2024 +0200

    transcode: fix picture fifo leak
    
    Draining sets the abort flag. It was skipping the picture fifo deletion
    before.

commit 7df61e3ed343027456abdd3d3e0f2b1a1a05c86f
Author: Alaric Senat <alaric@videolabs.io>
Date:   Mon Jun 24 18:11:23 2024 +0200

    transcode: fix destructive assignment after drain
    
    The drain checks are done after the first encoder output fetch. At this
    point, `out` is already filled with some frames gotten from the encoder
    some lines above:
    
    ```
    // ...
        if( p_sys->i_threads >= 1 )
        {
            /* Pick up any return data the encoder thread wants to output. */
            vlc_mutex_lock( &p_sys->lock_out );
            *out = p_sys->p_buffers;
            p_sys->p_buffers = NULL;
            vlc_mutex_unlock( &p_sys->lock_out );
        }
    
    // ...
    ```
    
    This assignment currently leaks all previously gathered frames to
    replace them by the drained output. This patch appends the drained
    frames to the existing output instead.

commit ac310b4b193bd86b741308393aa8d8833a1075ae
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Jun 21 16:11:28 2024 +0200

    vlc_common: remove warnings on VLC_OBJECT
    
    Fix an infinite amount of warnings on Darwin:
    
        ../../include/vlc_variables.h:563:5: warning: due to lvalue conversion of the controlling expression, association of type 'const struct vlc_common_members' will never be selected because it is qualified [-Wunreachable-code-generic-assoc]
            var_Create( p_obj, psz_name, VLC_VAR_STRING | VLC_VAR_DOINHERIT
            ^
        ../../include/vlc_variables.h:122:39: note: expanded from macro 'var_Create'
        #define var_Create(a,b,c) var_Create( VLC_OBJECT(a), b, c )
                                              ^
        ../../include/vlc_common.h:481:15: note: expanded from macro 'VLC_OBJECT'
                const struct vlc_common_members: (const vlc_object_t *)(&(x)->obj) \

commit 1da0715dae1ed259ba719f723023d942f4019434
Author: Felix Paul Kühne <fkuehne@videolan.org>
Date:   Wed Jun 19 11:14:40 2024 +0200

    contrib: update dav1d to 1.4.3
    
    1.4.3 is a very small release focused on security issues:
     - AArch64: Fix potential out of bounds access in DotProd H/HV filters
     - cli: Prevent buffer over-read
    
    (cherry picked from commit 900a4290b6ef251eccffadce02abda9bb0df5ad2)

commit a761e1c202b632e7865d18fcf11a2b9e285ea9ae
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Wed Feb 1 23:39:36 2023 -0500

    opus_header: fix channel mapping family 1 parsing
    
    Fixes #27808
    
    (cherry picked from commit 79fa6af0a98921f9d34933761f4fe20ef6c35309)

commit dc14756a05b08b1dd1f4e5e1937b89683fee48f5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Sep 30 13:10:33 2022 +0200

    contrib: matroska: update to 1.7.0
    
    (cherry picked from commit 0b13cf8b2c58f3e99909c426c2186ac5dfff01fe)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit f3105733322f8135221cb1fff210c8ca450d22f2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 24 11:20:43 2022 +0100

    configure: don't pass -gcodeview to the linker
    
    CFLAGS is added to the linker flags and newer LLVM don't like that.
    CPPFLAGS is used during C compilation and C++ but not added to LDFLAGS.
    
    (cherry picked from commit b700021569c1f16f63c86a9ccd912cfdc7126f41)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 41c9458ddd6c3b5cf8787609187daba8ce775d50
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 24 11:59:44 2022 +0100

    configure: only use -static-libgcc if the C++ compiler accepts it
    
    newer clang reports that it ignores the command on each C++ file compiled.
    In the end the static C++ compiler is used on Windows anyway.
    
    (cherry picked from commit 8ddd2bdd963fd3ace52e7bf24968238b6cddf80a)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 656a0f6dce1dce14d27e4dd03cef0e7778d2e136
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Tue Jun 11 17:26:11 2024 +0700

    demux: avi: do not set up invalid bitsperpixel
    
    UINT16_MAX is set and propagated from the bitmap header reader
    
    refs #28661

commit b0c75254581e409f9479cee7c08df5346f64176d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 11 12:08:16 2024 +0200

    d3d11_quad: fix bogus pointer type on reset
    
    It should behave the same but it's the wrong type.

commit ac6c3502f33dbe0ffb0d502a14b9f162343a9a61
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 11 09:27:49 2024 +0200

    avoid using wcscat_s
    
    It seems it's not available in Windows XP.
    https://forum.videolan.org/viewtopic.php?f=14&t=164742&p=544877#p544877
    
    _snwprintf was used before but we can't tell if the whole string was appended
    properly.

commit ee032a34259c3644c73d94c712e0a53b26f5dba9
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Jun 5 11:55:39 2024 +0200

    demux: image: detect ICC profile before JFIF data
    
    Fixes #18857
    
    (cherry picked from commit 5ffd36ffa26a83ae498373f7d0ace1d82ab952f4)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 0543689abd8728aa5fd294ac2721acba377550cd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 6 11:55:53 2024 +0200

    contrib: bluray: update to 1.3.4
    
    (cherry picked from commit f44944a5501863c769479b6190f7974fbbd31286)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 9c4768291ee0ce8e29fdadf3e05cbde2714bbe0c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 11:23:24 2024 +0200

    d3d11_tonemap: log when the TrueHDR feature is not available
    
    That is the case for win32 builds on win64.

commit ec7bd545d74a7c4b4ef85ce90f9247d83f6146f6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 21:27:31 2024 +0200

    d3d11_scaler: always read the staging size without the decoder padding

commit ed469a1388bf482cd8febf5fe7d2c47dd7ea68c2
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 29 09:44:20 2023 +0100

    freetype/win32: fix string constant when using WCHAR/wchar_t API's explicitely
    
    wcscat_s is part of msvcrt.dll so should be in Windows XP.
    
    (cherry picked from commit ab501d6a93f25064adf17456340f9ab965855571) (edited)
    edited:
    - 3.0 was already using a long constant
    
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 947e24533287c3a43b3381bac189a27915e81d6f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Nov 29 09:42:41 2023 +0100

    freetype/win32: fix bogus string cast
    
    lfFaceName is a WCHAR table.
    
    (cherry picked from commit f4d040e050a1c0c484d8334442c7a93c5c809df4) (edited)
    edited:
    - 3.0 uses the tchar API
    
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 4071ece4bbfc860ea0793aed8589db6bb1329f32
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 09:46:31 2024 +0200

    d3d11_scaler: fix missing picture sys for AMD super scaler
    
    This code is different from 4.0, must have been lost in a rebase.

commit 97d162d5bed9bdce81449e4cd384f050b0e1cdd6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 09:44:54 2024 +0200

    d3d11_scaler: fix AMD super scaler if the source has padding
    
    It asserts in debug build and will keep the padding in release mode.

commit d587ae967ad6fc5a93c127b7263c179224e75cdc
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 10:34:32 2024 +0200

    d3d11_fmt: remove unused variable
    
    Since 380dee8053ef69220707aed10b57113b64e0a925

commit 317dc63b5aeaa33f951863ebc2fc6c13f5f6fb6d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Sat Jun 8 10:19:23 2024 +0200

    d3d11_fmt: create texture for decoders or not
    
    In HDR to SDR the texture staging texture cannot be allocated as a decoder texture.
    RDG10A2 is not supported for decoding.

commit 86a582c93eb1a442bd1d8641853bebf752225dbd
Author: David Fuhrmann <dfuhrmann@videolan.org>
Date:   Thu Jun 6 09:38:36 2024 +0200

    contrib: sidplay: Do not overwrite CXXFLAGS in configure.in
    
    resid configure has a bug which overwrites CXXFLAGS unconditionally,
    causing build failures when preset CXXFLAGS are needed.
    
    Reason: In newer autoconf, ac_test_CXXFLAGS does not use "set"
    anymore, but "y".

commit dd8bfdbabe8ae3974ca3864ad3125879f523e3a2
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Jun 5 17:44:26 2024 +0200

    Update NEWS for 3.0.21

commit e7f98f3632d793c3921bfe72595721af191e670e
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Tue Jan 9 06:58:39 2024 +0100

    mms: fix potential integer overflow
    
    That could lead to a heap buffer overflow.
    
    Thanks Andreas Fobian for the security report.
    
    (cherry picked from commit 467b24dd0f9b0b3d8ba11dd813b393892f7f1ed2)
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 6a9e214d5d24b6c7bf6c8fb493aedc231279428d
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Tue Jan 9 06:46:37 2024 +0100

    mms: return -1 in case of error
    
    The function calling mms_ParsePacket() is expecting -1 (for error) or a
    valid positive integer for success.
    
    (cherry picked from commit f1e521b494bc87a254c6a6a47d27a528e35b5ca0)
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 6835f6d12840931adf90d915fd84552f60d04909
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Tue Jan 9 06:44:06 2024 +0100

    mms: decrease i_packet_length in only one place
    
    (cherry picked from commit 67b2b79534d3f6a48a4fc363615a4221993ccc95)
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit f26a1f5d16cb731d8b6f1f01b5bfaa7053bdfd3c
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Tue Jan 9 06:34:09 2024 +0100

    mms: use const in mms_ParsePacket()
    
    (cherry picked from commit da84f3830856256d64073c31675cba7f6905919f)
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 52afb0c6d080833dc2d60979ec9fc20a6119f358
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Jun 5 17:43:50 2024 +0200

    Update PO

commit b28482b96b44559371c41107bd260d737682536a
Author: Felix Paul Kühne <fkuehne@videolan.org>
Date:   Mon Jun 3 16:50:06 2024 +0200

    NEWS: update for 3.0.21

commit 5cf1564d338024e9b901e276a7fc7e4f63644419
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Thu May 30 16:08:43 2024 -0400

    contrib: vpx: update to 1.14.1
    
     This release includes enhancements and bug fixes.
    
      - Upgrading:
        This release is ABI compatible with the previous release.
    
      - Enhancement:
        Improved the detection of compiler support for AArch64 extensions,
        particularly SVE.
    
        Added vpx_codec_get_global_headers() support for VP9.
    
      - Bug fixes:
    
        Added buffer bounds checks to vpx_writer and vpx_write_bit_buffer.
        Fix to GetSegmentationData() crash in aq_mode=0 for RTC rate control.
        Fix to alloc for row_base_thresh_freq_fac.
        Free row mt memory before freeing cpi->tile_data.
        Fix to buffer alloc for vp9_bitstream_worker_data.
        Fix to VP8 race issue for multi-thread with pnsr_calc.
        Fix to uv width/height in vp9_scale_and_extend_frame_ssse3.
        Fix to integer division by zero and overflow in calc_pframe_target_size().
        Fix to integer overflow in vpx_img_alloc() & vpx_img_wrap()(CVE-2024-5197).
        Fix to UBSan error in vp9_rc_update_framerate().
        Fix to UBSan errors in vp8_new_framerate().
        Fix to integer overflow in vp8 encodeframe.c.
        Handle EINTR from sem_wait().
    
    (cherry picked from commit f7a2b4691b98238b219d5771d7633e4728fb079d)
    (cherry picked from commit 3d230a44e93804a71bff8d60f5b67ee095cc96b5)

commit c1b0be7cd46ac5955e08b457822c50b8a47a76ac
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Jun 4 15:38:56 2024 +0200

    direct3d11: fix CPU staging texture format
    
    After b6a3a8b19e5d4cb6a9ec79c08984e0db927dd98c we need to use the pool format.

commit 71d2433822747246f32a2bf5c4543882ba34cac2
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Thu May 30 16:47:18 2024 -0400

    contrib: dav1d: update to 1.4.2
    
    Changes for 1.4.2 'Road Runner':
    --------------------------------
    
    1.4.2 is a small release of dav1d, improving notably ARM, AVX-512 and PowerPC
     - AVX2 optimizations for 8-tap and new variants for 6-tap
     - AVX-512 optimizations for 8-tap and new variants for 6-tap
     - Improve entropy decoding on ARM64
     - New ARM64 optimizations for convolutions based on DotProd extension
     - New ARM64 optimizations for convolutions based on i8mm extension
     - New ARM64 optimizations for subpel and prep filters for i8mm
    
    (cherry picked from commit 918e9a33fa2f9b828743efb9ab2f67257728a5f0)

commit 56fec04c968571db9d57103da1ba828af2c898f4
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Fri Mar 15 13:19:50 2024 -0400

    contrib: dav1d: update to 1.4.1
    
    1.4.1 is a small release of dav1d, improving notably ARM and RISC-V speed
    
    - Optimizations for 6tap filters for NEON (ARM)
    - More RISC-V optimizations for itx (4x8, 8x4, 4x16, 16x4, 8x16, 16x8)
    - Reduction of binary size on ARM64, ARM32 and RISC-V
    - Fix out-of-bounds read in 8bpc SSE2/SSSE3 wiener_filter
    - Msac optimizations
    
    (cherry picked from commit 1d89e101ce8899035635f39c60d617965e39dc0e)

commit 0229706f3f6f7686ea6701a769abc50f58e6516b
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Mon May 27 14:26:16 2024 +0200

    upnp: fix exposed directory URLs schemes
    
    Previous implementation generated input item directories with URLs not
    compliant with *RFC 3986* in an attempt to keep the original URL while
    triggering the UPNP directory acces properly. Here's an exemple of a
    previous upnp directory url:
    
    > upnp://http://192.168.1.109:32469/cds?ObjectID=0
    
    The stacking of schemes (`upnp://http://`) is problematic and leads to
    most of the validators failing on those generated URLs (see the
    referenced issue).
    
    This patch fix the issue by simply replacing the original `http://`
    scheme by `upnp://` instead of stacking both. To avoid any potential
    regression with some obscure usage forcing https, a shortcut of the
    directory access is introduced for https specificaly.
    
    The example above would then be fixed like that:
    
    > upnp://192.168.1.109:32469/cds?ObjectID=0
    
    Potential use-cases with https would instead generate the following:
    
    > upnps://192.168.1.109:32469/cds?ObjectID=0
    
    Refs VLCKit#728
    
    (cherry picked from commit 241fed315be92f4a12ced2afdffd79f5fd638ff4)

commit 237ab1001e52b91cb107e3bd42f981ecb43cec8b
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Mon May 27 13:55:44 2024 +0200

    upnp: enforce HTTP(S) as the only supported protocols
    
    In preparation for the next commit, explicitly refuse any protocols
    that are not supported by libpupnp. It's unclear if it's needed and
    pupnp probably already perform this check, but the next commit rely
    heavily on the scheme matching "http" or "https" only.
    
    (cherry picked from commit 44de051a61475a899f1bd71a3db0e737a481b41f)

commit a5e97d74af10713d9436fb169c3f17f6172d88ff
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Mon May 27 14:15:42 2024 +0200

    upnp: implement root MRL forging with std::string
    
    Switching to std::string simplifies the next patch changing the URL
    scheme.
    
    (cherry picked from commit bc1d58c065d1a359863f3bc4216351b54c60e51d)

commit dc82b76d30a0d23ed222d49f1dcc98168f7b247d
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Fri May 24 18:34:34 2024 +0200

    upnp: avoid double URL query start values
    
    This patch completes ac99cee9f34fa17e0595d8b31a2dd1ff723c0719.
    It avoids corrupting URLs with an already present query list.
    
    (cherry picked from commit 0cba1475ba9c2d89b19c4e81a928e4305e6e97ad)

commit 9b4bd07633651c4c7c33b4d4146eb3c91fe82bfd
Author: Alaric Senat <dev.asenat@posteo.net>
Date:   Fri May 24 18:25:08 2024 +0200

    upnp: encode the object ID in the exposed URL
    
    Object ID is not supposed to be URI-encoded by default and can be pretty
    much any valid string. Since we add it to a valid encoded URL, we need
    to encode it to preserve the URL validity.
    
    (cherry picked from commit 5d5ccbc0fa309d2aa07ca840ab66e9403fd15b03)

commit b351ccccc41b5807b93579614b0eb1d9ad86ce6e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 27 11:12:39 2024 +0200

    video_filter: add AMD VQ Enhancer filter
    
    (cherry picked from commit 4125ad5a96a48af7007439df74aec158ad8ad73b)

commit 2ab7be5df0f5c4130ddb8dac72759e94d300e96f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 27 10:10:40 2024 +0200

    configure: detect AMD VQEnhancer.h
    
    (cherry picked from commit 9815b7eb436aa59772e59ef63c40bb5e81590883)

commit 0b65cc7f394b5985f214932ce4c64552bce83c63
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 27 14:29:36 2024 +0200

    amf_helper: share DXGIToAMF()
    
    (cherry picked from commit 957db11f12c04a2c7b2b459f71b56b4878009d5c)

commit bfb2084a66ff89d37779047677c45e63fcfac495
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon May 27 14:29:16 2024 +0200

    amf_helper: add a macro to add namespace when using C++
    
    (cherry picked from commit 7bde5ce851f21b2a3223afe46f6692a07800f66c)

commit 6ceb56b8306e5e2eec58414e22b3589afdc093d8
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Jan 27 16:28:01 2023 +0100

    extras/tools: bump m4 to 1.4.19

commit 488b7787bc8d759088d3006acdc7464d1913fba9
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Thu May 4 11:19:09 2023 +0200

    extras/tools: m4: remove bison patches

commit b35a465302ae48e2238cdfc515f1809155a94ba8
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Jan 27 16:26:52 2023 +0100

    extras/tools: bump automake to 1.16.5

commit 67c1f73919cc43aba7d3ccfa7f7781b7a9b4e91c
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Jan 27 16:26:29 2023 +0100

    extras/tools: bump autoconf to 2.71

commit c10210343c96ee8c34db4b8ea07af36351234f79
Author: Khalid Masum <khalid.masum.92@gmail.com>
Date:   Fri Apr 21 19:46:07 2023 +0600

    extras/tools: broden support for sha512sum
    
    sha512sum uses --check, which is not supported by many other
    implementations of sha512sum such as  busybox. Using -c instead
    will let this script usable in more distros and OSes.

commit 7148e1da72bba7c3a01afed033f7d7c44c30da16
Author: Khalid Masum <khalid.masum.92@gmail.com>
Date:   Fri Apr 21 19:44:44 2023 +0600

    extras/tools: use 'command -v' to assert commands
    
    Currently we are using commandname --version to check wheather a
    command exists. Hence if a command is not shipped with --version the
    check fails. For example busybox implementation of sha512sum fails
    to get detected via this method.
    
    Use command -v to check whether a command exists to fix this limitation.

commit e15c22adf8718ec804b6c6da20bba08b2331e711
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Mon Jan 9 15:06:23 2023 +0000

    tools: remove duplicate libtool entry

commit 7dc8814826d480434c070b5b0ff0d7dd40edfe9d
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Wed Apr 20 18:10:17 2022 +0200

    extras/tools: libtool: rename/cleanup patches
    
    libtool-2.4.6-san.patch is not used anymore, and other libtool patches
    have been rebased on top of libtool-2.4.7.

commit af78cd1f8dc34dbeaacbaef5212cb126c035d27d
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Tue Apr 19 09:38:09 2022 +0200

    extras/tools: bump libtool to 2.4.7
    
    The -fsanitize support has been added upstream in the commit
    a5c6466528c060cc4660ad0319c00740db0e42ba which is shipped into 2.4.7.

commit b7d57c6cba4d6bd2a2853d766e015d9604e0f3fd
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Tue Apr 19 09:55:29 2022 +0200

    tools: bootstrap: remove non-digits from minor version
    
    libtool is notoriously known to have been patched over the time and was
    provided as 2.4.7-dirty on archlinux, which makes the integer comparison
    test fail since 7-dirty is not an integer.

commit 035afac36937e14d3edb1693dffc066c31c16a4c
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Tue Apr 19 09:53:05 2022 +0200

    tools: bootstrap: use shell || instead of test -o
    
    shell || nicely handles the commands on the other lines without escaping
    the end of line, which provides better error message in case of error.
    In addition, priority of operators is much more obvious since the []
    test syntax provides a visible scope-like feeling.

commit 9970f4c7f515bc97aa14dae87f23561fe95147dc
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Mon May 31 10:33:38 2021 +0200

    extras/tools: libtool: fix support for bitcode
    
    When building with bitcode enabled (*FLAGS+=-fembed-bitcode), the
    following happens:
    
     - with LDFLAGS += -fembed-bitcode, the vanilla libtool version will
       remove the -fembed-bitcode flag, being an unknown flag, so bitcode
       won't actually be enabled, and final link steps might complain that
       the dylibs (libvlccore.dylib for instance) doesn't actually have
       bitcode embedded.
    
     - once fixed (either by this patch or by using -Wl,-fembed-bitcode),
       the plugins will be compiled with -module, which default to using
       MH_BUNDLE on iOS/tvOS/MacOSX instead of MH_DYLIB. Indeed, dylibs can
       be dlopened only since MacOSX 10.3/10.4, and can be dlclosed only
       since MacOSX 10.5, so MH_BUNDLE was the primary target for libtool
       module support. However, MH_BUNDLE is not compatible with the bitcode
       support from Clang.
    
    Since we support MacOSX 10.11 as minimum, we can default to using
    MH_DYLIB for plugins to have the bitcode support.
    
    This new libtool patch add the explicit support for -fembed-bitcode in
    libtool --mode=link flags, and change the flags used when using -module
    in libtool to switch to dylibs.

commit 9dcc5504d6584438251292726e508975a458d826
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Tue Aug 3 13:42:47 2021 +0200

    extras: tools: Patch libtool to force -lpthread when using -nostdlib

commit be3566e42be8a1ad793d807b59e624e6f0badd85
Author: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Date:   Tue Aug 3 15:03:32 2021 +0200

    extras: tools: Only patch libtool's ltmain.in
    
    Instead of ltmain.sh, in order to ensure all changes will used.
    If ltmain.sh gets modified as well, there is no way to guarantee that
    all changes to the .in file will trigger a regenetation since both file
    will likely have the same modification timestamps
    
    Refs !182
    
    An updated version of our current libtool patchset has been pushed to
    https://github.com/chouquette/libtool/tree/vlc_patches

commit ebb15e320995afa9ea5620b81f8d958eb21a7289
Author: Martin Storsjö <martin@martin.st>
Date:   Mon May 6 13:39:26 2024 +0300

    contrib: asdcplib: Apply a patch to fix compilation with latest Clang
    
    The asdcplib code contains a C++ template which refers to member
    variables that doesn't exist. Earlier, this hasn't been an issue,
    as the C++ template never is instantiated, but current Clang
    versions (the upcoming 19.x version) diagnoses such issues already
    before the class is instantiated, leading to compilation errors
    on the asdcplib code.
    
    This applies https://github.com/cinecert/asdcplib/pull/137 (which
    hasn't yet received any attention), fixing
    https://github.com/cinecert/asdcplib/issues/136.
    
    (cherry picked from commit c481befc9796ed57606d5fd7cba18449702d4cc2)

commit 5a6996ed26fc5e6c33813469b68cf9846ce43ce7
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed May 15 15:56:01 2024 +0200

    contrib: gme: backport assert patch
    
    assert() may be disabled and you don't want to abort a whole process in
    case of a parsing issue. So check the offset from samples_avail(), that
    will return 0 (EOF) in case of a out of bounds read.
    
    Patch already upstream.
    
    (cherry picked from commit 8205482c3ad8436c244f04b7a09e94b7acf9c66e)
    Signed-off-by: Thomas Guillem <thomas@gllm.fr>

commit d9b0f2b638fa78cec95ab5f39e855ab65dc3e83b
Author: Rémi Denis-Courmont <remi@remlab.net>
Date:   Fri May 3 22:40:12 2024 +0300

    http: allow short response byte range
    
    RFC9110 specifies that a client must handle a shorter response range
    than requested in all circumstanges. Previously, RFC7233 only required
    that behaviour for multipart ranges, which VLC did not use.
    
    This matches the newer specification: VLC will try to resume from the
    last received offset not only on unexpected error, but also on short
    response.
    
    Fixes #28627.
    
    (cherry picked from commit 90dc0a023f6ceee591f6464367efae65f2ccf6e7)

commit 0d09617ac88e492a6ced8971f3a6b3d6d5af3c02
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 11:50:56 2024 +0200

    direct3d11: do the SDR->HDR conversion after upscaling
    
    The Super Resolution filter doesn't handle RGB10A2.

commit 267ba645b82feff6bb7e7ae77b6cd5f8e32c33a1
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 14:29:27 2024 +0200

    d3d11_tonemapper: factorize the texture creation

commit ae050157ac35ecf881b2d2169b69e8e637379e55
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 11:48:39 2024 +0200

    d3d11_tonemap: handle output resolution changes

commit 52be95be55668d960dc262d24b5a4ef66a4d5d45
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 11:45:26 2024 +0200

    direct3d11: use D3D11_UpscalerGetOutput to get the final picture_sys_t

commit 71471002831e1dcf1b93154146a637f47d0af158
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 11:35:17 2024 +0200

    d3d11_scaler: provide a picture_sys_t
    
    Like d3d11_tonemapper does. It provides more flexibility.

commit fce580a4d5326304bb9aa0abd5510a93684219bb
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue May 7 11:51:56 2024 +0200

    direct3d11: simplify the D3D11_RenderQuad call
    
    Only the ID3D11ShaderResourceView source may change.

commit 6f813f37e989d43da625fcdf8e63a28b06ca5bdb
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Mon Dec 4 15:07:05 2023 +0100

    macosx: use VLC as CFBundleName
    
    Fix #28432
    
    (cherry picked from commit 63d44f046a59f0090954022a9b44903f114152b0)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit 6c95204716d9fa9c79e7b200821c2d5863f384ef
Author: Jiepeng Huang <apeng@apst.dev>
Date:   Mon May 6 02:09:10 2024 +0200

    text_renderer: change -1 to kCFNotFound
    
    (cherry picked from commit 6497bee48a9d7844532a715759b0b65a1bae7363)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit a072f541fd356473cde2cb99f85ba4b272e6ad34
Author: Jiepeng Huang <apeng@apst.dev>
Date:   Mon May 6 02:08:42 2024 +0200

    text_renderer: improve code style in darwin.c
    
    (cherry picked from commit 96ae876dc8523939a1092bfdbb31138eb8f99e69)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit f6f11faf08fc5cd763a0686351461ef264b848bd
Author: Jiepeng Huang <apeng@apst.dev>
Date:   Sun Apr 21 19:32:07 2024 +0800

    freetype: darwin: ignore case whe comparing
    
    The `psz_lcname` is lowercase, so we need to use `strcasecmp`
    instead.
    
    (cherry picked from commit c52066f20458165436ff9c8831869fa783d12a30)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit 2a2eaf62d6e3007425b02e2ec80cd3f26d79542b
Author: Jiepeng Huang <apeng@apst.dev>
Date:   Sun Apr 21 18:23:39 2024 +0800

    freetype: darwin: fix font index issue
    
    In macOS/iOS/tvOS, font collection file contains multiple fonts.
    The 0 index should not be used by default, but the corresponding
    index should be used. This will fix some font rendering bugs and
    fallback font bugs.
    
    (manual cherry picked from commit 2e3c0fb6bc38fdad5f894611b3b9eaa0ace2c746)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit 46c24f3a3b25ae0e39724087e1d9ed12226739c7
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Fri May 3 01:43:13 2024 +0200

    package: apple: fix env.build.sh
    
    The script is supposed to be usable stand-alone but makes use of
    ACTUAL_HOST_ARCH which is never set before.
    
    Fix this by properly initialising ACTUAL_HOST_ARCH.

commit 374ce3b5e1cdbdc94a2a8ea9714e9dfdbc1d2f9f
Author: David Rosca <nowrep@gmail.com>
Date:   Thu Apr 25 13:21:57 2024 +0200

    vaapi: chroma: Implement vaPutImage upload fallback
    
    (cherry picked from commit ac178ac8e3132b40330c1344fe3700b38ad0b552)

commit ea9463607f71fe4d094b99b8d0a6181452688228
Author: David Rosca <nowrep@gmail.com>
Date:   Thu Mar 14 08:17:38 2024 +0100

    converter_vaapi: Don't use DeriveImage with ExportSurfaceHandle
    
    DeriveImage is only needed when AcquireBufferHandle is used with old libva.
    
    (cherry picked from commit b1e5a91d616190d931b999f223c8206bc94bc6c5)

commit 5b557e89a2354c2018f16868e814e1dd2ff9af18
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Fri Mar 29 14:46:16 2024 +0100

    demux: hls: do not track explicit time offset at stream level
    
    refs #28579
    
    Did not update on switch and is applied once at ESOut level
    
    cherry-picked from fb836a939545b1390df0a552703384e099a485c3

commit 8160b84a3892b7127b8fb9a638b459f222d39389
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Apr 5 12:50:42 2024 +0200

    direct3d11: allow passing through the upscaler after the tonemapper

commit 91c6420acabaac0c6cd6b7457cdabe29e49fbff6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Apr 5 11:14:01 2024 +0200

    direct3d11: log the output format of the scaler

commit 6142a908b86676170f75cc131126e60bc8fcd14f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 20 13:19:43 2024 +0100

    d3d11_scaler: fix deadlock on NVIDIA detection errors
    
    (cherry picked from commit b7fa0712fbaa2bf4f00994ffeefc565d59533dee)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit d625e97a7936c0a167c25213740987c89cc53682
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 20 16:02:26 2024 +0100

    d3d11_scaler: fix Intel Super Resolution enabling
    
    The wrong API was used to set kIntelVpeFnScaling.
    
    (cherry picked from commit 6d8d4e0ff7a34705c0fff4ee0d5f3a409b991dce)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 49a3e1f3e74cdb7f8a8c72432e9022d5ea7229c5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 20 13:19:13 2024 +0100

    d3d11_scaler: mark Intel Super Resolution detection as not possible
    
    (cherry picked from commit 40ac7778b994337a0a55c8a5d507f6284933b4cf)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 020d1d443dcdb00348442580a87f7e53b918130f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Mar 19 09:29:05 2024 +0100

    direct3d11: disable forced HDR on SDR screens
    
    The VideoProcessor will output RGB10 tonemapped but it will not look right on our SDR screen.

commit 6d82c5af389e623c53ef8e9386f9008c1407cea3
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 14 14:06:17 2024 +0100

    NEWS: add D3D11 forced HDR/SDR option

commit 1465e4a9ab3663d5da8c7c9b9a01867ba145bc1e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 08:21:58 2024 +0100

    direct3d11: add an option to force HDR output from SDR source

commit 2fca4284d8974c2c091be152b644a38313cef7d0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 08:36:55 2024 +0100

    d3d11: add a VideoProcessor to handle tone mapping

commit 4d32cafff47146ef56745d7577556024baf0fcb6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 09:00:05 2024 +0100

    d3d11_fmt: add a helper to find a hardware/software based d3d_format_t
    
    (cherry picked from commit 230fdf54a20e95a93ba61b7448c256977eb3c42b) (edited)
    edited:
    - not located in the same place in 3.0

commit b6a3a8b19e5d4cb6a9ec79c08984e0db927dd98c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 14 11:35:29 2024 +0100

    direct3d11: allow setting the quad_fmt differently than the decoder format

commit b4f9d49b130e4e4f6da9398c01fd9bc5dd153a88
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Mar 14 10:00:19 2024 +0100

    direct3d11: fill the pool format directly
    
    No need for an intermediate format that we need to copy.

commit 6da53f389ef106275d62e3032706ed26284b8247
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 11:45:04 2024 +0100

    direct3d11: add an option to select the HDR output mode

commit 2192dfbfd659b21d4a0bd9042a682caa1fe3f357
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 11:38:42 2024 +0100

    direct3d11: use a function to select the closets output format
    
    When decoder ones can't be used.

commit 8c2c4db1d7761b43c0bef3dc4d951f0967bf3940
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Wed Mar 13 08:52:03 2024 +0100

    direct3d11: use a function to select the output format
    
    This avoids a bit of indentation and makes it clearer what the goal of the code block is.

commit 10e2808347d49a1862cd7a76d629c2b5d65909e8
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Mar 5 09:27:30 2024 +0100

    demux/mkv: use a better name for unused elements
    
    Unless it's an EbmlDummy the element is not unknown if it has a known class.
    
    Rather than displaying a decorated C++ class name, show the actual element name in libmatroska.
    No need for Runtime Type Indentification (RTTI) for that.
    
    The EBML_NAME() has been around since at least libebml 0.8: https://github.com/Matroska-Org/libebml/commit/cd378f23ff5c8bd477fe066fccca532bf00f974b
    
    (cherry picked from commit dba5d5969af029cc475e6cd124a2d4845339fb19) (edited)
    
    edited:
    - in 3.0 the tag loading is different
    
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit b7843ec8915ef2f37e712dd23a3324c00dd2a4a9
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Tue Feb 20 17:04:59 2024 +0100

    caopengllayer: fix using layer outside of main thread
    
    When stopping the playback, vout_display_t destructor will call the
    [VideoView vlcClose] which references the backing CALayer through [self
    layer]. This function is not thread-safe and should only be called from
    the main thread, leading to reports and crashes when using the main
    thread checker.
    
    Instead, since we allocate the layer and references it from the
    vout_display_t implementation, just send the vlcClose message on the
    stored layer directly. Since it's only used to pass from the vd from the
    view to the layer, and it's initialized from a dispatch_sync() in the
    Open() function, there won't be race de-initializing them in a
    non-synchronized fashion like done in this commit.
    
    Fixes #27513
    
    (cherry picked from commit 79e1535af5937901636529930a52e70546c6fec5)

commit f3d178c2f0788da6c6cc2352d39c5f66f8e75d25
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Feb 20 08:48:20 2024 +0100

    d3d11_scaler: detect if NVIDIA upscaler is available
    
    We only need to check is super resolution is used.
    
    (cherry picked from commit 2ccd91d9b296e435dcb1b20759071bfdaacca04d)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 3caa45bc771a5ec6077eb724f6a60ea1c6bb3a68
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Feb 20 08:31:23 2024 +0100

    d3d11_scaler: select the output format with D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT
    
    The selected format is used for output, not input.
    
    (cherry picked from commit 6e47593b22bee9ffc2535e90741561dbe31c5124) (rebased)
    rebased:
    - the FindD3D11Format call is different on 3.0
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 81ed74ad51d1f3c80818d9553c60021dada95afb
Author: Tung Huynh <tung75605@gmail.com>
Date:   Sat Dec 9 20:27:41 2023 -0800

    direct3d11: fix subpicture placement with external rendering

commit 9acdb3addb3bee1994d14960fef5c22021baa65d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Tue Feb 20 11:25:14 2024 +0100

    contrib: AMF: improve sparse checkout
    
    git sparse-checkout was only added in 2.25 (2020) [1]. Older git (1.7+) can
    handle a sparse checkout setting the .git/info/sparse-checkout data.
    
    We also clone with --filter=blob:none --no-checkout which downloads less from the host.
    
    [1] https://stackoverflow.com/a/13738951
    
    (cherry picked from commit f787acf2587de1e8b5968f8b68b931ab659e9f01) (edited)
    edited:
    - remove --fitler as it's not supported in git 2.11.0 used by 3.0 Dockers

commit 066d5b724ee34bcc367f51bfd14b27424854b00d
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 13:28:57 2024 +0100

    NEWS: add AMD Super Resolution support in 3.0.21

commit d468ec7fcca0b4adf90742e948c9b77e9b520fc6
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 13:02:09 2024 +0100

    d3d11_scaler: ensure the AMF input/output textures matches the scaler sizes
    
    (cherry picked from commit ef640c8b63b4ffb224faf2161dd23e40bdc0fd3b)

commit 32e0f4e825b04ff7c302e0d48d2d242f5c37be45
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 13:17:41 2024 +0100

    d3d11_scaler: just reinit AMF when the scaler was already initialized
    
    (cherry picked from commit 21f2fb900ec6d0899035dea57625c56ae99d4bdf)

commit 41a946064c2c82270d227cfc2bbd3b2a8afdce00
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 11:59:30 2024 +0100

    d3d11_scaler: only (re)init the HQ Scaler when the output size changes
    
    D3D11_UpscalerUpdate() is mostly called in those cases, but it's cleaner.
    
    (cherry picked from commit 43c44f303e9a1335688e89a0b13ddf2b13fba6d5)

commit bb20e550207eed74e1d7d255cbb71c57731623f7
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 13:18:44 2024 +0100

    d3d11_scaler: report AMF errors
    
    (cherry picked from commit e17246c5c0c9502f1d01f621d3892bcda9ce9170)

commit 4e65d6f5611735ada6ed47de2e3f3f173322b0d0
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 12:14:01 2024 +0100

    d3d11_scaler: allocate the HQ Scaler input texture with AMF API
    
    No need to manage an extra variable, and that makes the code more generic.
    
    (cherry picked from commit 27391019a86f2152608ff8897ff4969a1caf9702)

commit 5f716112ba2910af764efc859f68563ac814b1be
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 12:05:35 2024 +0100

    d3d11_scaler: only recreate the HQ Scaler texture
    
    (cherry picked from commit 2841b79dfb63a7c9b1be38cabfa56baf9f96c03f)

commit 9b1ba53a15e05de759d17018c936d860d95a3c09
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 11:25:47 2024 +0100

    d3d11_quad: reset the ShaderResources as soon as drawing with it is done
    
    This may help with performance and avoid an issue when the render target is
    also an input texture for another pipeline.
    
    (cherry picked from commit cf5e665e47762bc793b87088e7edc235d4b228d2) (edited)
    edited:
    - on 3.0 we don't render multiple planes in this call

commit a3595dc6ca4ac57a0d62b41d3db7e8f58108270f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 10:00:49 2024 +0100

    d3d11_scaler: add AMD HQScaler support
    
    (cherry picked from commit ffd3f0e70a1b61d9d919387fa14558c1d4bf7881) (edited)
    edited:
    - 3.0 doesn't have nvdec support in D3D11
    - 3.0 use D3D11_MAX_SHADER_VIEW rather than DXGI_MAX_SHADER_VIEW
    - 3.0 needs assert.h

commit f6e0f7f0d7d20e96640b8735951bdda036eb6bdd
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 10:24:44 2024 +0100

    dxgi_fmt: allow include from C++
    
    Part of 6b7a6d86ae30109bed34fec0b5ffc1f013ca4a81 on 4.0.

commit 0e88576b9e3e4bb5003b932ce4a15bec0a9cab2c
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 09:58:13 2024 +0100

    hw/amf: add a helper to create an AMFContext
    
    (cherry picked from commit 6f1ec768063bb8f93aeb14f23d26a4ce206c5daf) (edited)
    edited:
    - 3.0 doesn't have VLC_ENOTSUP

commit edc77c8b090eeda7fe466c316d6f51390537150e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 09:57:51 2024 +0100

    configure: detect AMD HQScaler
    
    (cherry picked from commit 803499c569ae8292bd924588f73f85c7cdf62fc1)

commit ebce27ec8b0773b690d4d73e7df0c1c9fd395312
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 09:57:37 2024 +0100

    contrib: amf: fix compilation errors and warnings
    
    Patchsets sent upstream:
    
    - https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/448
    - https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/449
    - https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/450
    - https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/451
    - https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/452
    
    (cherry picked from commit d0c4704681541f205a38fc4a72ce01a0c61a982a)

commit 02bc0cf48c6962c0feaabeb32786a723f5b30709
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 09:57:27 2024 +0100

    contrib: amf: update to 1.4.33
    
    It contains the HQScaler
    
    (cherry picked from commit 86c2cf55a55904917225df465075634e0482690e)

commit ac42dea9914b82cf82ef806a10c3e08459de7983
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 08:48:16 2024 +0100

    contrib/amf: ensure to touch .sum-amf when the git hash check is successful
    
    (cherry picked from commit cba3cbaa764887b2a68dc359ae82a0261a2d8240)

commit d35919ddfb72bfc985e99e4d6aade3288a9d6664
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 08:48:03 2024 +0100

    contrib: amf: update to 1.4.30 using git
    
    It's faster to get the files from git and compress than downloading
    the 400 MB+ package.
    
    We don't use download_git which downloads the whole git history of the
    given branch. We use git clone and a sparse checkout to only get the
    folder we want for the giant repository.
    
    (cherry picked from commit 7cfdd439b9ba299606456a62de15b144201176c9)

commit 33071b3a7aa49328f78e4077e1d4f5dfd25c2a96
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 08:47:41 2024 +0100

    contrib: update AMF package to v1.4.29
    
    (cherry picked from commit 47b62224d5847841a5651bac7ff8eee1b717b7c9)

commit 81aa273a1568bfd27a338ccd7300a89d150f734e
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 08:47:24 2024 +0100

    contrib: add AMF package to enable AMF encoder in FFMPEG
    
    (cherry picked from commit f1a2665f609d9d5bd7e662a8a2519018e1d3f61c)

commit 512e6710013e3ff85fd584a789425691bdac91ed
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 19 16:46:00 2024 +0100

    d3d11_scaler: favor BGRA for upscaling
    
    Fixes Super Resolution not working on NVIDIA.

commit 7a3acd41e6ff555237a31411123e0b06c93c3861
Author: Alexandre Janniaux <ajanni@videolabs.io>
Date:   Fri Apr 8 16:45:27 2022 +0200

    doc/libvlc: add appkit_player demo code
    
    The sample code demonstrate how to bind an NSView to a media player to
    integrate video playback in a Cocoa application.
    
    Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
    
    Cherry-picked from commit 60fcef78eee709f1746e62d7ccb8da76ba6d7401.

commit c6883f9365a1c1bcb93482e53d8a92adcba4bd87
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 14:12:05 2018 +0200

    demux:mp4: use a special timestamp rescaler to convert explicitly from vlc_tick_t
    
    (cherry picked from commit ddfb4f086701bcdf2988402ec144ef7dfdd3c23d) (rebased)
    rebased:
    * the i_traf_start_time processing is different in 3.0 with i_moof_time involved
    * the frag seek time doesn't use b_iframesync
    * the code around the changes was slightly different
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 091f734ed9cab11fcdc4b0797e9a1b51864a5e07
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 14:07:26 2018 +0200

    demux:mp4: use a special timestamp rescaler to convert explicitly to vlc_tick_t
    
    (cherry picked from commit 3b84ba41218c7d4f03f0abeb569067ace77ad25e) (edited)
    edited:
    * MP4_TrackTimeApplyELST was merged in 3.0
    * the code around changes is slightly different
    * DEMUX_GET_PTS_DELAY expects a int64_t, not a mtime_t
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 7d59dda78e4d81dc1ac62163ffcb7a71ccecd27b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 15:30:33 2018 +0200

    demux:mp4: separate stime_t & vlc_tick_t duration in MP4_GetInterleaving()
    
    Thus max_continuity is effectively an vlc_tick_t which compares correctly to
    DEMUX_TRACK_MAX_PRELOAD
    
    (cherry picked from commit f2be7ebbed9b475e91ca3bfe842fb8a451f016ed)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 9229409a365969a9db13deb8d76e88e6d3dff5fa
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 14:25:42 2018 +0200

    demux:mp4: the i_start in TrackTimeToSampleChunk() is a vlc_tick_t
    
    That's the kind of data it is given
    
    (cherry picked from commit 09f5070644fad4a9f101ae039c897702bbb63306)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit fc759ab80e8cb758b106293128c7550017662454
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 15:19:10 2018 +0200

    demux:mp4: simplify value check
    
    No need to due the subtraction, the value is overwritten right after.
    
    (cherry picked from commit 878df3f879ad8c87a1a5b35dd904bf7d52d31a34)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 539fc944e8951704a9bc336147de7a5d36791d97
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 13:39:23 2018 +0200

    demux:mp4: the result of MP4_TrackGetDTS() is always used as a vlc_tick_t
    
    Also for the value returned by MP4_TrackGetPTSDelta()
    
    (cherry picked from commit 2060b8b3e2aee1e080889766c802b978ee9ffe92) (edited)
    edited:
    - vlc_tick was merged in 3.0
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 5eaa84f946176e346b0a750446bcec09845f8572
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Jun 8 12:45:36 2018 +0200

    demux:mp4: i_nztime is an vlc_tick_t as the comment suggests
    
    (cherry picked from commit 52f365152813cf692956ba37ff700ef3c5c7e1a5)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 3e324f65f449ef15e31782788a38c882b91e305d
Author: François Cartegnie <fcvlcdev@free.fr>
Date:   Thu Jan 4 19:40:31 2018 +0100

    demux: mp4: set samples duration
    
    (cherry picked from commit 096500ddebd4d621ea8ce96cdd93baa2ce05a2a8) (rebased)
    rebased:
    - vlc_tick_t is merged in 3.0
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit be426a636a356e16a4b2f22790624748c338987a
Author: Craig Huggins <craighuggins@hotmail.com>
Date:   Tue Feb 13 04:59:12 2024 +0000

    Use requested win32 dvb-adapter parameter
    
    (cherry picked from commit 81ce022fae048e4d5a17a08f7d15cea68d68adeb)

commit 89a4a9cf13199ead7559f83ad210194d776dc121
Author: Tristan Matthews <tmatth@videolan.org>
Date:   Fri Feb 16 15:24:40 2024 -0500

    contrib: dav1d: update to 1.4.0
    
    (cherry picked from commit b1c03211337301bfa23d947af948ed4ecb1a435e)

commit 6905dfa3cf005f271109800f13bf3644d0ba4e4f
Author: Francois Cartegnie <fcvlcdev@free.fr>
Date:   Thu Feb 4 20:24:36 2021 +0100

    demux: mp4: compute cts_shift when missing
    
    (cherry picked from commit a1ad08a051f85a645c0353116c930806cdda6128)

commit b12d1d4b9d1889625c260dba97143373e9c8661f
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Fri Feb 9 13:20:32 2024 +0100

    NEWS: mention the set_hwnd new requirement

commit 1eef18c45831810b25d36206f9ecfa68a4d4d66b
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 5 10:04:03 2024 +0100

    vout/win32: don't force WS_CLIPCHILDREN internally
    
    It's potentially locking. It should be set in the calling code.
    
    (cherry picked from commit dc3d6b67a75418051667b0f9e597604a4074826e) (edited)
    edited:
    - the location of the call is different in 3.0 and didn't include assert.h
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit cf7a7d34be37ad460ae026803add54ed8a2b8318
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 5 10:03:12 2024 +0100

    doc: document that WS_CLIPCHILDREN must be set with set_hwnd()
    
    So we don't have to do it internally in a potentially locking call.
    
    (cherry picked from commit 102e4791528b3d11328fc701bda1dabd10aaf285)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 60019609744d4bd041a086a610d270e1fb78f2a4
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 5 10:02:06 2024 +0100

    doc/wx_player: set WS_CLIPCHILDREN on our window
    
    So the display module doesn't have to do it in its own thread.
    
    (cherry picked from commit 1ce31601a4234ae6bcd76e88ea93f814eb2356fd)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit a5d5e6bcaec50fdeecd2d9d33ecf99ca8ac0b592
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 5 09:56:22 2024 +0100

    doc/QtPlayer: set WS_CLIPCHILDREN on our window
    
    So the display module doesn't have to do it in its own thread.
    It doesn't seem to be on by default in Qt and there's no direct API to set this.
    
    (cherry picked from commit b29e2911fdbf4a1e53012794ed4a1b5a6cd8a5c0)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 5c990a100c0a122bed333d4f65190425aecc6916
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Mon Feb 5 08:47:10 2024 +0100

    doc/win_player: set WS_CLIPCHILDREN on our window
    
    So the display module doesn't have to do it in its own thread.
    
    (cherry picked from commit 70535e54021563f851417a7aefc5d2e2e52afb6e)
    Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>

commit 50acae2b5ba9ca47269f0fc228383a645d72242e
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sat Jan 6 17:51:17 2024 +0100

    opencv_wrapper: fix psz_inner_name leak
    
    (cherry picked from commit 24163ce0f43a21cdde08711a4a56ae37c8154ccf)
    
    edited: use p_filter->p_sys instead of p_sys

commit 8436f79c7a9587c8b05e467ee5d82926a3de98a6
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sat Jan 6 16:43:35 2024 +0100

    ntservice: fix psz_service leak
    
    (cherry picked from commit 56837c1adcfcad8505d24ce90f9f365b9026b639)

commit f1f12386cf404702def6779f34627208e0776d9f
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sat Jan 6 00:36:23 2024 +0100

    d3d11_deinterlace: fix psz_mode leak
    
    (cherry picked from commit 1ced6b100005511284f754932bf9a5dc32bf9abe)

commit ae50254b147893e3b6a7df22f165faee80fdeee5
Author: Steve Lhomme <robux4@ycbcr.xyz>
Date:   Thu Oct 22 14:44:57 2020 +0200

    d3d11_deinterlace: log the filter that actually failed
    
    Not the "auto" name.
    
    (cherry picked from commit f00c62a88b74449d3983751b3ae3b7fddb51e7e7)
    
    note: this commit was picked to allow picking the next commit, without
    this one the next would cause a use-after-free.

commit e49f8f31ce972adddfe75984a7e7bee0df9b7c49
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Tue Jan 2 17:42:39 2024 +0100

    dxva2_deinterlace: fix psz_mode leak
    
    (cherry picked from commit ca51bd21b3a3935b74105a97fb09462ed0b7b91f)

commit 03d1ab0175389fd70cad8a6c3044e539c8954f31
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Thu Jan 4 23:44:04 2024 +0100

    cli: fix two psz_unix_path leaks
    
    This would be a cherry-pick of 5b79e0f9d0febc9be4a34966f920a4d0f6634dfe,
    but on 3.0.x, unlike master, psz_unix_path doesn't leak in the error
    condition before psz_unix_path is copied to struct addr, but in two
    error conditions that occur when when listening to "rc-host" fails.

commit 5ff213d593c8d4a37e334eb85fbdaad2620a2779
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Thu Jan 4 22:51:02 2024 +0100

    aout: file: fix psz_name leak
    
    (cherry picked from commit 02d87cc92b9ad32966a2f68c9e1c84c9ea451bba)

commit 5a817a90af36a5ca0de21fb096bee89e8acf20e2
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Thu Jan 4 22:48:18 2024 +0100

    aout: file: remove free(NULL)
    
    There used to be a test for a NULL char as well, but it was removed in
    b1c459e9502282ad3bc94016e532a372f9c6955c.
    
    (cherry picked from commit c3c9840bc78c80d24faf5bfa8f7610f51153568e)

commit 072a9d8cc656d1fa6c943154baa1f4f98de94709
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Tue Jan 2 21:54:20 2024 +0100

    access/dtv: fix mod leak
    
    (cherry picked from commit b945194f173247b5b812d6c99911dadc220a741e)

commit 9134e2079b5a14ce852ceaf84515c8e4ae35580f
Author: Niklas Haas <git@haasn.dev>
Date:   Wed Jul 19 15:21:23 2023 +0200

    configure: add upper version constraint on libplacebo
    
    Libplacebo v6 substantially reworks the public API related to color
    spaces, tone mapping, and more - and also requires GLSL 130 as a minimum
    version, as well as access to OpenGL-backed textures to do any
    nontrivial form of color mapping.
    
    Not only does this result in compilation failures, but it also totally
    prevents basic operation. These problems can be addressed on VLC v4, but
    backporting all of that to VLC v3 would be prohitively costly. As such,
    simply prevent VLC v3 from being combined with libplacebo v6,
    intentionallly or otherwise.

commit cd525eb4bc8c1c1addcbd65d22e393bc21ec0264
Author: Marvin Scholz <epirat07@gmail.com>
Date:   Thu Dec 21 20:56:36 2023 +0100

    On the road to 3.0.21

commit a77727ffe2663c96c43628bc1acb03bb414f6c90
Author: Sean McGovern <gseanmcg@gmail.com>
Date:   Mon Jan 1 20:05:50 2024 -0500

    welcome to 2024
    
    (cherry picked from commit 3a174676a3526236f964bec7f635c71076d77c3f)
    Signed-off-by: Marvin Scholz <epirat07@gmail.com>

commit 81d9c4c7027df1fdd937da64c9f969265f300fd1
Author: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Date:   Sat Dec 9 23:01:07 2023 +0100

    d3d11_deinterlace: conditionally define d3d11 enum
    
    Newer d3d11.h already defines the enum, resulting in the following error:
    
        ../../modules/hw/d3d11/d3d11_deinterlace.c:43:14: error: redefinition of typedef ‘D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS’ with different type
           43 | typedef UINT D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS;
              |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        In file included from ../../modules/hw/d3d11/d3d11_deinterlace.c:36:
        /usr/share/mingw-w64/include/d3d11.h:954:3: note: previous declaration of ‘D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS’ with type ‘D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS’
          954 | } D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS;
              |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS is available since MinGW-W64 6.0.0:
    https://github.com/mirror/mingw-w64/commit/474a85ab51aadbe24a03081684d9cd17dcc3b353
    
    Contribs d3d11.h doesn't have it, but distro-provided d3d11.h does, so
    check if the type is available.

commit 01b9288de1576131c830f4e9f4c6a4dbbd95fb0c
Author: Francois Cartegnie <fcvlcdev@free.fr>
Date:   Mon Jan 24 13:40:53 2022 +0100

    codec: opus: add support for projection decoder
    
    (cherry picked from commit d717dae8fd1d15c131d8606957918771bd882942)

commit 18a1c0b1c3176694b61fa24e9623170dce3ae744
Author: Francois Cartegnie <fcvlcdev@free.fr>
Date:   Mon Jan 24 13:49:29 2022 +0100

    codec: opus_header: read & store decoding matrix
    
    (cherry picked from commit f582f5c5e58b37654a695ccdaed4d002390158d8)
