mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-27 13:26:52 +01:00
Bundle FFmpeg
This commit is contained in:
@@ -304,15 +304,9 @@ jobs:
|
|||||||
clang \
|
clang \
|
||||||
glslang-tools \
|
glslang-tools \
|
||||||
libasound2-dev \
|
libasound2-dev \
|
||||||
libavcodec-dev \
|
|
||||||
libavfilter-dev \
|
|
||||||
libavformat-dev \
|
|
||||||
libavutil-dev \
|
|
||||||
libdbus-1-dev \
|
libdbus-1-dev \
|
||||||
libgl1-mesa-dev \
|
libgl1-mesa-dev \
|
||||||
libpulse-dev \
|
libpulse-dev \
|
||||||
libswresample-dev \
|
|
||||||
libswscale-dev \
|
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
libwayland-dev \
|
libwayland-dev \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@
|
|||||||
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
||||||
[submodule "3rdparty/ffmpeg-core"]
|
[submodule "3rdparty/ffmpeg-core"]
|
||||||
path = 3rdparty/ffmpeg-core
|
path = 3rdparty/ffmpeg-core
|
||||||
url = https://github.com/shadps4-emu/ext-ffmpeg-core.git
|
url = https://github.com/KytyPS5/ext-ffmpeg-core.git
|
||||||
shallow = true
|
shallow = true
|
||||||
[submodule "3rdparty/fmt"]
|
[submodule "3rdparty/fmt"]
|
||||||
path = 3rdparty/fmt
|
path = 3rdparty/fmt
|
||||||
|
|||||||
Vendored
-7
@@ -88,13 +88,6 @@ set(SPDLOG_FMT_EXTERNAL ON CACHE BOOL "" FORCE)
|
|||||||
set(SPDLOG_NO_EXCEPTIONS ON CACHE BOOL "" FORCE)
|
set(SPDLOG_NO_EXCEPTIONS ON CACHE BOOL "" FORCE)
|
||||||
add_subdirectory(spdlog EXCLUDE_FROM_ALL)
|
add_subdirectory(spdlog EXCLUDE_FROM_ALL)
|
||||||
|
|
||||||
if (NOT TARGET FFmpeg::ffmpeg AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
find_package(PkgConfig REQUIRED)
|
|
||||||
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET GLOBAL
|
|
||||||
libavformat libavcodec libswscale libavutil libavfilter libswresample)
|
|
||||||
add_library(FFmpeg::ffmpeg ALIAS PkgConfig::FFMPEG)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT TARGET FFmpeg::ffmpeg)
|
if (NOT TARGET FFmpeg::ffmpeg)
|
||||||
# On macOS the target arch is driven by CMAKE_OSX_ARCHITECTURES, not the host
|
# On macOS the target arch is driven by CMAKE_OSX_ARCHITECTURES, not the host
|
||||||
# CMAKE_SYSTEM_PROCESSOR (which reports arm64 even for an x86_64/Rosetta build).
|
# CMAKE_SYSTEM_PROCESSOR (which reports arm64 even for an x86_64/Rosetta build).
|
||||||
|
|||||||
Vendored
+1
-1
Submodule 3rdparty/ffmpeg-core updated: 94dde08c8a...9ac4cfd195
@@ -165,14 +165,13 @@ The finished application and its runtime dependencies will be placed in
|
|||||||
|
|
||||||
### Building on Linux
|
### Building on Linux
|
||||||
|
|
||||||
Install the toolchain, system FFmpeg, and the libraries the bundled SDL2 needs. Without the audio, Wayland and
|
Install the toolchain and the libraries the bundled SDL2 needs. Without the audio, Wayland and
|
||||||
udev development packages SDL2 quietly configures itself without those backends, and the resulting
|
udev development packages SDL2 quietly configures itself without those backends, and the resulting
|
||||||
build has no working sound and no gamepad hotplug:
|
build has no working sound and no gamepad hotplug:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install --no-install-recommends \
|
sudo apt-get install --no-install-recommends \
|
||||||
clang lld ninja-build cmake git glslang-tools pkg-config \
|
clang lld ninja-build cmake git glslang-tools pkg-config \
|
||||||
libavformat-dev libavcodec-dev libswscale-dev libavutil-dev libavfilter-dev libswresample-dev \
|
|
||||||
libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev \
|
libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev \
|
||||||
libxi-dev libxrandr-dev libxss-dev libxkbcommon-dev \
|
libxi-dev libxrandr-dev libxss-dev libxkbcommon-dev \
|
||||||
libasound2-dev libpulse-dev libudev-dev libdbus-1-dev libwayland-dev wayland-protocols
|
libasound2-dev libpulse-dev libudev-dev libdbus-1-dev libwayland-dev wayland-protocols
|
||||||
@@ -193,8 +192,9 @@ cmake --install _Build/linux --prefix _Build/linux/install
|
|||||||
```
|
```
|
||||||
|
|
||||||
The install step copies the Qt libraries and plugins next to the binaries, so
|
The install step copies the Qt libraries and plugins next to the binaries, so
|
||||||
`_Build/linux/install` runs without a matching system Qt. The emulator still requires
|
`_Build/linux/install` runs without a matching system Qt. FFmpeg is linked statically
|
||||||
the system FFmpeg runtime libraries matching those used to build it.
|
from the pinned [KytyPS5 FFmpeg core](https://github.com/KytyPS5/ext-ffmpeg-core)
|
||||||
|
release, including VP9 and WebM support. System FFmpeg packages are not required.
|
||||||
|
|
||||||
As on Windows, the MSVC compiler is not used; Clang is required. `cl.exe` is rejected at configure
|
As on Windows, the MSVC compiler is not used; Clang is required. `cl.exe` is rejected at configure
|
||||||
time.
|
time.
|
||||||
|
|||||||
Reference in New Issue
Block a user