Skip to content

v2.0

Latest

Choose a tag to compare

@quatric quatric released this 14 Aug 01:19
· 4 commits to master since this release

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_gba encoder (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) / 3 rounding bias now match retail bit-for-bit
  • Retail-correct quantizer scaling (shift = 15 + q/6 for 4x4, 16 + q/6 for 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 s3tots binary dependencies entirely in favor of native FFmpeg drivers
  • Enabled optimized x264 assembly in CI builds
  • Added a generate-patches job that diffs x264 and mobipeg against upstream
  • Fixed build-gui failures 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.