Commit Graph

18 Commits

Author SHA1 Message Date
Pavel Dubsky
58db36e43c Update provisioning script to build FFmpeg for Windows ARM64
Fixes: QTBUG-122745
Pick-to: 6.5
Change-Id: Ib03484ac89f07d7ad6433b0035769f4a9363495b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit befe4a61d6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-04-21 19:01:32 +00:00
Artem Dyomin
708ffa68a7 Update ffmpeg: explicitly refer to the latest release 6.1.1
Pick-to: 6.6 6.5
Change-Id: I231c5cdc6155de0d1ea98220a90ecc0f910b34d6
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 45220efb3a)
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-23 07:51:58 +00:00
Artem Dyomin
37aed11625 Enable ffmpeg shared libs shipping for Windows targets
We have to replace static linkage with dynamic one due to
licensing issues.

The related patch in QtMM
codereview.qt-project.org/c/qt/qtmultimedia/+/523405
introduces cmake var QT_DEPLOY_FFMPEG that enables deployment
of ffmpeg shared libs to the installation lib dir or
the build lib dir (for dev builds).

These are build/tests results for the current CR
together with the patch in QtMM
testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/web_rescheduled_qt_qtmultimedia_1703082976669

The related patch
codereview.qt-project.org/c/qt/qtbase/+/525100
fixes the deployment tool on Windows.

The plan is to have the set of changes for Windows in
6.5.4, 6.6.2, 6.7.0.

It was agreed that we want to backport shared ffmpeg to 6.6 and 6.5.

Pick-to: 6.6 6.5
Change-Id: Ie4d8621a98fb93715c32e49c830bfd715ed0e8a5
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 0fe99775c0)
2024-02-18 14:45:21 +00:00
Artem Dyomin
1cf5b24dc2 Update ffmpeg n6.0 -> n6.1 on Windows
The update will go tohether with dynamic ffmpeg build on Windows.

Pick-to: 6.6 6.5
Change-Id: I7a72d4009c8a8e4030899b526bad9cfedd6f45a7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 483694d725)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-02-10 08:21:15 +00:00
Elias Toivola
bf09d0fe5b Update Android NDK to version r26b
Revision 26.1.10909125. Also prebuilt OpenSSL 3.0.7 with it.

Task-number: QTQAINFRA-5771
Change-Id: I0dbe1f2d38f277bcb805f5b7ac1f30e25aabd1f8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
(cherry picked from commit 782e1700cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-12-23 21:30:03 +00:00
Bartlomiej Moskal
65101a61e6 Coin: Enable openssl for Android FFmpeg install script
The FFmpeg library should use dynamically linked OpenSSL. To make it
possible --enable-openssl flag need to be set. Additionally correct path
for OpenSSL need to be passed to FFmpeg configuration script.

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: Id887c2c4083663a674123a0f0003b44661149116
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-22 10:54:58 +01:00
Elias Toivola
b3d10251b4 Fix cache URLs and add missing cache files
The missing files were downloaded from their external source and placed in their directories of the cache URLs. Files: FFmpeg-n6.0.tar.gz, Postgres-2.5-14.dmg, protobuf-all-21.9.zip, MimerSQLInstaller_x64_1107b.exe, FFmpeg-n6.0.zip, msys2-base-x86_64-20220319.tar.xz, python-3.10.0-amd64.exe, python-2.7.13.msi, mimersqlsrv_11.0_amd64-openssl3.deb, mimersqlsrv-11.0.x86_64-openssl3.rpm, MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3.7z

Task-number: QTQAINFRA-5766
Change-Id: Ieacdc9138b71969397d900096956f54faff45918
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-09-14 05:04:44 +00:00
Artem Dyomin
d16fb16c53 Disable vulkan and v4l2m2m for ffmpeg builds
Vulkan:
FFmpeg has a very draft support of vulkan in n5.x and n6.0,
it's promised to be introduced with some working functionality in n6.1.
We'll wait for 6.1, then test it. For now, let's get rid of the extra
dependency.

v4l2m2m:
It's a prospective hw acceleration on linux, especially on embeddded
platforms, but currently, in my experiments, it's not working with
both QtMM and ffmpeg cmd line.
Let's get rid of the not working codec. Hopefully, it'll be fixed
in the future.

Pick-to: 6.6 6.5
Change-Id: I2468f84ae2ec54043d2db83f1a9c08be8e4f509d
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-08-17 11:33:29 +00:00
Jøger Hansegård
c4d26fe1d2 Enable rebuilding FFMPEG for MSVC without deleting lib files first
To simplify testing modifications to the FFMPEG library, it is nice to
be able to rebuild FFMPEG without having to manually delete lib files
first. This change makes this possible because it uses powershell
Move-Item instead of Rename-Item to rename .o files to .lib files.
Move-Item's -Force argument allows renaming files to destination that
already exists.

Pick-to: 6.5 6.6
Change-Id: I0a56776d38c37d38d1cd74b5186881fc955d51f0
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-06-24 15:29:41 +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
Samuel Mira
2751db4d29 Fix FFmpeg provisioning for Android armv7a
Altered install-ffmpeg.ps1 script to build android armv7a archicture

Task-number: QTQAINFRA-5476
Pick-to: 6.5
Change-Id: I5179174c8676a3016df2922c00030e9d45a9009c
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-05-16 18:35:23 +02:00
Alexey Edelev
84df93d37e Uninify MSVC version that is used in provisioning
We pick the oldest build tools we can find because there is lower
chance that the produced binaries will be incomaptible with the newer
version of MSVC.

With the current provisioning design we also cannot change the MSVC
version for the each package on demand. Once Enter-VsDevShell is called
it litters the powershell environment and blocks the use of
Enter-VsDevShell second time. It could be better to run each .ps1 file
in own instance of powershell to avoid mixing build environment.

Amends f58afd5476

Pick-to: 6.5
Change-Id: Ie752cfc8b69ed985e61ec16209007dd586611866
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2023-05-16 18:35:23 +02: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
Pavel Dubsky
f58afd5476 Use vswhere to find the location of Visual Studio
vswhere tool is included since Visual Studio 2017 and is always located
at the same path thus making it a more convenient way to find Visual
Studio install directory.

Pick-to: 6.5
Change-Id: I680af8f88779841108b436223b4667f8a7c91aba
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-03-12 15:59:15 +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
Artem Dyomin
5ef8294f3f Enable llvm-mingw ffmpeg windows build
- Added build of ffmpeg for llvm-mingw
- Improved build errors handling
- Refactoring: decompose script into a few functions

Build example:
https://testresults.qt.io/coin/integration/qt/qt5/tasks/web_qt_qt5_1668780311363
See tests for LLVM-x64, they passed

Pick-to: 6.4
Change-Id: I59fe28ba6eb8e65ef5c4c3d08343ff72f349bd21
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-11-24 09:53:57 +01:00
Piotr Srebrny
a273e9f11c Provision FFmpeg library for QtMultimedia plugin
One of the QtMultimedia backends is implemented using FFmpeg.
This provisioning enables building and testing of this backend.

Change-Id: Ia196c2ae4b457aa6b8e3ee8e0f367197aadfe0d9
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-06-13 09:56:56 +02:00