3DS Store › Apps

topos_3ds-video-player v1.12.3.4 by mockmodular

Released Nov 2, 2026 · Apps
2,997 downloads on GitHub · Source code

Video player for side-by-side 3D and normal 2D video, forked from Core 2 Extreme's player

Install on your 3DS

QR code of the download link for topos.cia

Method 1Scan the QR code
With FBI (Remote Install › Scan QR Code) or 3dsDL (Scan QR Code). Either one installs it.

Method 2Send it to your 3DS
Open 3dsDL › Receive on the same Wi-Fi, then press:
Send to 3dsDL

Other ways to install

Files

FileSizeSHA-256
topos.cia9.5 MB 553d62ca…3de3 Download

Downloads come from the developer's GitHub release while it's there. If GitHub stops serving a file, or the file there changes, the same link serves our copy.

All versions (9)

Screenshots

About topos_3ds-video-player

mockmodular rewrote most of Core 2 Extreme's Video player for 3DS for this fork. Side-by-side video gets split into left and right images for the 3D screen. In auto mode, anything 240 pixels high and at least 640 wide counts as SBS, or you can force 3D or 2D. Everything is drawn in RGB888, so gradients don't band.

On a New 3DS, H.264 goes through the MVD hardware decoder. An Old 3DS decodes MPEG-2 in software. The author now only recommends it for New 3DS, because SBS video on an Old 3DS drifts behind the audio.

The releases come with FFmpeg .bat scripts for encoding SBS video to 800x240, H.264 for New 3DS and MPEG-2 for Old 3DS, and a test clip of the Avatar: Fire and Ash trailer.

Release notes

v1.12.3.4 · Nov 2, 2026

1.12.3.4

Direct decoded-frame input for Y2R x2

  • Software-decoded YUV420P frames can now feed Y2R x2 directly in both 2D and side-by-side 3D playback, eliminating the intermediate YUV buffer allocation and frame copy.
  • Transfer the AVFrame reference to the conversion thread and retain it until hardware conversion completes or cancellation is acknowledged. Use the actual plane addresses and row strides.
  • Keep compatibility with input layouts that require copying. Preserve the existing RGB output fallback for 2D playback with 1024-wide textures while still avoiding the YUV input copy.
  • Represent each contiguous decoded-image allocation with one correctly sized AVBufferRef and a single release callback.

Audio track selection

  • Add track immediately below volume in the root settings menu, with choices 3, 2, 1, and 0. The default is 0.
  • Save the preferred track in persistent settings. Existing settings files default to track 0.
  • Apply the current in-memory preference when opening a video. If the requested track does not exist, use track 0 without overwriting the preference.
  • Changing the setting does not switch the current playback session. Reopening the same video starts it from the beginning with the new selection; seeking retains the session's active track.
  • Use the active track's audio parameters for speaker setup, buffer timing, and codec display.

Validation

  • Built and linked the Nintendo 3DS application and generated the CIA package.
  • Passed host checks for frame-reference lifetime, DMA addressing, conversion error handling, audio-track routing, settings round-trips, and compatibility with older settings files.
  • Passed the existing CIA package structure checks.

Download

  • topos.cia

Full changelog

Something wrong with this listing? Report a problem · Are you the developer? Claim this listing