Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions: {}

jobs:
check:
uses: devenvy/ffmpeg-build/.github/workflows/check.yml@ea6844557eaf26b6357d0345137131377382deea # v0.0.17
uses: devenvy/ffmpeg-build/.github/workflows/check.yml@df711faccfd4aaf3a93cb54a7968c5d2931d3579 # v0.0.18
permissions:
contents: read
# the workflows: actionlint (mistakes) and zizmor (GitHub Actions security)
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
run: test "${CHECK}" = success && test "${LINT}" = success
merge:
needs: result
uses: devenvy/ffmpeg-build/.github/workflows/automerge.yml@ea6844557eaf26b6357d0345137131377382deea # v0.0.17
uses: devenvy/ffmpeg-build/.github/workflows/automerge.yml@df711faccfd4aaf3a93cb54a7968c5d2931d3579 # v0.0.18
permissions:
contents: write
pull-requests: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions: {}

jobs:
release:
uses: devenvy/ffmpeg-build/.github/workflows/build.yml@ea6844557eaf26b6357d0345137131377382deea # v0.0.17
uses: devenvy/ffmpeg-build/.github/workflows/build.yml@df711faccfd4aaf3a93cb54a7968c5d2931d3579 # v0.0.18
permissions:
contents: write # the GitHub releases
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permissions: {}

jobs:
update:
uses: devenvy/ffmpeg-build/.github/workflows/update-lock.yml@ea6844557eaf26b6357d0345137131377382deea # v0.0.17
uses: devenvy/ffmpeg-build/.github/workflows/update-lock.yml@df711faccfd4aaf3a93cb54a7968c5d2931d3579 # v0.0.18
permissions:
actions: write
contents: write
Expand Down
7 changes: 5 additions & 2 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ $env:PATH = "C:\ffmpeg;$env:PATH"

The DLLs sit beside `ffmpeg.exe`. To link from MSVC or CMake, take the `-dev` archive: `include/` and the `lib/*.lib`
import libraries. Vulkan comes with the GPU driver. `win-arm64` has no NVENC/NVDEC, AMF, QSV or SVT-AV1 (none exist for
Windows on ARM); it decodes in hardware through D3D11VA, DXVA2 and Media Foundation.
Windows on ARM); it decodes in hardware through D3D11VA, DXVA2 and Media Foundation. VMAF is omitted on Windows
ARM64 because the current upstream release needs a source fix with this toolchain.

## macOS

Expand Down Expand Up @@ -78,11 +79,13 @@ and x86_64 devices). Hardware decode uses MediaCodec. The minimum is Android 9 (

`ffmpeg-<version>-ios-<variant>.tar.gz` holds one dynamic `.xcframework` per `libav*` library, each with the device
(`ios-arm64`), simulator (`ios-sim-arm64`) and Mac Catalyst (arm64 + x64 in one slice) builds. Add them to your Xcode
target; Xcode picks the slice. Hardware decode uses VideoToolbox. The iOS 14.0 minimum applies to Catalyst.
target; Xcode picks the slice. iOS hardware decode uses VideoToolbox. The iOS 14.0 minimum applies to Catalyst.

- The simulator slice leaves out x264, x265, kvazaar, libvpx, libaom, Opus and libass (they don't build for the arm64
simulator); test that work on a device.
- Mac Catalyst has no SecureTransport, so it takes TLS like Linux: none in `lgplv2`.
- Mac Catalyst omits VideoToolbox because the current FFmpeg and SDK combination needs source changes. Its
software codecs remain available.
- The `v3` frameworks link MoltenVK in for FFmpeg's Vulkan filters; nothing to embed or configure. On Mac Catalyst,
also link `-framework IOKit`.

Expand Down
36 changes: 35 additions & 1 deletion ffmpeg-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ notify: { new-ffmpeg: true }
# on an older driver. 13.0.x patch releases still arrive. Tracking issue: #54.
pin:
nvenc: '13.0'
# Match the native font stack verified by the cleaned engine.
fontconfig: '2.15'
bases:
common:
with: [openh264, dav1d, openjpeg, jxl, zimg, vmaf, lcms2, vorbis, mp3lame, speex, gsm, soxr, chromaprint,
Expand All @@ -24,7 +26,7 @@ bases:
linux-musl:
with: [aom, vpx, opus, freetype, fribidi, harfbuzz, ass, drm, fontconfig, nvenc, svtav1, vaapi, webp]
maccatalyst:
with: [aom, vpx, opus, freetype, fribidi, harfbuzz, ass, videotoolbox]
with: [aom, vpx, opus, freetype, fribidi, harfbuzz, ass]
osx:
with: [aom, vpx, opus, freetype, fribidi, harfbuzz, ass, audiotoolbox, fontconfig, securetransport,
svtav1, videotoolbox, webp]
Expand Down Expand Up @@ -477,96 +479,112 @@ targets:
with: [openssl, nvenc, vaapi, drm, vpl, vulkan, placebo, shaderc, kvazaar, svtav1]
maccatalyst-arm64-gplv2:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: gplv2
ffmpeg: "9"
base: [common, maccatalyst]
with: [gnutls, x264, x265]
maccatalyst-arm64-gplv2-ffmpeg8:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: gplv2
ffmpeg: "8"
base: [common, maccatalyst]
with: [gnutls, x264, x265]
maccatalyst-arm64-gplv3:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: gplv3
ffmpeg: "9"
base: [common, maccatalyst, gplv3]
with: [openssl, vulkan, placebo, x264, x265]
maccatalyst-arm64-gplv3-ffmpeg8:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: gplv3
ffmpeg: "8"
base: [common, maccatalyst, gplv3]
with: [openssl, vulkan, placebo, shaderc, x264, x265]
maccatalyst-arm64-lgplv2:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: lgplv2
ffmpeg: "9"
base: [common, maccatalyst]
with: [kvazaar]
maccatalyst-arm64-lgplv2-ffmpeg8:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: lgplv2
ffmpeg: "8"
base: [common, maccatalyst]
with: [kvazaar]
maccatalyst-arm64-lgplv3:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: lgplv3
ffmpeg: "9"
base: [common, maccatalyst, lgplv3]
with: [openssl, vulkan, placebo, kvazaar]
maccatalyst-arm64-lgplv3-ffmpeg8:
platform: maccatalyst-arm64
allow-removal: [videotoolbox]
license: lgplv3
ffmpeg: "8"
base: [common, maccatalyst, lgplv3]
with: [openssl, vulkan, placebo, shaderc, kvazaar]
maccatalyst-x64-gplv2:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: gplv2
ffmpeg: "9"
base: [common, maccatalyst]
with: [gnutls, x264, x265]
maccatalyst-x64-gplv2-ffmpeg8:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: gplv2
ffmpeg: "8"
base: [common, maccatalyst]
with: [gnutls, x264, x265]
maccatalyst-x64-gplv3:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: gplv3
ffmpeg: "9"
base: [common, maccatalyst, gplv3]
with: [openssl, vulkan, placebo, x264, x265]
maccatalyst-x64-gplv3-ffmpeg8:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: gplv3
ffmpeg: "8"
base: [common, maccatalyst, gplv3]
with: [openssl, vulkan, placebo, shaderc, x264, x265]
maccatalyst-x64-lgplv2:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: lgplv2
ffmpeg: "9"
base: [common, maccatalyst]
with: [kvazaar]
maccatalyst-x64-lgplv2-ffmpeg8:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: lgplv2
ffmpeg: "8"
base: [common, maccatalyst]
with: [kvazaar]
maccatalyst-x64-lgplv3:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: lgplv3
ffmpeg: "9"
base: [common, maccatalyst, lgplv3]
with: [openssl, vulkan, placebo, kvazaar]
maccatalyst-x64-lgplv3-ffmpeg8:
platform: maccatalyst-x64
allow-removal: [videotoolbox]
license: lgplv3
ffmpeg: "8"
base: [common, maccatalyst, lgplv3]
Expand Down Expand Up @@ -669,48 +687,64 @@ targets:
with: [vulkan, placebo, shaderc, kvazaar]
win-arm64-gplv2:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: gplv2
ffmpeg: "9"
base: [common, win]
with: [x264, x265]
win-arm64-gplv2-ffmpeg8:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: gplv2
ffmpeg: "8"
base: [common, win]
with: [x264, x265]
win-arm64-gplv3:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: gplv3
ffmpeg: "9"
base: [common, win, gplv3]
with: [vulkan, placebo, x264, x265]
win-arm64-gplv3-ffmpeg8:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: gplv3
ffmpeg: "8"
base: [common, win, gplv3]
with: [vulkan, placebo, shaderc, x264, x265]
win-arm64-lgplv2:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: lgplv2
ffmpeg: "9"
base: [common, win]
with: [kvazaar]
win-arm64-lgplv2-ffmpeg8:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: lgplv2
ffmpeg: "8"
base: [common, win]
with: [kvazaar]
win-arm64-lgplv3:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: lgplv3
ffmpeg: "9"
base: [common, win, lgplv3]
with: [vulkan, placebo, kvazaar]
win-arm64-lgplv3-ffmpeg8:
platform: win-arm64
without: [vmaf]
allow-removal: [libvmaf]
license: lgplv3
ffmpeg: "8"
base: [common, win, lgplv3]
Expand Down
4 changes: 2 additions & 2 deletions ffmpeg.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ffmpeg.lock - written only by `ffmpeg-build update` / `ffmpeg-build lock`. Do not edit.
engine: 0.0.17
engine: 0.0.18
ffmpeg:
"8": { version: 8.1.3, sha256: 7138d28c96d9d3e3af4ee3d8cad72741f8ffb40da90c1112235dea3ecd3178a3 }
"9": { version: 9.0.2, sha256: 8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e }
Expand All @@ -9,7 +9,7 @@ libraries:
brotli: { version: 1.2.1, commit: db24a98aed38a16de78cc05ca15cdd8dc2a0d92d }
chromaprint: { version: 1.6.2, commit: 3b38c100022bdfb49be7797c4828a476f1621d55 }
dav1d: { version: 1.5.4, commit: 54706fc6bc0cdecab7e9593974a4039cc038fca7 }
fontconfig: { version: 2.18.3, commit: 0f236723a3c26bd9745e32ba2b3ee21e5f809295 }
fontconfig: { version: 2.15.0, commit: 72b9a48f57de6204d99ce1c217b5609ee92ece9b }
freetype: { version: 2.15.0, commit: 37515cf56ba3349656049edbed89ffc6f6466f2d }
fribidi: { version: 1.0.17, commit: b93119f5fdc7ea47672cc304c1455ffa6dfe7536 }
gmp: { version: 6.3.0, sha256: a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898 }
Expand Down