Dolphin, the GameCube and Wii emulator - Forums

Full Version: regarding video codec compatibility with sofdec
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I own a few games that have some video files I tried to view on my computer (Homebrew Channel -> CleanRip -> WIT -> myvideo.sfd) but can't play them.

Specifically, they're all SOFDEC (video codec). I did some research and learned that there is more than one version or ?level? for this codec... and in most cases (can't prove otherwise) the version that can be played on a pc media player is the oldest/first version. Whenever I come across a video that uses the new version the video loses its colour, deblocking routines and whatever else that is supposed to hold the image/frame together. Audio plays fine tho.

I've resorted to mpc, vlc, ffmpeg (surprisingly they've had more than one person submit this issue but haven't given it the necessary importance to divert attention to it) and any other player to no avail. Something interesting I found is that Sega tends to use this codec a lot. So far I haven't had any luck searching for somebody on the internet that managed to "hack" the video, codec, player, etc. to play these videos properly.

Then it came to me. How come the emulators play their correspoding videos so naturally? PS1 emus play STR streams naturally and apparently Dolphin seems to play the intro to Sonic Colors, videos for F-Zero GX, Sonic Heroes, all naturally. How come? Would it be hard to re-encode losslessly from the emulator to the pc (ala video dumping, maybe)? Or is there a more practical solution already available?

Related links:
http://forum.doom9.org/showthread.php?t=116526
http://wiki.multimedia.cx/index.php?title=Sofdec
http://hcs64.com/mboard/forum.php?showthread=21618
http://multimedia.cx/eggs/sofdec-support/
http://lscube.org/pipermail/ffmpeg-issue...10360.html
http://samples.mplayerhq.hu/game-formats/sfd/
(08-03-2011, 03:31 PM)Zhelkus Wrote: [ -> ]How come the emulators play their correspoding videos so naturally? PS1 emus play STR streams naturally and apparently Dolphin seems to play the intro to Sonic Colors, videos for F-Zero GX, Sonic Heroes, all naturally.

Dolphin emulates the GC hardware at a low enough level that the video player software inside the game thinks that it is running on a GC. Dolphin then takes the video output from the game and puts it on the screen.

(08-03-2011, 03:31 PM)Zhelkus Wrote: [ -> ]Would it be hard to re-encode losslessly from the emulator to the pc (ala video dumping, maybe)? Or is there a more practical solution already available?

Dolphin has in-built video dumping (frame dump) and audio dumping functions. First set the emulator to "native" 1X resolution and then enable those functions. At the moment, the video and audio have to be dumped into two separate files. Mux the two files together to form the final video file.
(08-03-2011, 05:05 PM)skid Wrote: [ -> ]Dolphin has in-built video dumping (frame dump) and audio dumping functions. First set the emulator to "native" 1X resolution and then enable those functions. At the moment, the video and audio have to be dumped into two separate files. Mux the two files together to form the final video file.
!!!!! This is fantastic! Let me get this straight: when I commence the process it will dump the video frame by frame... but the framerate will be according to the emulator's (or console's) output (or gfx overlay or whatever the technical term is, sorry not savvy enough) or according to the video file's framerate?

I remember Project64 running most games at varying FPS (F-Zero X @60FPS, Zeldas @<=30) but when I wanted to capture them with FRAPS it would seem that the overlay was always running at 60FPS and the video would also be recorded at 60... hence my question.
The dumped video will be running at full framerate (60fps)