vlc.git
10 months agoqt: use std::sort instead of deprecated qSort()
Steve Lhomme [Tue, 17 Dec 2024 08:39:26 +0000 (09:39 +0100)]
qt: use std::sort instead of deprecated qSort()

Similar to c49140dcff3a2ba2729cec8756c7f78b198d50c9.

Gbp-Pq: Name 0123-qt-use-std-sort-instead-of-deprecated-qSort.patch

10 months agoqt: use QString::arg() rather than QString::sprintf()
Steve Lhomme [Mon, 16 Dec 2024 15:01:44 +0000 (16:01 +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

Gbp-Pq: Name 0122-qt-use-QString-arg-rather-than-QString-sprintf.patch

10 months agoqt: use QString::setNum() rather than QString::sprintf()
Steve Lhomme [Wed, 18 Dec 2024 10:57:05 +0000 (11:57 +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

Gbp-Pq: Name 0121-qt-use-QString-setNum-rather-than-QString-sprintf.patch

10 months agoqt: use QLayout::setContentsMargins() instead of QLayout::setMargin()
Steve Lhomme [Tue, 17 Dec 2024 07:41:58 +0000 (08:41 +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

Gbp-Pq: Name 0120-qt-use-QLayout-setContentsMargins-instead-of-QLayout.patch

10 months agoqt: add missing QActionGroup include
Steve Lhomme [Tue, 17 Dec 2024 08:17:00 +0000 (09:17 +0100)]
qt: add missing QActionGroup include

To be able to use rendererGroup.

Gbp-Pq: Name 0119-qt-add-missing-QActionGroup-include.patch

10 months agoqt: fix UTF-8 string usage
Steve Lhomme [Tue, 17 Dec 2024 08:09:39 +0000 (09:09 +0100)]
qt: fix UTF-8 string usage

Similar to bbb9f6a07adfd20c544d29198ea2fec601bf3e62.

Gbp-Pq: Name 0118-qt-fix-UTF-8-string-usage.patch

10 months agoqt: fix bitfield added values set in QVariant
Steve Lhomme [Mon, 16 Dec 2024 14:48:41 +0000 (15:48 +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.

Gbp-Pq: Name 0117-qt-fix-bitfield-added-values-set-in-QVariant.patch

10 months agoqt: remove deprecated QPainter::HighQualityAntialiasing usage
Steve Lhomme [Tue, 10 Dec 2024 14:37:46 +0000 (15:37 +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

Gbp-Pq: Name 0116-qt-remove-deprecated-QPainter-HighQualityAntialiasin.patch

10 months agoqt: fix IN_ITEM_ROLE documentation
Steve Lhomme [Tue, 10 Dec 2024 13:51:58 +0000 (14:51 +0100)]
qt: fix IN_ITEM_ROLE documentation

Gbp-Pq: Name 0115-qt-fix-IN_ITEM_ROLE-documentation.patch

10 months agoqt: remove unused meta_to_mlmeta()
Steve Lhomme [Thu, 5 Dec 2024 09:50:50 +0000 (10:50 +0100)]
qt: remove unused meta_to_mlmeta()

Gbp-Pq: Name 0114-qt-remove-unused-meta_to_mlmeta.patch

10 months agointerop_vaapi: fix mem leak while pause
fengchao wei [Sat, 14 Dec 2024 13:27:36 +0000 (13:27 +0000)]
interop_vaapi: fix mem leak while pause

Gbp-Pq: Name 0113-interop_vaapi-fix-mem-leak-while-pause.patch

10 months agoaccess/v4l2: add support for V4L2_PIX_FMT_ABGR32 and V4L2_PIX_FMT_XBGR32
Martin Tuma [Mon, 2 Dec 2024 11:36:22 +0000 (12:36 +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

Gbp-Pq: Name 0112-access-v4l2-add-support-for-V4L2_PIX_FMT_ABGR32-and-.patch

10 months agomediacodec: set color keys in media format explicitly
Mangal Kushwah [Thu, 12 Sep 2024 06:33:58 +0000 (12:03 +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)

Gbp-Pq: Name 0111-mediacodec-set-color-keys-in-media-format-explicitly.patch

10 months agodemux/mp4: force the packetizer to fill AV1 extradata without optional OBUs
Steve Lhomme [Fri, 29 Nov 2024 10:28:46 +0000 (11:28 +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

Gbp-Pq: Name 0110-demux-mp4-force-the-packetizer-to-fill-AV1-extradata.patch

10 months agodemux/mkv: force the packetizer to fill AV1 extradata without optional OBUs
Steve Lhomme [Fri, 29 Nov 2024 10:27:50 +0000 (11:27 +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)

Gbp-Pq: Name 0109-demux-mkv-force-the-packetizer-to-fill-AV1-extradata.patch

10 months agopacketizer/av1: fill the full extradata if it doesn't have the optional OBU
Steve Lhomme [Fri, 29 Nov 2024 10:57:36 +0000 (11:57 +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

Gbp-Pq: Name 0108-packetizer-av1-fill-the-full-extradata-if-it-doesn-t.patch

10 months agodemux: mkv: don't use EbmlDummy elements coming out of FindNextID()
Steve Lhomme [Tue, 26 Nov 2024 05:33:48 +0000 (06:33 +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)

Gbp-Pq: Name 0107-demux-mkv-don-t-use-EbmlDummy-elements-coming-out-of.patch

10 months agoes_out_timeshift: explicitely use GetTempPathW
Steve Lhomme [Wed, 17 May 2023 08:20:16 +0000 (10:20 +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

Gbp-Pq: Name 0106-es_out_timeshift-explicitely-use-GetTempPathW.patch

10 months agomusicbrainz: fix leak
Johannes Kauffmann [Tue, 19 Nov 2024 22:30:23 +0000 (23:30 +0100)]
musicbrainz: fix leak

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

Gbp-Pq: Name 0105-musicbrainz-fix-leak.patch

10 months agoqt: PodcastConfiguration inherits QDialog not QWidget
KO Myung-Hun [Tue, 28 Feb 2023 14:47:47 +0000 (23:47 +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>
Gbp-Pq: Name 0104-qt-PodcastConfiguration-inherits-QDialog-not-QWidget.patch

10 months agodemux: mkv: fix potential leak of KaxBlockAdditions when seeking
Steve Lhomme [Sun, 10 Nov 2024 09:48:38 +0000 (10:48 +0100)]
demux: mkv: fix potential leak of KaxBlockAdditions when seeking

(cherry picked from commit f7c0d24733350e4c43a2dcb84e3106d9e2be9e7b)

Gbp-Pq: Name 0103-demux-mkv-fix-potential-leak-of-KaxBlockAdditions-wh.patch

10 months agodemux: mkv: don't expose local BlockDecode function
Steve Lhomme [Sun, 10 Nov 2024 09:41:00 +0000 (10:41 +0100)]
demux: mkv: don't expose local BlockDecode function

(cherry picked from commit e3adf1736cf32bba3db208cc5d0d18b23a7c17a5) (rebased)
rebased:
- the code around is different

Gbp-Pq: Name 0102-demux-mkv-don-t-expose-local-BlockDecode-function.patch

10 months agodemux: mkv: read data from KaxBlockAdditions as const
Steve Lhomme [Sun, 10 Nov 2024 09:32:44 +0000 (10:32 +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

Gbp-Pq: Name 0101-demux-mkv-read-data-from-KaxBlockAdditions-as-const.patch

10 months agodemux: mkv: add missing helpers from libebml 2.0
Steve Lhomme [Thu, 11 Jul 2024 12:06:59 +0000 (14:06 +0200)]
demux: mkv: add missing helpers from libebml 2.0

The const versions are more versatile.

(cherry picked from commit 42945dadb88c72bd6b34a3468f4ac125d81198f1)

Gbp-Pq: Name 0100-demux-mkv-add-missing-helpers-from-libebml-2.0.patch

10 months agodemux: mkv: use the internal QDMC FourCC value
Steve Lhomme [Sat, 9 Nov 2024 12:41:37 +0000 (13:41 +0100)]
demux: mkv: use the internal QDMC FourCC value

Rather than a local FourCC.

(cherry picked from commit 71c2622ab992a4bb4485e5e151f3019e60543d35)

Gbp-Pq: Name 0099-demux-mkv-use-the-internal-QDMC-FourCC-value.patch

10 months agodemux: mkv: use the internal USF FourCC value
Steve Lhomme [Sat, 9 Nov 2024 12:35:06 +0000 (13:35 +0100)]
demux: mkv: use the internal USF FourCC value

Rather than a local FourCC.

(cherry picked from commit 447116d324f8493120ce84544aed0cfc290aafb2)

Gbp-Pq: Name 0098-demux-mkv-use-the-internal-USF-FourCC-value.patch

10 months agoconfigure: use $host_cpu where applicable
Rémi Denis-Courmont [Sat, 16 Jun 2018 18:34:58 +0000 (21:34 +0300)]
configure: use $host_cpu where applicable

(cherry picked from commit a50366bc9702ad4ec0db1e5361bcea8378bf8132)

Gbp-Pq: Name 0097-configure-use-host_cpu-where-applicable.patch

10 months agoavcodec: add a define to test for AVCodecContext.ch_layout availability
François Cartegnie [Thu, 20 Jun 2024 11:12:37 +0000 (13:12 +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

Gbp-Pq: Name 0096-avcodec-add-a-define-to-test-for-AVCodecContext.ch_l.patch

10 months agoffmpeg: fix libavutil version check for AVFrame.ch_layout
Steve Lhomme [Wed, 19 Jun 2024 06:36:40 +0000 (08:36 +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)

Gbp-Pq: Name 0095-ffmpeg-fix-libavutil-version-check-for-AVFrame.ch_la.patch

10 months agoavcodec: fix libavcodec version check for AVCodecContext.ch_layout
Steve Lhomme [Wed, 19 Jun 2024 11:41:04 +0000 (13:41 +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

Gbp-Pq: Name 0094-avcodec-fix-libavcodec-version-check-for-AVCodecCont.patch

10 months agoffmpeg: fix libavcodec version check for AVCodecParameters.ch_layout
Steve Lhomme [Tue, 18 Jun 2024 14:04:41 +0000 (16:04 +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)

Gbp-Pq: Name 0093-ffmpeg-fix-libavcodec-version-check-for-AVCodecParam.patch

10 months agoffmpeg: fix libavutil version check for av_channel_layout_default()
Steve Lhomme [Tue, 18 Jun 2024 13:34:10 +0000 (15:34 +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

Gbp-Pq: Name 0092-ffmpeg-fix-libavutil-version-check-for-av_channel_la.patch

10 months agocodec: avcodec: fix ch_layout requirement
François Cartegnie [Mon, 10 Jun 2024 04:10:37 +0000 (11:10 +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

Gbp-Pq: Name 0091-codec-avcodec-fix-ch_layout-requirement.patch

10 months agoavcodec/audio: make channel mapping array 0 terminated
Ilkka Ollakka [Wed, 5 Jul 2023 12:09:57 +0000 (15:09 +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

Gbp-Pq: Name 0090-avcodec-audio-make-channel-mapping-array-0-terminate.patch

10 months agoavcodec: use ARRAY_SIZE instead of custom code
Steve Lhomme [Fri, 6 Jan 2023 09:16:09 +0000 (10:16 +0100)]
avcodec: use ARRAY_SIZE instead of custom code

(cherry picked from commit 28c80ee47e6cdf961f501eed9d4837956b38afd1)

Gbp-Pq: Name 0089-avcodec-use-ARRAY_SIZE-instead-of-custom-code.patch

10 months agocodec: avcodec: check open codec return value
Zhao Zhili [Fri, 11 Jun 2021 10:02:34 +0000 (18:02 +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

Gbp-Pq: Name 0088-codec-avcodec-check-open-codec-return-value.patch

10 months agoavcommon: use a specific macro to check the FFmpeg libavcodec version
Steve Lhomme [Wed, 19 Jun 2024 11:59:15 +0000 (13:59 +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.

Gbp-Pq: Name 0087-avcommon-use-a-specific-macro-to-check-the-FFmpeg-li.patch

10 months agoavcommon: rename LIBAVCODEC_VERSION_CHECK to LIBAV_CODEC_VERSION_CHECK
Steve Lhomme [Thu, 7 Nov 2024 06:23:27 +0000 (07:23 +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.

Gbp-Pq: Name 0086-avcommon-rename-LIBAVCODEC_VERSION_CHECK-to-LIBAV_CO.patch

10 months agoavcommon: use a specific macro to check the FFmpeg libavformat version
Steve Lhomme [Wed, 19 Jun 2024 11:57:24 +0000 (13:57 +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.

Gbp-Pq: Name 0085-avcommon-use-a-specific-macro-to-check-the-FFmpeg-li.patch

10 months agoavcommon: rename LIBAVFORMAT_VERSION_CHECK to LIBAV_FORMAT_VERSION_CHECK
Steve Lhomme [Thu, 7 Nov 2024 06:22:26 +0000 (07:22 +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.

Gbp-Pq: Name 0084-avcommon-rename-LIBAVFORMAT_VERSION_CHECK-to-LIBAV_F.patch

10 months agoavcommon: use a specific macro to check the FFmpeg libavutil version
Steve Lhomme [Wed, 19 Jun 2024 11:56:31 +0000 (13:56 +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.

Gbp-Pq: Name 0083-avcommon-use-a-specific-macro-to-check-the-FFmpeg-li.patch

10 months agoavcommon: rename LIBAVUTIL_VERSION_CHECK to LIBAV_UTIL_VERSION_CHECK
Steve Lhomme [Thu, 7 Nov 2024 06:20:57 +0000 (07:20 +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.

Gbp-Pq: Name 0082-avcommon-rename-LIBAVUTIL_VERSION_CHECK-to-LIBAV_UTI.patch

10 months agoqt: add option to use dark palette
Pratik Patel [Wed, 16 Oct 2024 14:24:22 +0000 (19:54 +0530)]
qt: add option to use dark palette

Gbp-Pq: Name 0081-qt-add-option-to-use-dark-palette.patch

10 months agohds: fix crash if bootstrap data or URL are missing
Tristan Matthews [Wed, 16 Oct 2024 19:29:35 +0000 (15:29 -0400)]
hds: fix crash if bootstrap data or URL are missing

(cherry picked from commit 01934b339cf5f467c9c2e3a7fb61c7458347684c)

Gbp-Pq: Name 0080-hds-fix-crash-if-bootstrap-data-or-URL-are-missing.patch

10 months agofetcher: don't download network metadata if the user doesn't want to
Steve Lhomme [Mon, 14 Oct 2024 09:11:36 +0000 (11:11 +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)

Gbp-Pq: Name 0079-fetcher-don-t-download-network-metadata-if-the-user-.patch

10 months agomux: avformat: fix avio callbacks signature with ffmpeg 6.1
François Cartegnie [Sun, 7 Jul 2024 09:14:05 +0000 (11:14 +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)

Gbp-Pq: Name 0078-mux-avformat-fix-avio-callbacks-signature-with-ffmpe.patch

10 months agocodec: x265: handle 4.0 encoding API change
François Cartegnie [Tue, 24 Sep 2024 11:53:11 +0000 (18:53 +0700)]
codec: x265: handle 4.0 encoding API change

refs #28799

(cherry picked from commit 83e2c3955a563b60f74f05cea57e3ab5f447c8fb)

Gbp-Pq: Name 0077-codec-x265-handle-4.0-encoding-API-change.patch

10 months agocodec: x265: handle X265_MAX_FRAME_THREADS on newer CPU
François Cartegnie [Tue, 24 Sep 2024 11:43:08 +0000 (18:43 +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)

Gbp-Pq: Name 0076-codec-x265-handle-X265_MAX_FRAME_THREADS-on-newer-CP.patch

10 months agocodec: avcodec: bypass removed define for Intel workarounds
François Cartegnie [Mon, 12 Aug 2024 12:32:42 +0000 (19:32 +0700)]
codec: avcodec: bypass removed define for Intel workarounds

adapted from cherry picked commit 1280728ad305f00ceba3491ce11bf66107017a6c

Gbp-Pq: Name 0075-codec-avcodec-bypass-removed-define-for-Intel-workar.patch

10 months agoavcodec: use ch_layout for channel layout in audio encoder
Ilkka Ollakka [Tue, 4 Jul 2023 13:55:28 +0000 (16:55 +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)

Gbp-Pq: Name 0074-avcodec-use-ch_layout-for-channel-layout-in-audio-en.patch

10 months agoavcodec: add handling of new ch_layout in audio encoder
Ilkka Ollakka [Tue, 4 Jul 2023 13:53:43 +0000 (16:53 +0300)]
avcodec: add handling of new ch_layout in audio encoder

conditioned to avcodec version where is it added

(cherry picked from commit c4302ca59dd79efd7208a45a3fcdc44388fd03a8)

Gbp-Pq: Name 0073-avcodec-add-handling-of-new-ch_layout-in-audio-encod.patch

10 months agodemux/mux: avformat: use ch_layout from ffmpeg 5.1
François Cartegnie [Tue, 23 Apr 2024 06:14:53 +0000 (13:14 +0700)]
demux/mux: avformat: use ch_layout from ffmpeg 5.1

merger pick from commit a55ec32ab3760d9edb6f05481cd3a981aa42878d
and fixup 195f0c98599b55950c49a62f98d9d3495be310df

Gbp-Pq: Name 0072-demux-mux-avformat-use-ch_layout-from-ffmpeg-5.1.patch

10 months agocodec: avcodec: fix audio channel_layout conditionals
François Cartegnie [Sat, 17 Aug 2024 04:22:33 +0000 (11:22 +0700)]
codec: avcodec: fix audio channel_layout conditionals

Gbp-Pq: Name 0071-codec-avcodec-fix-audio-channel_layout-conditionals.patch

10 months agoavcodec: encoder: fix channel_layout conditionals
François Cartegnie [Thu, 13 Jun 2024 05:21:58 +0000 (12:21 +0700)]
avcodec: encoder: fix channel_layout conditionals

Gbp-Pq: Name 0070-avcodec-encoder-fix-channel_layout-conditionals.patch

10 months agocodec: avcodec: map AYUV as RAWVIDEO with ffmpeg 6.0
François Cartegnie [Tue, 23 Apr 2024 06:13:30 +0000 (13:13 +0700)]
codec: avcodec: map AYUV as RAWVIDEO with ffmpeg 6.0

(cherry picked from commit 955ef939467a628eb8da08e0d5eaefc9a3484cba)

Gbp-Pq: Name 0069-codec-avcodec-map-AYUV-as-RAWVIDEO-with-ffmpeg-6.0.patch

10 months agoavcodec: use p_enc audio channels instead of context channels in encoder
Ilkka Ollakka [Tue, 4 Jul 2023 13:52:38 +0000 (16:52 +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)

Gbp-Pq: Name 0068-avcodec-use-p_enc-audio-channels-instead-of-context-.patch

10 months agoavcodec: audio decoder to use ch_layout
Ilkka Ollakka [Wed, 5 Jul 2023 10:33:09 +0000 (13:33 +0300)]
avcodec: audio decoder to use ch_layout

(cherry picked from commit 496f0f2a659c1339d1e37330d446e9b6ce96e76b)

Gbp-Pq: Name 0067-avcodec-audio-decoder-to-use-ch_layout.patch

10 months agoavcodec: use p_dec->fmt_out instead of context channels on audio channel-count
Ilkka Ollakka [Wed, 5 Jul 2023 09:51:34 +0000 (12:51 +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)

Gbp-Pq: Name 0066-avcodec-use-p_dec-fmt_out-instead-of-context-channel.patch

10 months agoavcodec: avoid signedness mismatch warning
Rémi Denis-Courmont [Sat, 5 May 2018 12:28:15 +0000 (15:28 +0300)]
avcodec: avoid signedness mismatch warning

Bitmask should be unsigned, but ffmpeg seems confused with itself.

(cherry picked from commit 8544233e7fde2965435e32a445494898440ecc30)

Gbp-Pq: Name 0065-avcodec-avoid-signedness-mismatch-warning.patch

10 months agohw/amf: let the AMF system know what version was used to compile
Steve Lhomme [Wed, 25 Sep 2024 09:37:02 +0000 (11:37 +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)

Gbp-Pq: Name 0064-hw-amf-let-the-AMF-system-know-what-version-was-used.patch

10 months agostream_extractor: set correct offset on read failure
Francois Cartegnie [Thu, 1 Jun 2023 10:44:52 +0000 (17:44 +0700)]
stream_extractor: set correct offset on read failure

(cherry picked from commit 9f160402e3ea835f1d242e8ca5af89c57a3a2583)

Gbp-Pq: Name 0063-stream_extractor-set-correct-offset-on-read-failure.patch

10 months agoarchive: fix the type used for libarchive_skip_cb
Steve Lhomme [Wed, 4 Jan 2023 13:51:51 +0000 (14:51 +0100)]
archive: fix the type used for libarchive_skip_cb

It is not using off_t.

(cherry picked from commit 5da9f85b186a69e5b64d83470b32b7fd19dbf943)

Gbp-Pq: Name 0062-archive-fix-the-type-used-for-libarchive_skip_cb.patch

10 months agoarchive: Add support for RAR 5.0 format
Johan Gunnarsson [Sat, 2 Nov 2019 23:23:00 +0000 (00:23 +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)

Gbp-Pq: Name 0061-archive-Add-support-for-RAR-5.0-format.patch

10 months agohw/amf: keep the AMF version in the context
Steve Lhomme [Tue, 3 Sep 2024 07:07:14 +0000 (09:07 +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)

Gbp-Pq: Name 0060-hw-amf-keep-the-AMF-version-in-the-context.patch

10 months agodemux: mkv: handle mkv-use-chapter-codec option
Steve Lhomme [Thu, 19 Sep 2024 08:30:06 +0000 (10:30 +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)

Gbp-Pq: Name 0059-demux-mkv-handle-mkv-use-chapter-codec-option.patch

10 months agodemux: mkv: write the actual extra data size in the ALAC extradata
Steve Lhomme [Mon, 5 Aug 2024 09:04:09 +0000 (11:04 +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)

Gbp-Pq: Name 0058-demux-mkv-write-the-actual-extra-data-size-in-the-AL.patch

10 months agodemux: mkv: fix link to ALAC documentation
Steve Lhomme [Mon, 5 Aug 2024 08:58:29 +0000 (10:58 +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)

Gbp-Pq: Name 0057-demux-mkv-fix-link-to-ALAC-documentation.patch

10 months agolua: don't use | operator on VLC errors
Steve Lhomme [Wed, 18 Sep 2024 10:57:04 +0000 (12:57 +0200)]
lua: don't use | operator on VLC errors

This could end up with unknown/invalid error values.

(cherry picked from commit 586b28f4aab1f936d666bd3dab7904793c3012d7)

Gbp-Pq: Name 0056-lua-don-t-use-operator-on-VLC-errors.patch

10 months agoTaglib: Use ID3v2Tag() instead of tag() for RIFF::WAV::File
Vikram Kangotra [Fri, 2 Feb 2024 21:22:52 +0000 (02:52 +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)

Gbp-Pq: Name 0055-Taglib-Use-ID3v2Tag-instead-of-tag-for-RIFF-WAV-File.patch

10 months agotaglib: remove VLC path define check
Johannes Kauffmann [Sat, 3 Jun 2023 15:35:09 +0000 (17:35 +0200)]
taglib: remove VLC path define check

It is no longer needed with contribs taglib updated to 1.13.

(cherry picked from commit c5851fd495ed6de1d3712e64a2b1cc1e4e9059f4)

Gbp-Pq: Name 0054-taglib-remove-VLC-path-define-check.patch

10 months agotaglib: don't cast the file st_size to a possibly smaller type
Steve Lhomme [Wed, 4 Jan 2023 14:24:47 +0000 (15:24 +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)

Gbp-Pq: Name 0053-taglib-don-t-cast-the-file-st_size-to-a-possibly-sma.patch

10 months agometa: taglib: use std::min
Marvin Scholz [Mon, 11 Apr 2022 21:21:25 +0000 (23:21 +0200)]
meta: taglib: use std::min

(cherry picked from commit 584fd17a9445d8d5f7d692b7416eec09b9240b0e)

Gbp-Pq: Name 0052-meta-taglib-use-std-min.patch

10 months agotaglib: Fix invalid version check
Hugo Beauzée-Luyssen [Fri, 18 Feb 2022 07:26:41 +0000 (08:26 +0100)]
taglib: Fix invalid version check

(cherry picked from commit 53260ca5ae906f1e35791d14e4b588d25c04e51b)

Gbp-Pq: Name 0051-taglib-Fix-invalid-version-check.patch

10 months agotaglib: Use nullptr instead of 0 for pointers
Hugo Beauzée-Luyssen [Wed, 9 Feb 2022 13:18:11 +0000 (14:18 +0100)]
taglib: Use nullptr instead of 0 for pointers

(cherry picked from commit 89e20ea0d87f414f763ce38ff5579aec61f71b42)

Gbp-Pq: Name 0050-taglib-Use-nullptr-instead-of-0-for-pointers.patch

10 months agotaglib: Implement new StreamTypeResolver interface when available
Hugo Beauzée-Luyssen [Wed, 9 Feb 2022 13:14:08 +0000 (14:14 +0100)]
taglib: Implement new StreamTypeResolver interface when available

refs #26602

(cherry picked from commit 268b5b8bc1f1109c4fc69b22e53095c6d81faa76) (rebased)

Gbp-Pq: Name 0049-taglib-Implement-new-StreamTypeResolver-interface-wh.patch

10 months agotaglib: Remove explicit invocation of default constructor
Hugo Beauzée-Luyssen [Wed, 16 Feb 2022 08:52:38 +0000 (09:52 +0100)]
taglib: Remove explicit invocation of default constructor

This is already done implicitly

(cherry picked from commit 93842f650548d6f29ec13cf0679bf49cf5ce107c)

Gbp-Pq: Name 0048-taglib-Remove-explicit-invocation-of-default-constru.patch

10 months agotaglib: Remove use of deprecated String::isNull
Hugo Beauzée-Luyssen [Fri, 26 Nov 2021 17:19:41 +0000 (18:19 +0100)]
taglib: Remove use of deprecated String::isNull

(cherry picked from commit c404fdb24183031a419667639846edddca3401f8) (edited)
edited:
294cbdbaee0209bc88ca7bec9164da8da4ac44ef was merged before this patch

Gbp-Pq: Name 0047-taglib-Remove-use-of-deprecated-String-isNull.patch

10 months agotaglib: Remove usages of deprecated itemListMap
Hugo Beauzée-Luyssen [Fri, 26 Nov 2021 17:17:19 +0000 (18:17 +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)

Gbp-Pq: Name 0046-taglib-Remove-usages-of-deprecated-itemListMap.patch

10 months agotaglib: ByteVector::null is now deprecated
Hugo Beauzée-Luyssen [Fri, 26 Nov 2021 17:08:47 +0000 (18:08 +0100)]
taglib: ByteVector::null is now deprecated

(cherry picked from commit d2663d6c3fe3af76bdefd58367b4a45c598b83e4)

Gbp-Pq: Name 0045-taglib-ByteVector-null-is-now-deprecated.patch

10 months agotaglib: Don't convert base64 strings to UTF8
Hugo Beauzée-Luyssen [Mon, 13 Sep 2021 10:08:53 +0000 (12:08 +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)

Gbp-Pq: Name 0044-taglib-Don-t-convert-base64-strings-to-UTF8.patch

10 months agotaglib: fix variable shadowing
Steve Lhomme [Fri, 25 Jun 2021 11:09:14 +0000 (13:09 +0200)]
taglib: fix variable shadowing

list is already a different local list defined earlier in the function.

(cherry picked from commit 34ca2a286edda76a9718cfa1e50bd3e4ea51702c)

Gbp-Pq: Name 0043-taglib-fix-variable-shadowing.patch

10 months agometa: taglib: reject non expected schemes
François Cartegnie [Wed, 2 Sep 2020 14:53:13 +0000 (16:53 +0200)]
meta: taglib: reject non expected schemes

refs #25035

(cherry picked from commit 8191ac5727a3525a6bee99e1674167a7894f9ccb) (rebased)
rebased:
- 3.0 already has a26e2ba370d898dda04c718176af7d2e329dab7a above

Gbp-Pq: Name 0042-meta-taglib-reject-non-expected-schemes.patch

10 months agometa_engine: taglib: restrict unlimited reads on streams
François Cartegnie [Mon, 10 Aug 2020 12:55:02 +0000 (14:55 +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

Gbp-Pq: Name 0041-meta_engine-taglib-restrict-unlimited-reads-on-strea.patch

10 months agometa_engine: taglib: add sequential read limit on VlcIostream
François Cartegnie [Mon, 10 Aug 2020 12:52:11 +0000 (14:52 +0200)]
meta_engine: taglib: add sequential read limit on VlcIostream

(cherry picked from commit d375284a144e6b18896deda3a86b9560bc04f3d8) (rebased)
rebased:
- 3.0 already has 1.11 ifdef

Gbp-Pq: Name 0040-meta_engine-taglib-add-sequential-read-limit-on-VlcI.patch

10 months agometa_engine: taglib: reject read on failed seek
François Cartegnie [Mon, 10 Aug 2020 12:38:00 +0000 (14:38 +0200)]
meta_engine: taglib: reject read on failed seek

(cherry picked from commit 837b583e4e4e531ff8b11f13300c7cbc565beb9f) (rebased)
rebased:
- 3.0 already has 1.11 ifdef

Gbp-Pq: Name 0039-meta_engine-taglib-reject-read-on-failed-seek.patch

10 months agometa_engine: taglib: increment VlcIostream readpos
François Cartegnie [Mon, 10 Aug 2020 12:32:32 +0000 (14:32 +0200)]
meta_engine: taglib: increment VlcIostream readpos

(cherry picked from commit 0cbcf504b43a02ddb7ecc1c65c0c1e82f39b4f1c)

Gbp-Pq: Name 0038-meta_engine-taglib-increment-VlcIostream-readpos.patch

10 months agotaglib: fix -Wdeprecated-copy warnings
Alexandre Janniaux [Fri, 7 Feb 2020 22:50:00 +0000 (23:50 +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)

Gbp-Pq: Name 0037-taglib-fix-Wdeprecated-copy-warnings.patch

10 months agotaglib: Enable prefetch/cache on the IOStream
Hugo Beauzée-Luyssen [Tue, 8 Oct 2019 15:21:20 +0000 (17:21 +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)

Gbp-Pq: Name 0036-taglib-Enable-prefetch-cache-on-the-IOStream.patch

10 months agotaglib: Always use IOStream to read the media
Steve Lhomme [Mon, 16 Sep 2024 11:21:17 +0000 (13:21 +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

Gbp-Pq: Name 0035-taglib-Always-use-IOStream-to-read-the-media.patch

10 months agotaglib: IOStream: Return the url as fileName
Hugo Beauzée-Luyssen [Mon, 18 Mar 2019 14:09:39 +0000 (15:09 +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)

Gbp-Pq: Name 0034-taglib-IOStream-Return-the-url-as-fileName.patch

10 months agomodules: taglib: simplify reading embedded art
François Cartegnie [Mon, 5 Aug 2019 13:24:45 +0000 (15:24 +0200)]
modules: taglib: simplify reading embedded art

(cherry picked from commit 3533f90eb44398abe6cff1b14ece757654449acf) (rebased)
rebased:
294cbdbaee0209bc88ca7bec9164da8da4ac44ef has been merged above

Gbp-Pq: Name 0033-modules-taglib-simplify-reading-embedded-art.patch

10 months agotaglib: .m4v are already registered as MP4 files
Hugo Beauzée-Luyssen [Thu, 7 Feb 2019 16:58:11 +0000 (17:58 +0100)]
taglib: .m4v are already registered as MP4 files

https://github.com/taglib/taglib/pull/662
(cherry picked from commit 84962e474bfefa242527f7c3ddffe6ed4f697fbe) (rebased)

Gbp-Pq: Name 0032-taglib-.m4v-are-already-registered-as-MP4-files.patch

10 months agoaom: make BGR matching stricter
Tristan Matthews [Mon, 9 Sep 2024 21:27:24 +0000 (17:27 -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)

Gbp-Pq: Name 0031-aom-make-BGR-matching-stricter.patch

10 months agopacketizer: dts: check for frame_size for the first sync
Thomas Guillem [Wed, 11 Sep 2024 06:16:36 +0000 (08:16 +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>
Gbp-Pq: Name 0030-packetizer-dts-check-for-frame_size-for-the-first-sy.patch

10 months agodts_header: initialize SUBSTREAM_LBR size to 0
Thomas Guillem [Wed, 11 Sep 2024 06:15:52 +0000 (08:15 +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>
Gbp-Pq: Name 0029-dts_header-initialize-SUBSTREAM_LBR-size-to-0.patch

10 months agodav1d: add dav1d-all-layers flag
Tristan Matthews [Thu, 5 Sep 2024 14:21:11 +0000 (10:21 -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)

Gbp-Pq: Name 0028-dav1d-add-dav1d-all-layers-flag.patch

10 months agodav1d: treat RGB formats separately
Tristan Matthews [Sat, 31 Aug 2024 16:58:27 +0000 (12:58 -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)

Gbp-Pq: Name 0027-dav1d-treat-RGB-formats-separately.patch

10 months agoUse `vlc_fourcc_GetCodec` to map XVID to MP4V
Mangal Kushwah [Sat, 31 Aug 2024 11:15:07 +0000 (16:45 +0530)]
Use `vlc_fourcc_GetCodec` to map XVID to MP4V

Gbp-Pq: Name 0026-Use-vlc_fourcc_GetCodec-to-map-XVID-to-MP4V.patch

10 months agocodec: videotoolbox: remove sw decoder fallback for mp4v
Mangal Kushwah [Fri, 9 Aug 2024 14:00:05 +0000 (19:30 +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)

Gbp-Pq: Name 0025-codec-videotoolbox-remove-sw-decoder-fallback-for-mp.patch

10 months agodemux: AVI insert packetizer for XVID MPEG-4 video
Mangal Kushwah [Thu, 8 Aug 2024 16:00:19 +0000 (21:30 +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)

Gbp-Pq: Name 0024-demux-AVI-insert-packetizer-for-XVID-MPEG-4-video.patch