Commit Graph

32 Commits

Author SHA1 Message Date
Pavel Dubsky
21c39aa759 Update FFmpeg version to n7.1
Task-number: QTBUG-129510
Pick-to: 6.5
Change-Id: I15a801c0c0568b26486e5bb2065a1d0d1d151951
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 154b41a260)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 22b3565849)
2024-12-28 20:57:42 +00:00
Artem Dyomin
de62c92b28 Replace static FFmpeg build with shared on rhel8
On RHEL8, openssl1.x.x is default, and openssl3 pc files
are with the suffix "3", so FFmpeg cannot find them.

The patch fixes pc files so that ffmpeg can find them.

Task-number: QTBUG-130257
Change-Id: I5a95daae0a78aadede109535b2823483bfcbc09d
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 6cd74e132a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Pavel Dubsky
2007bdb634 Update FFmpeg version to n7.0.2
Task-number: QTBUG-127868
Pick-to: 6.7 6.5
Change-Id: I95f8f021cd23fdb35eb171d4609bf204878e105d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit f2535cdcef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-18 18:06:33 +00:00
Pavel Dubsky
21a8e07fb3 Update FFmpeg version to n7.0.1
Fixes: QTBUG-126687
Pick-to: 6.7 6.5
Change-Id: I327a33a65aaa0285a93fa228f47d6914623f8d3d
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit a68d7302cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-27 09:11:15 +00:00
Pavel Dubsky
66bcdbd0b3 Use single installation archive for FFmpeg provisioning on all platforms
Fixes: QTBUG-125955
Change-Id: Ibfa97e3d765eb3c4ff5613004bc881e49ddf10e9
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 49c03849e3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-11 22:54:09 +00:00
Bartlomiej Moskal
d35d6de212 Coin: Move fix_ffmpeg_dependencies.sh to shared directory
Move fix_ffmpeg_dependencies.sh script from "linux" to "shared"
directory.

The script will be used on macOS but also on Windows (using MSYS2)

Task-number: QTBUG-122010
Change-Id: If63d5e3ba7562b230cce26c7bfba728a2ae0a382
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b6c6812798)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:50 +00:00
Artem Dyomin
d34850071d Install patchelf on RHEL
Patchelf is needed for fixing FFmpeg dependencies,
the previous CR reveals details.
Patchelf is not available in the standard package manager on RHEL,
let's install it from sources.

Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 49b0435e7e)
2024-06-25 04:19:32 +00:00
Volker Hilsheimer
ac2a19ab7e Build shared FFmpeg on Linux and set dependencies to stubs
Task-number: QTBUG-120990
Change-Id: I8fccf8ef58cf6334e71287450ee30cc2256516d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 83adc86c53)
2024-06-25 06:19:28 +02:00
Pavel Dubsky
d4046310f8 Update FFmpeg version to n7.0
Fixes: QTBUG-124482
Pick-to: 6.7 6.5
Change-Id: I69727981344d935151f19148960c711b65cb2307
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit eb8bbfe971)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:19 +00:00
Tony Sarajärvi
f074859391 Fix shellcheck problems
Change-Id: I277fd923f62aa5888d7e18c89471909732da30e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-04-28 06:06:50 +00:00
Artem Dyomin
a53b63019f Implement dynamical ffmpeg linking on macOS
* fix dependencies and install names (absolute => relative)
* fix compilation build of dylib on xcode 15.
* add matching build instructions to yaml.
* old macos versions don't have 'realpath', workaround is used.

Task-number: QTBUG-120989
Pick-to: 6.7 6.6 6.5
Change-Id: I22e413d8f6d05c8c7d6d09a5926691216e781fd3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-03-13 11:54:46 +00:00
Artem Dyomin
45220efb3a Update ffmpeg: explicitly refer to the latest release 6.1.1
Pick-to: 6.7 6.6 6.5
Change-Id: I231c5cdc6155de0d1ea98220a90ecc0f910b34d6
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-21 13:27:56 +00:00
Artem Dyomin
9fa918c129 Update ffmpeg to n6.1 for Linux and macOS
FFmpeg version was between n6.0 and n6.1 due to some hot fix
for having it compilable on CI. Since n6.1 has been release,
we should update.

Pick-to: 6.7 6.6 6.5
Change-Id: I0d88599be53748eeb038287abe8aad6c0f189933
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-02 07:23:14 +00:00
Elias Toivola
8e8af54d12 Provisioning: Remove macOS 11 and bump minimum targets to 12
Drop macOS 11 out from dev (6.8) branch as it is EOL or very near it. This removes macOS 11 test configurations and bumps macOS targets to
12 in provision scripts.

Task-number: QTQAINFRA-6009
Change-Id: I2ea2764fb4a14eb508e39330acfc0947b94343fc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-01-31 05:21:31 +00:00
Heikki Halmet
4067395aee Provisioning: Upgrade ffmeg version to fix make issue with SLES
Version points to commit:
c5039e158d20e85d4d8a2dee3160533d627b839a

This commit is the latest one in 6.0 branch. This way we'll get
fix also for https://fftrac-bg.ffmpeg.org/ticket/10405

Version should be changed to official release
when the next official release is available.

Pick-to: 6.6
Task-number: QTQAINFRA-5912
Change-Id: I4e7acea5a54ce692334c7fe22ba074791c94cf03
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-10-27 18:55:12 +00:00
Elias Toivola
bbbe558077 Fix FFmpeg nv-codec file SHA and cache
External URL file SHA changed and the cache file didn't exist.

Pick-to: 6.6 6.6.0 6.5 6.5.3
Task-number: QTQAINFRA-5862
Change-Id: Ib4670d367d6541e67eb54dd3fb84079548b13722
Reviewed-by: Liang Qi <liang.qi@qt.io>
2023-09-30 10:24:34 +03:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Artem Dyomin
7300099520 Add openssl to ffmpeg linux builds
We need ffmpeg+openssl to enable multimedia networking.
We kept it disabled on linux since we had linking dependency.
The related patch in QtMM resolves openssl symbols dynamicaly
and address the mandatory dependency.

Pick-to: 6.5 6.6
Change-Id: Idad0618a5320ae32d50fe1f3866c4ffd1bf8f542
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-09-05 16:29:15 +00:00
Artem Dyomin
69c29b7584 Add nvcodec to the ffmpeg build
The patch enables nvidia hardware encoders/decoders.
It doesn't add new package dependencies, ffmpeg loads
required functionality in runtime if nvidia drivers have been
installed.

The change is coming together with implementation of hw devices precheck
in qtmultimedia.

Pick-to: 6.5 6.6
Change-Id: Id54a95b2bacf433950c7b50a42ff99136a143d98
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-08-25 10:54:34 +00:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Alexey Edelev
e1b7e865ec Disable openssl for ffmpeg library
Openssl library causes backward compatibility issues. We need to disable
it to make ffmpegmediaplugin work on all supported linux platforms.

Fixes: QTBUG-113324
Pick-to: 6.5 6.5.1
Change-Id: Ib266e2cf67e9336fb206735b8b2418fccd8f7b00
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-05-20 03:20:04 +02:00
Samuel Mira
99afe7199e Fix FFmpeg provisioning for Android in arm64, x86 and x86_64
Added install-ffmpeg-android script for the android cross-compile
Removed android stuff from install-ffmpeg
Changed the yaml variables to include the target arch
Added the arm64 target arch

Task-number: QTQAINFRA-5476
Pick-to: 6.5
Change-Id: Id9609ed0427f2fc42f7f27e7787a81ad145f59be
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-04-26 22:44:30 +00:00
Artem Dyomin
aed030bb90 Update ffmpeg version to n6.0
Checked the basic functionality on macOS, linux, and windows.
To be tested in detail.

Pick-to: 6.5
Change-Id: I109f52ab33d58088332a3885c83d622815edd22e
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-04-15 18:10:47 +00:00
Artem Dyomin
9b88e24d71 Enable network support for FFmpeg
This patch configures FFmpeg with network support. This enables QtMM
to handle network source such as HTTP, HTTPS, or RTSP.
Details:
- on macOS and windows ffmpeg uses native security backend so we don't
  include openssl to the build. Additional patch for linking
  with the security backend is in QtMM commit under the same task.
- on linux we add openssl; for all CI linux platforms libssl-dev is
  installed.

Task-number: QTBUG-110708
Pick-to: 6.5
Change-Id: I80a7dfda702c4d554df3a7380aac642890a28b94
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-03-12 15:59:17 +00:00
Samuel Mira
b9c2512748 Enable ffmpeg for Android
After ffmpeg was removed on Android targets following QTBUG-110172,
this patch enables it after fixing the failing test.

Task-number: QTBUG-110453
Pick-to: 6.4 6.5
Change-Id: I5598a9b72d06af6664455e933129a08192afac15
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-02-12 11:57:33 +00:00
Artem Dyomin
e5cf7b2d58 Fix missing ffmpeg for desktop Linux CI platforms
What's done:
- ffmpeg build added to OpenSuse platforms
- installing of yasm moved to packages install file in
  order to get rid of OS checkings

Pick-to: 6.5
Change-Id: I256f19a03e7f01d27923b083b63d9a6b6a5f29b4
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-24 09:22:06 +00:00
Artem Dyomin
0f8eccdfc5 Update ffmpeg version to 5.1 for desktop platforms
Some issues have been fixed in ffmpeg 5.1, e.g, with videotoolbox.
So the update at least fixes our playback
of some video formats on macos, e.g. provided in the related bug.

After the update I tested the basic functionality on windows,
linux, macOS, and run CI tests, which are OK.

Task-number: QTBUG-98102
Pick-to: 6.5 6.4
Change-Id: I72f45780e1c3983d6a1941db2b833b78784b90de
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-16 22:15:16 +01:00
Samuel Mira
f412e6f1d1 Provision FFmpeg library for Android
Pick-to: 6.4 6.5
Fixes: QTBUG-100474
Change-Id: I5cc6f645bd020628bc6a77d4a5d42575f4fcf979
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-11 09:48:20 +02:00
Alexey Edelev
c32a843766 Bump macOS minimum deployment target to 11 for 3rd party dependencies
3rd party dependencies should be built using the same minimum deployment
target as Qt uses for compatibility.

Change-Id: I2edb2c19b90757898f6dcb76ad60602ae2249ebc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-11-29 11:32:13 +01:00
Tor Arne Vestbø
ffd7bc3bd7 coin: Prepare for removing macOS 10.14 as a supported deployment target
Change-Id: I9fcee3df2d9bfeb8f920df8a30e3e1b556874fd4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-28 23:01:28 +00:00
Piotr Srebrny
51c663d171 Build static FFmpeg library on macOS
This patch modifies linux/ffmpeg-install.sh to work also for macOS.
The FFmpeg libraries are installed under /usr/local both for Linux
and macOS.

Since macOS x64 does not have the lzma lib for arm64 architecture
installed by default, I disable this libraries for FFmpeg. This
only affects the TIFF image decoder that we do not use.

Added the execute permission to the ubuntu scripts.

Change-Id: Ib8623c6a9bcdd24c89045ede0494839fb9cd2ecc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-07-28 09:56:16 +02:00