Skip to content

Commit

Permalink
Update ffmpeg to 5.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Macdu committed Apr 12, 2023
1 parent bf019f8 commit 4484546
Show file tree
Hide file tree
Showing 7,238 changed files with 10,612 additions and 1,729,913 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
61 changes: 61 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: C/C++ CI

on: [push]

jobs:

build:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
config: [Release]
include:
- os: ubuntu-latest
triplet: x64-linux-release
upload-path: /home/runner/.cache/vcpkg/archives
vcpkg-root: /usr/local/share/vcpkg
extra-args: ""
- os: windows-latest
triplet: x64-win-llvm-static-release
upload-path: C:\Users\runneradmin\AppData\Local\vcpkg\archives
vcpkg-root: C:\vcpkg
extra-args: --overlay-triplets=./triplets
- os: macos-latest
triplet: x64-osx-release
upload-path: /Users/runner/.cache/vcpkg/archives
vcpkg-root: /usr/local/share/vcpkg
extra-args: ""

steps:
- uses: actions/checkout@v3

- name: Set up build environment (macos-latest)
run: |
brew install nasm
if: matrix.os == 'macos-latest'

- name: Set up build environment (ubuntu-latest)
run: |
sudo apt -y install nasm
if: matrix.os == 'ubuntu-latest'

- name: Patch vcpkg
run: |
(cd ${{ matrix.vcpkg-root }} && git fetch origin)
(cd ${{ matrix.vcpkg-root }} && git reset --hard)
(cd ${{ matrix.vcpkg-root }} && git checkout 217194cea7e3491c14779c763beec50b6a4575d6)
(cd ${{ matrix.vcpkg-root }} && git apply --ignore-space-change --ignore-whitespace --3way ${{ github.workspace }}/ffmpeg.patch)
- name: Build ffmpeg
run: |
vcpkg ${{ matrix.extra-args }} install ffmpeg[avcodec,avfilter,avdevice,avformat,swresample,swscale]:${{ matrix.triplet }}
- uses: actions/upload-artifact@v3
with:
name: ffmpeg-${{ matrix.os }}
path: ${{ matrix.upload-path }}
if: ${{ always() }}

85 changes: 0 additions & 85 deletions .gitignore

This file was deleted.

70 changes: 30 additions & 40 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,37 @@ if (NOT DEFINED FFMPEG_CORE_NAME)
set(FFMPEG_CORE_NAME ffmpeg)
endif()

option(USE_SYSTEM_FFMPEG "Dynamically link against system ffmpeg" OFF)

add_library(${FFMPEG_CORE_NAME} INTERFACE)

target_include_directories(${FFMPEG_CORE_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
if(NOT USE_SYSTEM_FFMPEG)
if (WIN32 AND NOT MINGW)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/avformat.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/avcodec.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/swscale.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/avutil.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/avfilter.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/windows/x86_64/swresample.lib"
"Bcrypt.lib")
elseif (APPLE)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libavformat.a"
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libavcodec.a"
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libswscale.a"
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libavutil.a"
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libavfilter.a"
"${CMAKE_CURRENT_SOURCE_DIR}/macos/x86_64/libswresample.a"
"z")
elseif (UNIX)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libavformat.a"
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libavcodec.a"
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libswscale.a"
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libavutil.a"
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libavfilter.a"
"${CMAKE_CURRENT_SOURCE_DIR}/linux/x86_64/libswresample.a"
"z")
else ()
set(USE_SYSTEM_FFMPEG ON)
endif ()
endif()

if (USE_SYSTEM_FFMPEG)
find_package(PkgConfig REQUIRED)
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavcodec libavfilter libavformat libavutil libswscale libswresample)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE "${FFMPEG_LIBRARIES}")
target_include_directories(${FFMPEG_CORE_NAME} INTERFACE "${FFMPEG_INCLUDE_DIRS}")
if (WIN32 AND NOT MINGW)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/avformat.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/avcodec.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/swscale.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/avutil.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/avfilter.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/x86_64/swresample.lib"
"psapi;strmiids;uuid;oleaut32;shlwapi;ws2_32;ole32;user32;bcrypt")
elseif (APPLE)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libavformat.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libavcodec.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libswscale.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libavutil.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libavfilter.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/macos/x86_64/libswresample.a"
"-framework CoreServices" "-framework CoreFoundation" "-framework AudioUnit"
"-framework AudioToolbox" "-framework CoreAudio" "-framework CoreMedia"
"-framework VideoToolbox" "-framework CoreVideo" "-framework Security")
elseif (UNIX)
target_link_libraries(${FFMPEG_CORE_NAME} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libavformat.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libavcodec.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libswscale.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libavutil.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libavfilter.a"
"${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/x86_64/libswresample.a")
else ()
message(FATAL_ERROR "No prebuilt was found for ffmpeg")
endif ()
Loading

0 comments on commit 4484546

Please sign in to comment.