The curated decoder list in build.sh (--disable-decoders + explicit enables) covers the
modern set plus mpeg2video/mpeg4/vc1 for the legacy tail. Two adjacent legacy codecs
are absent and still appear in older libraries:
msmpeg4v3 (MS-MPEG4 v3 / "DivX 3.11") — common in pre-2005 AVI rips. A client that
claims MPEG-4-family support and routes such a file to the engine gets
avcodec_find_decoder = nil → VideoDecoderError.unsupportedCodec(id: 16) at load.
wmv3 (WMV9) — the VC-1 sibling; --enable-decoder=vc1 does not register the separate
wmv3 decoder, so .wmv-era MKV remuxes fail the same way while plain VC-1 works.
Both are native libavcodec decoders under FFmpeg's LGPL-2.1-or-later terms and require no
external library or GPL flag. In FFmpeg n8.1.2, wmv3_decoder_select="vc1_decoder" (already
enabled), while msmpeg4v3_decoder_select="msmpeg4dec" reuses the already-selected
H.263/MPEG-video core but adds the MSMPEG4 decoder objects. I have not measured the
XCFramework size delta, but it should be modest.
Happy to test a build. For context: we hit the msmpeg4v3 case on a real library item while
running a format-matrix sweep against AetherEngine 6.21.0 (87868c1c), which resolves
FFmpegBuild 2.4.2 (35f393fd). The wmv3 gap is build/source evidence rather than a
fixture repro; our library does not currently have a WMV3 sample. Our client now excludes
both codecs from the engine's claimed envelope, so this is a nice-to-have for coverage
parity with libVLC-class players rather than a defect report.
The curated decoder list in
build.sh(--disable-decoders+ explicit enables) covers themodern set plus
mpeg2video/mpeg4/vc1for the legacy tail. Two adjacent legacy codecsare absent and still appear in older libraries:
msmpeg4v3(MS-MPEG4 v3 / "DivX 3.11") — common in pre-2005 AVI rips. A client thatclaims MPEG-4-family support and routes such a file to the engine gets
avcodec_find_decoder= nil →VideoDecoderError.unsupportedCodec(id: 16)at load.wmv3(WMV9) — the VC-1 sibling;--enable-decoder=vc1does not register the separatewmv3decoder, so.wmv-era MKV remuxes fail the same way while plain VC-1 works.Both are native libavcodec decoders under FFmpeg's LGPL-2.1-or-later terms and require no
external library or GPL flag. In FFmpeg n8.1.2,
wmv3_decoder_select="vc1_decoder"(alreadyenabled), while
msmpeg4v3_decoder_select="msmpeg4dec"reuses the already-selectedH.263/MPEG-video core but adds the MSMPEG4 decoder objects. I have not measured the
XCFramework size delta, but it should be modest.
Happy to test a build. For context: we hit the msmpeg4v3 case on a real library item while
running a format-matrix sweep against AetherEngine 6.21.0 (
87868c1c), which resolvesFFmpegBuild 2.4.2 (
35f393fd). Thewmv3gap is build/source evidence rather than afixture repro; our library does not currently have a WMV3 sample. Our client now excludes
both codecs from the engine's claimed envelope, so this is a nice-to-have for coverage
parity with libVLC-class players rather than a defect report.