New format support
GBA Video (biggest addition this release — five previously-undocumented cartridge codec families, all reverse-engineered from scratch):
- VX++ (ActImagine) — full native decoder: intra + inter prediction, motion vectors, residual/macroblock path
- VXGB — the original ActImagine VX revision that preceded VX++
- Caimans 2.2 and CaimansPro — native decoders for both stream variants, video and audio
- FVMV — native decoding of the Nintendo/Pokémon FVMV cartridge format
- ADS-era (Majesco/"Hydrogen") — full decode support plus a new
ads_gbaencoder (in-house k-means codebook compressor) and a matching LZMA encoder for the Inflate-compressed variant
TiVo TyStream (.ty / .ty+ / .tmf) — native Series 1–3 support, replacing the external s3tots binary dependency; added a ty muxer for Series 2 encoding, and fixed legacy resource audio/trailer handling
FastVideoDS (.fv) — native demuxer/codec, replacing the FastVideo C# dependency
HVQM4 (.h4m) — added P-picture encoding (per-8x8 integer motion search) on top of the existing intra-only encoder/muxer
New containers, decode + encode:
- BPK1 (
.bpk/.bpk1/.apd) — Nintendo 3DS Swapdoodle / Swapnote - DPG — Nintendo DS (MoonShell)
- BNS — Wii banner sound
- BTSND — Wii U boot sound
- BRSTM / BFSTM / BCSTM — muxers added (decode already existed)
- DSP-ADPCM (
.dsp) — standalone GameCube/Wii/3DS container - MOC2 / MOC3 demuxer
- AFC ADPCM encoder, and AST muxing with ADPCM
Mobiclip encoding accuracy
Credit to @Helwettpackardenterpris, whose MODS_Encoder_v43_2 — a verified-accurate C translation of the retail Mobiclip VfW encoder — is now the reference the quatric/x264 Mobiclip encoder matches:
- Forward integer DCTs, H.264 MF/dequant scale matrices, and the exact
(1 << shift) / 3rounding bias now match retail bit-for-bit - Retail-correct quantizer scaling (
shift = 15 + q/6for 4x4,16 + q/6for 8x8) - Retail-named rate-control parameters exposed, including the CQ policy
- Two-pass encoding and a working
--hq(Highest Quality) flag - Fixed ADPCM/embedded-audio corruption from a video/audio split mismatch, and an IMA ADPCM predictor bug in
moenc
GUI
- Replaced the two-pass checkbox with a single Highest Quality toggle, interchangeable with the advanced quality fields
- Exposed TiVo TY encoding, DPG, and the new audio formats in the encode/decode front ends
- Expandable, grid-based decoder format list; playback mode with per-eye stereoscopic soundtrack
- Merged Output Dir + Output File into one field on the decode tab; auto-split stereo eyes
- Fixed dark-mode field rendering and macOS layout/window-sizing regressions
- Windows build now embeds a VERSIONINFO resource in
mobipeg-gui.exe
Build & tooling
- Dropped the FastVideo C# and
s3totsbinary dependencies entirely in favor of native FFmpeg drivers - Enabled optimized x264 assembly in CI builds
- Added a
generate-patchesjob that diffs x264 and mobipeg against upstream - Fixed
build-guifailures on linux-x86/armhf/arm64 and a windows-arm64 Vorbis pkg-config lookup issue under llvm-mingw - Various Windows/macOS CI fixes (Opus, pkg-config, mingw packages, dependency caching)
- Repo cleanup: stopped tracking
__pycache__/bytecode and stray build artifacts - Routine sync with upstream FFmpeg (security fixes, DSP/x86 cleanups, swscale/vulkan work)
Docs
- Documented every new format in the README codec tables
- Documented ADS-era GBA Video decoding and the new LZMA encoder
- Added the Helwettpackardenterprise MODS encoder reference to
CREDITS_MOBICLIP.md
Downloads
- CLI (
ffmpeg/ffprobe/ffplay):mobipeg-<platform>archives - GUI (
mobipeg-gui):mobipeg-gui-<platform>archives
All builds produced by GitHub Actions from commit eb2c7d2..31c9cfd.