3DAmnesic 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 16: Line 16:


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


Line 37: Line 36:
===3Damnesic===
===3Damnesic===
'''With the Makefile:'''
'''With the Makefile:'''
* Simply use <code>make</code>
* Simply use <code>make</code>


'''With CMake:'''
'''With CMake:'''
* <code>mkdir cbuild &amp;&amp; cd cbuild</code>
* <code>mkdir cbuild &amp;&amp; cd cbuild</code>
* For *NIX <code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..</code>
* For *NIX <code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..</code>

Revision as of 11:05, 17 October 2021

Template:Infobox-3DS-Homebrews 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
  • For *NIX cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..
  • For 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.

Known issues

No sound.

External links

Advertising: