mirror of
https://github.com/sharpemu/ffmpeg-core.git
synced 2026-10-08 16:22:43 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b502d4ed7 | ||
|
|
aacc319a34 | ||
|
|
36ec5ae5ab | ||
|
|
c92df7bad4 |
No files matched your search
@@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
- build: windows
|
||||
os: windows-latest
|
||||
triplet: win-llvm-static-release
|
||||
triplet: win-llvm-dynamic-release
|
||||
vcpkg-root: C:\vcpkg
|
||||
extra-args: --overlay-triplets=./triplets
|
||||
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
os: macos-latest
|
||||
triplet: osx-release
|
||||
vcpkg-root: /Users/runner/vcpkg
|
||||
extra-args: ""
|
||||
extra-args: --overlay-triplets=./triplets
|
||||
|
||||
- build: macos
|
||||
os: macos-latest
|
||||
@@ -140,7 +140,13 @@ jobs:
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ffmpeg-${{ matrix.build }}-${{ matrix.arch }}
|
||||
path: ${{ matrix.vcpkg-root }}/packages/ffmpeg_${{ matrix.arch }}-${{ matrix.triplet }}/lib
|
||||
# Dynamic-linkage triplets put the actual runtime library in bin/
|
||||
# on Windows (.dll; lib/ only has the .lib import stub) and in
|
||||
# lib/ on Linux/macOS (.so/.dylib); include both so whichever
|
||||
# applies is captured.
|
||||
path: |
|
||||
${{ matrix.vcpkg-root }}/packages/ffmpeg_${{ matrix.arch }}-${{ matrix.triplet }}/lib
|
||||
${{ matrix.vcpkg-root }}/packages/ffmpeg_${{ matrix.arch }}-${{ matrix.triplet }}/bin
|
||||
if: ${{ always() }}
|
||||
|
||||
create-release:
|
||||
|
||||
+6
-5
@@ -34,7 +34,7 @@ index e15541e..0f73bf8 100644
|
||||
)
|
||||
|
||||
if(SOURCE_PATH MATCHES " ")
|
||||
@@ -30,7 +31,26 @@ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQU
|
||||
@@ -30,7 +31,27 @@ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQU
|
||||
vcpkg_add_to_path("${NASM_EXE_PATH}")
|
||||
endif()
|
||||
|
||||
@@ -48,14 +48,15 @@ index e15541e..0f73bf8 100644
|
||||
+# Only enable what is used by SharpEmu
|
||||
+string(APPEND OPTIONS " --disable-everything")
|
||||
+string(APPEND OPTIONS " --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=atrac3 --enable-decoder=atrac3p --enable-decoder=atrac9 --enable-decoder=bink --enable-decoder=bink2 --enable-decoder=binkaudio_dct --enable-decoder=binkaudio_rdft --enable-decoder=mp3 --enable-decoder=pcm_s16le --enable-decoder=pcm_s8")
|
||||
+string(APPEND OPTIONS " --enable-decoder=mov --enable-decoder=h264 --enable-decoder=mpeg4 --enable-decoder=mpeg2video --enable-decoder=mjpeg --enable-decoder=mjpegb")
|
||||
+string(APPEND OPTIONS " --enable-decoder=mov --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=mpeg4 --enable-decoder=mpeg2video --enable-decoder=mjpeg --enable-decoder=mjpegb")
|
||||
+string(APPEND OPTIONS " --enable-encoder=pcm_s16le")
|
||||
+string(APPEND OPTIONS " --enable-encoder=ffv1 --enable-encoder=mpeg4 --enable-encoder=mjpeg")
|
||||
+string(APPEND OPTIONS " --enable-encoder=ffv1 --enable-encoder=mpeg4 --enable-encoder=ljpeg --enable-encoder=mjpeg")
|
||||
+string(APPEND OPTIONS " --enable-muxer=avi")
|
||||
+string(APPEND OPTIONS " --enable-demuxer=bink --enable-demuxer=h264 --enable-demuxer=m4v --enable-demuxer=mp3 --enable-demuxer=mpegvideo --enable-demuxer=mpegps --enable-demuxer=mjpeg --enable-demuxer=mov --enable-demuxer=avi --enable-demuxer=aac --enable-demuxer=pmp --enable-demuxer=oma --enable-demuxer=pcm_s16le --enable-demuxer=pcm_s8 --enable-demuxer=wav")
|
||||
+string(APPEND OPTIONS " --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=mpegaudio --enable-parser=mpegvideo --enable-parser=mjpeg --enable-parser=aac --enable-parser=aac_latm")
|
||||
+string(APPEND OPTIONS " --enable-demuxer=bink --enable-demuxer=h265 --enable-demuxer=h264 --enable-demuxer=m4v --enable-demuxer=mp3 --enable-demuxer=mpegvideo --enable-demuxer=mpegps --enable-demuxer=mjpeg --enable-demuxer=mov --enable-demuxer=avi --enable-demuxer=aac --enable-demuxer=pmp --enable-demuxer=oma --enable-demuxer=pcm_s16le --enable-demuxer=pcm_s8 --enable-demuxer=wav")
|
||||
+string(APPEND OPTIONS " --enable-parser=h264 --enable-parser=hevc --enable-parser=mpeg4video --enable-parser=mpegaudio --enable-parser=mpegvideo --enable-parser=mjpeg --enable-parser=aac --enable-parser=aac_latm")
|
||||
+string(APPEND OPTIONS " --enable-protocol=file")
|
||||
+string(APPEND OPTIONS " --enable-bsf=mjpeg2jpeg")
|
||||
+string(APPEND OPTIONS " --enable-indev=dshow")
|
||||
+if(VCPKG_TARGET_IS_MINGW)
|
||||
+ string(APPEND OPTIONS " --target-os=mingw32")
|
||||
+endif()
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# Overlay of vcpkg's community arm64-osx-release triplet, switched to
|
||||
# dynamic linkage: SharpEmu P/Invokes directly into these .dylib files at
|
||||
# runtime instead of linking them into its own bridge.
|
||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
|
||||
set(VCPKG_OSX_ARCHITECTURES arm64)
|
||||
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
@@ -0,0 +1,26 @@
|
||||
# Dynamic-linkage counterpart of arm64-win-llvm-static-release.cmake.
|
||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_CRT_LINKAGE static)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
|
||||
## Toolchain setup
|
||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/x64-win-llvm.toolchain.cmake")
|
||||
set(VCPKG_LOAD_VCVARS_ENV ON) # Setting VCPKG_CHAINLOAD_TOOLCHAIN_FILE deactivates automatic vcvars setup so reenable it!
|
||||
|
||||
if(DEFINED VCPKG_PLATFORM_TOOLSET)
|
||||
set(VCPKG_PLATFORM_TOOLSET ClangCL)
|
||||
endif()
|
||||
set(VCPKG_ENV_PASSTHROUGH_UNTRACKED "LLVMInstallDir;LLVMToolsVersion") # For the ClangCL toolset
|
||||
# set(VCPKG_QT_TARGET_MKSPEC win32-clang-msvc) # For Qt5
|
||||
|
||||
## Policy settings
|
||||
set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled)
|
||||
set(VCPKG_POLICY_SKIP_DUMPBIN_CHECKS enabled)
|
||||
|
||||
set(VCPKG_CMAKE_CONFIGURE_OPTIONS
|
||||
"-DCMAKE_TRY_COMPILE_CONFIGURATION=Release"
|
||||
)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/extra_setup.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/port_specialization.cmake")
|
||||
@@ -1,6 +1,6 @@
|
||||
set(VCPKG_TARGET_ARCHITECTURE arm64 x86_64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE static)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
|
||||
set(VCPKG_OSX_ARCHITECTURES arm64 x86_64)
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
# Overlay of vcpkg's community x64-linux-release triplet. These static
|
||||
# libraries get linked into a shared library (SharpEmu's
|
||||
# sharpemu_bink2_bridge.c), which the ELF format requires -fPIC for -- the
|
||||
# stock triplet doesn't set it, since it assumes linking into a standalone
|
||||
# executable instead.
|
||||
# Overlay of vcpkg's community x64-linux-release triplet, switched to
|
||||
# dynamic linkage: SharpEmu P/Invokes directly into these .so files at
|
||||
# runtime instead of linking them into its own bridge, so a real shared
|
||||
# object is what's needed here, not a static archive.
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE static)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
|
||||
set(VCPKG_C_FLAGS "-fPIC")
|
||||
set(VCPKG_CXX_FLAGS "-fPIC")
|
||||
@@ -0,0 +1,10 @@
|
||||
# Overlay of vcpkg's community x64-osx-release triplet, switched to dynamic
|
||||
# linkage: SharpEmu P/Invokes directly into these .dylib files at runtime
|
||||
# instead of linking them into its own bridge.
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
|
||||
set(VCPKG_OSX_ARCHITECTURES x86_64)
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
@@ -0,0 +1,29 @@
|
||||
# Dynamic-linkage counterpart of x64-win-llvm-static-release.cmake. SharpEmu
|
||||
# P/Invokes directly into these FFmpeg DLLs at runtime instead of statically
|
||||
# linking them into its own bridge, so it needs real .dll files here, not
|
||||
# .lib static archives.
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
set(VCPKG_CRT_LINKAGE static)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
|
||||
## Toolchain setup
|
||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/x64-win-llvm.toolchain.cmake")
|
||||
set(VCPKG_LOAD_VCVARS_ENV ON) # Setting VCPKG_CHAINLOAD_TOOLCHAIN_FILE deactivates automatic vcvars setup so reenable it!
|
||||
|
||||
if(DEFINED VCPKG_PLATFORM_TOOLSET)
|
||||
set(VCPKG_PLATFORM_TOOLSET ClangCL)
|
||||
endif()
|
||||
set(VCPKG_ENV_PASSTHROUGH_UNTRACKED "LLVMInstallDir;LLVMToolsVersion") # For the ClangCL toolset
|
||||
set(VCPKG_QT_TARGET_MKSPEC win32-clang-msvc) # For Qt5
|
||||
|
||||
## Policy settings
|
||||
set(VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK enabled)
|
||||
set(VCPKG_POLICY_SKIP_DUMPBIN_CHECKS enabled)
|
||||
|
||||
set(VCPKG_CMAKE_CONFIGURE_OPTIONS
|
||||
"-DCMAKE_TRY_COMPILE_CONFIGURATION=Release"
|
||||
)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/extra_setup.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/x64-win-llvm/port_specialization.cmake")
|
||||
Reference in new issue
Block a user