3DAmnesic 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Tag: visualeditor
Line 29: Line 29:
* Copy the ffmpeg-configure3ds script in your ffmpeg source folder.
* Copy the ffmpeg-configure3ds script in your ffmpeg source folder.
* Open a shell/command line in ffmpeg directory.
* Open a shell/command line in ffmpeg directory.
** Windows users please use <code>sh</code> before starting the script.
** Windows users please use <code>sh</code> before starting the script).
* ./ffmpeg-configure3ds
**./ffmpeg-configure3ds
* make install  
**make install


This will compile ffmpeg (with only a few features) with devkitArm and install it as a portlib.
This will compile ffmpeg (with only a few features) with devkitArm and install it as a portlib.
Line 37: Line 37:
===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>
** On *NIX <code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..</code>
**<nowiki>*NIX </nowiki><code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..</code>
** On Windows <code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake -G&quot;Unix Makefiles&quot; ..</code>
**Windows <code>cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake -G&quot;Unix Makefiles&quot; ..</code>
* <code>make</code>  
* <code>make</code>
   
   
More information on the [https://github.com/Lectem/3ds-cmake 3ds-cmake] repository.  
More information on the [https://github.com/Lectem/3ds-cmake 3ds-cmake] repository.  
Line 57: Line 57:


This homebrew runs MPEG4 better than H.264 (H.264 is ~4 times slower). Some stats (video only, old 3DS):
This homebrew runs MPEG4 better than H.264 (H.264 is ~4 times slower). Some stats (video only, old 3DS):
* 400x240 mpeg4 -> 37fps.
*400x240 mpeg4 - 37fps.
* 400x240 h264 -> 16fps.
*400x240 h264 - 16fps.
 
==Media==
'''[3DS] H264 decoding 37fps - WIP''' ([https://www.youtube.com/watch?v=zLbpzTPWRQY Lectem]) <br>
<youtube>zLbpzTPWRQY</youtube>


==Known issues==
==Known issues==
Line 68: Line 64:


==External links==
==External links==
* GitHub - https://github.com/Lectem/3Damnesic
*GitHub - https://github.com/Lectem/3Damnesic
* GBAtemp - https://gbatemp.net/threads/release-3damnesic-a-poc-video-player.396184
*GBAtemp - https://gbatemp.net/threads/release-3damnesic-a-poc-video-player.396184


[[Category:3DS homebrew applications]]
[[Category:3DS homebrew applications]]
[[Category:Homebrew media players on 3DS]]
[[Category:Homebrew media players on 3DS]]

Revision as of 07:05, 3 September 2021

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
    • *NIX cmake -DCMAKE_TOOLCHAIN_FILE=DevkitArm3DS.cmake ..
    • 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: