Skip to content

Releases: superuser404notfound/FFmpegBuild

FFmpegBuild 1.0.3

25 Jun 13:29

Choose a tag to compare

Enables the missing elementary-stream parsers for several already-bundled decoders.

On a byte-stream container (MPEG-TS / M2TS) the demuxer needs a codec's parser to assemble a complete frame. Without it, packets arrive mis-framed and the decoder fails. The most visible symptom was DTS-HD Master Audio on Blu-ray M2TS: the DTS core (0x7FFE8001) and the DTS-HD extension substream (0x64582025) reached the decoder as separate packets, so every extension frame was rejected with "Residual encoded channels are present without core" and the track played silent. Matroska was unaffected because its blocks are already whole frames.

Added parsers

  • dca — DTS / DTS-HD MA (the headline fix)
  • mlp — TrueHD / MLP
  • vc1 — VC-1 video
  • dvbsub, dvdsub — DVB and DVD bitmap subtitles

All are parsers for decoders this build already enables. All xcframeworks rebuilt against FFmpeg n8.1.2.

1.0.2 — dca_core bitstream filter

24 Jun 18:34

Choose a tag to compare

Maintenance release: enables the dca_core bitstream filter.

FFmpeg stays at n8.1.2; this only adds --enable-bsf=dca_core to the build and rebuilds the xcframeworks across all platforms (iOS, tvOS, macOS, device and simulator).

dca_core extracts the mandatory DTS core substream from a DTS-HD (MA / HRA) packet at the bitstream level. AetherEngine's audio bridge uses it to strip the lossless XLL extension up front, so the decoder only ever sees the full-rate 5.1/7.1 core and never hits the XLL residual-without-core failure (AetherEngine #64).

Purely additive: one new bitstream filter, no API change, no removals. Safe to adopt from any 1.x pin.

1.0.1

24 Jun 16:37

Choose a tag to compare

Maintenance release: FFmpeg bumped from n8.1 to n8.1.2 (the 8.1.x upstream maintenance line), all xcframeworks rebuilt.

No API or coverage changes versus 1.0.0. This pulls in upstream 8.1.x bug and security fixes for libavcodec / libavformat / libavutil / libavfilter / libswresample / libswscale. Same slim build, same decode coverage, same platforms (iOS 16+, tvOS 16+, macOS 14+).

This is the version AetherEngine currently pins.

Install

.package(url: "https://github.com/superuser404notfound/FFmpegBuild", from: "1.0.1")

License

LGPL-3.0, same as upstream FFmpeg. App Store compatible when linked dynamically.

1.0.0

17 Jun 06:16

Choose a tag to compare

First tagged release of FFmpegBuild: slim FFmpeg 8.1 + dav1d 1.5.1 xcframeworks for iOS 16+, tvOS 16+ and macOS 14+, consumed via Swift Package Manager.

The package has been stable in production (it backs AetherEngine) for months. 1.0.0 marks the first versioned cut so consumers can pin a release instead of tracking main.

What's in

  • libavformat: demux MKV, MP4, WebM, MPEG-TS, MPEG-PS (VOB / DVD), DASH, AVI, OGG, FLV, plus raw elementary streams
  • libavcodec: video + audio decode with a VideoToolbox bridge
  • libswresample / libswscale: audio resample / channel remap and pixel-format convert (YUV to NV12 / P010) for the software-decode path
  • libavfilter: trimmed to zscale + tonemap + colorspace (HDR to SDR still extraction) and bwdif + yadif (deinterlace)
  • dav1d 1.5.1: fast AV1 software decoder (separate xcframework)
  • zimg: zscale's resampling / colorspace backend (separate xcframework, link-only)

What's deliberately out

No TLS / network stack (you wire URLSession into FFmpeg's avio callback), no CLI programs (ffmpeg / ffplay / ffprobe), no hardware accel layer other than VideoToolbox. Encoders are stripped except FLAC and EAC3 (the audio bridge path), muxers except MP4 / MOV / HLS (the HLS-fMP4 producer).

Decode coverage

  • Video (HW, VideoToolbox): H.264, HEVC up to Main10 (HDR10 / DV Profile 8)
  • Video (SW): AV1 (dav1d), VP9, VP8, MPEG-2, MPEG-4, VC-1
  • Audio: AAC, AC3, EAC3 (with JOC / Atmos detection), FLAC, MP2, MP3, Opus, Vorbis, TrueHD, MLP, DTS, ALAC, PCM (incl. Blu-ray LPCM)
  • Subtitles: SRT, ASS, SSA, WebVTT, PGS, DVB, DVD

HDR metadata (BT.2020, ST 2084 / PQ, HLG, DV RPU) is preserved end-to-end.

Size

Roughly ~10 MB per architecture (FFmpeg + dav1d combined), release configuration.

Install

.package(url: "https://github.com/superuser404notfound/FFmpegBuild", from: "1.0.0")

License

LGPL-3.0, same as upstream FFmpeg. App Store compatible when linked dynamically.