-
Notifications
You must be signed in to change notification settings - Fork 0
Compatibility
State of the main branch source (and of any .aar/Maven artifact produced by CI going forward). This mirrors README, Compatibility section — that is the source of truth if the two ever drift.
| Current | |
|---|---|
| NDK | r26c (26.2.11394342) |
| minSdk | 24 (Android 7.0) |
| compileSdk / targetSdk | 35 (Android 15) |
| ABI |
arm64-v8a only — CI builds and publishes this ABI exclusively; other ABIs are buildable from source via android.sh but not published |
| 16 KB page size alignment | Enforced — native libraries are linked with -Wl,-z,max-page-size=16384, and the CI build fails if any .so is not 16 KB aligned |
Note: the original
v6.0.0-lts-androidrelease was built before the compileSdk 35 bump and the 16 KB alignment fix - superseded byv6.0.1-lts-androidand later, which match this table.
CI builds four separate variants — build.yml (Full), build-basic.yml (Basic), build-gpl.yml (Full GPL), build-free.yml (Free) — each with a different --enable-*/--disable-lib-* flag set. None of upstream's old audio/video/https Maven Central artifact names apply here; these four replace them.
| Free | Basic | Full | Full GPL | |
|---|---|---|---|---|
| Distribution | Maven Central, free | Gumroad, $19 | Gumroad, $29 | Gumroad, $39 |
| License | LGPL-3.0 | LGPL-3.0 | LGPL-3.0 |
GPL-3.0 |
Android MediaCodec (hardware accel) |
❌ | ✅ | ✅ | ✅ |
| H.264 decode | ✅ (native FFmpeg) | ✅ (native FFmpeg) | ✅ (native FFmpeg) | ✅ (native FFmpeg) |
| H.264 encode | ❌ | ✅ via openh264
|
✅ via openh264
|
✅ via x264
|
| H.265/HEVC decode | ✅ (native FFmpeg) | ✅ (native FFmpeg) | ✅ (native FFmpeg) | ✅ (native FFmpeg) |
| H.265/HEVC encode | ❌ | ❌ | ✅ via kvazaar
|
✅ via x265
|
| AV1 | ✅ libaom, dav1d
|
✅ | ✅ | ✅ |
| VP8/VP9 | ✅ libvpx
|
✅ | ✅ | ✅ |
| Theora | ❌ | ✅ libtheora
|
✅ | ✅ |
| Audio (Opus, Speex, Vorbis) | ✅ | ✅ | ✅ | ✅ |
| Audio (MP3, AMR, MP2) | ❌ | ✅ | ✅ | ✅ |
| Images (WebP, GIF, JPEG, PNG, TIFF) | ❌ | ✅ | ✅ | ✅ |
Subtitle/text rendering, drawtext
|
❌ | ❌ | ✅ | ✅ |
OCR (tesseract) |
❌ | ❌ | ✅ | ✅ |
| SRT streaming | ❌ | ❌ | ✅ | ✅ |
Audio fingerprinting (chromaprint) |
❌ | ❌ | ✅ | ✅ |
| TLS | ❌ | ✅ openssl
|
✅ | ✅ |
xvidcore, libvidstab, rubberband
|
❌ | ❌ | ❌ | ✅ (GPL) |
| GPL-licensed filters | ❌ | ❌ | ❌ | ✅ — see GPL Filters |
H.264/H.265 decode is always available — it's native to FFmpeg, not tied to any of the encoder libraries above. What differs is encode capability. See Licensing for what the Full GPL tier's license means for your app.
Full per-library detail (which exact library provides what): see README, Available tiers section.