3DAmnesic 3DS

From GameBrew
Revision as of 09:20, 15 July 2021 by HydeWing (talk | contribs)

Template:Infobox 3DS homebrew

3Damnesic is a proof of concept media player for 3DS using ffmpeg, capable of playing MPEG4 and H264 video (no sound).

The project is no longer in development (abandoned).

Features

  • Video.
  • MPEG4, H.264.
  • Hardware acceleration with Y2R for YUV -> RGB conversions.

Building

Requirements

  • DevkitArm.
  • Latest ctrulib.
  • ffmpeg compiled with the following instructions.

FFMPEG

  • Copy the ffmpeg-configure3ds script in your ffmpeg source folder.
  • Open a shell/command line in ffmpeg directory.
    • Windows users please use sh before starting the script.
  • ./ffmpeg-configure3ds
  • make install

This will compile ffmpeg (with only a few features) with devkitArm and install it as a portlib.

3Damnesic

With the Makefile:

  • Simply use make.

With CMake:

  • mkdir cbuild && cd cbuild
    • On *NIX cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..
    • On Windows cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake -G"Unix Makefiles" ..
  • make

More information on the 3ds-cmake repository.

At the moment, you have to specify the file path in the main.c file at compilation time.

User guide

The file has to be named test.mp4 and be placed at the root of your SD card.

Use a video with dimensions multiple of 8 for best performance.

Videos up to 1024x1024 are supported (but will not run fullspeed and only if width<800, if you set up the framebuffers to be using RGBA).

This homebrew runs MPEG4 better than H.264 (H.264 is ~4 times slower). Some stats (video only, old 3DS):

  • 400x240 mpeg4 -> 37fps.
  • 400x240 h264 -> 16fps.

Media

[3DS] H264 decoding 37fps - WIP (Lectem)

Known issues

No sound.

External links

Advertising: