Project mobipeg - World's first OSS video encoder for Wii, 3DS, and DS Mobiclip Video

  • Thread starter Thread starter quatric
  • Start date Start date
  • Views Views 4,112
  • Replies Replies 43
  • Likes Likes 23
Oh, I see. Well, regarding the incorrect colors... I discovered that you have to limit the colors to the exact ones in the palette—take an AAI2 graphic as an example; if it doesn't use the exact palette colors, it fails. Personally, when creating graphics using GIMP and Tinke, I make the graphic, import the palette into GIMP, index the image to limit the colors, and then switch it back to RGB to avoid issues during insertion.

But as for the system of using multiple palettes for the same graphic... I really wouldn't know what to tell you there.
Yeah, I know that. Editing graphics is kinda of my thing. The issue lies EXACTLY on extraction, so there's nothing I can do about it in the first place. If the graphic is extracted with wrong colors, I can't proceed to editing it... :sad::sad:
 
Yeah, I know that. Editing graphics is kinda of my thing. The issue lies EXACTLY on extraction, so there's nothing I can do about it in the first place. If the graphic is extracted with wrong colors, I can't proceed to editing it... :sad::sad:
Oh... I see. I’d really like to help you... but the truth is, my knowledge of this isn't extensive enough to give you a guide or anything like that...
 
mobipeg v2.1

New format support


RWAV / FWAV / CWAV (.brwav / .bfwav / .bcwav) - native demuxers and muxers with DSP-ADPCM (adpcm_thp, adpcm_thp_le) and planar PCM (8/16-bit) support across Nintendo Wii, Wii U, 3DS, and Switch formats; properly parses BOM byte order (0xFEFF / 0xFFFE) and channel block tables.

MobiClip MOC2 / MOC3 - native container demuxing support for MOC2 and MOC3 video files.

3DS CIA Video Injection

Credit to @FoofooTheGuy, whose VidInjector9000 (VidInjector9002-CLI) is now vendored and integrated:
  • Direct creation and packaging of installable Nintendo 3DS .cia video titles from encoded Moflex streams
  • Automated cross-compilation in CI across Linux (x86_64, arm64, armhf), Windows (x86, x86_64, arm64), and macOS
  • Bundled into GUI application distributions for seamless 3DS homebrew video authoring

Mobiclip & Format Improvements

  • moenc: graceful automatic fallback to video-only mode when input source has no audio track
  • moflex: corrected 64-bit seek-table duration writes and fixed single-track MULTITRACK chunk table handling
  • moflex3d: auto-split packed stereoscopic inputs for 3DS 3D video encoding

GUI

  • Defaulted encoding profile to Highest Quality (--hq)
  • Fixed Decode tab entry fields collapsing on macOS and resolved layout regressions
  • Restored robust field rendering and appearance under macOS dark mode

Build & tooling

  • Rebased onto latest upstream FFmpeg master (including vf_fruc_vulkan NVIDIA optical flow interpolation, AAC encoder updates, APV Vulkan encoder, and upstream security/performance fixes)
  • macOS: built static libdav1d and enabled it in FFmpeg CI builds
  • Embedded VidInjector9002-CLI builds directly into GUI release packages
  • Added retry and verification logic for x264 archive downloads to handle CDN challenge pages
  • Updated CI workflows, dependency caching, and actions to Node 24 runtime

Docs

  • Documented RWAV/FWAV/CWAV and MOC2/MOC3 container and codec support in README tables
  • Added FoofooTheGuy's VidInjector9000 / VidInjector9002-CLI to CREDITS_MOBICLIP.md
 
  • Like
Reactions: Leonmike
mobipeg v2.2

New format support


Factor 5 DivX (.vid) — native demuxer and muxer for GameCube Factor 5 .vid video containers; includes dedicated bitstream filtering (f5vid_mpeg4) to transcode custom macroblock entropy coding into standard MPEG-4 ASP, with GameCube DSP-ADPCM (adpcm_thp), PC16, XAPM, and VAUD audio support; fully integrated into both GUI and CLI.

Super MOFLEX (.moflex) — demuxing and muxing support for the CSXTRA01 container trailer extension, enabling secondary audio tracks (AUD1), embedded SubRip subtitles (SUB0 / SUB1), poster artwork (ART5), language tags (LNG0), and metadata (NFO0) without playback truncation.

Namco Universal Sound 3 (.nus3bank / .nus3audio) — native demuxer and muxer for Nintendo Wii U and 3DS sound banks; accurately parses TOC and TONE chunks, aligns IDSP sub-headers, and de-interleaves per-channel DSP-ADPCM audio blocks for clean stereo playback.

HAL Laboratory HPS (.hps) — native demuxer for GameCube HAL Laboratory audio streams (e.g. Super Smash Bros. Melee).

Level-5 SADL (.sadl) — native demuxer for Nintendo DS Level-5 streamed audio (e.g. Professor Layton).

Nintendo Streamed Wave Audio (.brwav / .bfwav / .bcwav) — native demuxer support for Wii, Wii U, and 3DS wave stream containers.

Format & Tooling Improvements

  • ffmpeg_mux_init: defaulted video decode output to high-quality MPEG-4 (-q:v 3)
  • encode.py: added smoflex preset, --super flag, and multi-track audio/subtitle/poster options
  • Vendored Super MOFLEX authoring utilities into tools/smoflex/

GUI

  • Added GameCube Factor 5 DivX (.vid) to the Decode tab filter list and Encode format dropdown
  • Bundled pre-built high-resolution .ico and .icns application icons for Windows and macOS executables
  • Added safe fallback when __file__ is undefined in frozen PyInstaller environments
  • Integrated automated error and crash reporting

Stability & Crash Reporting

  • Integrated Sentry Native SDK into ffmpeg, ffprobe, ffplay, and mobipeg-gui for automated crash reporting
  • Fixed Windows MinGW static linking (synchronization APIs, static definitions, and 32-bit DWORD types)

Build & CI

  • macOS: switched app packaging to ditto to preserve bundle structure, symlinks, and permissions in zip archives
  • macOS: excluded PIL/Pillow dependencies from universal2 builds to reduce package size
  • Automated static dependency generation and cross-compilation across Linux, Windows, and macOS runners

Downloads

  • CLI (ffmpeg/ffprobe/ffplay): mobipeg-<platform> archives
  • GUI (mobipeg-gui): mobipeg-gui-<platform> archives

All builds produced by GitHub Actions.

Full Changelog: https://github.com/quatric/mobipeg/compare/v2.1...v2.2
 

Site & Scene News

Popular threads in this forum