gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Announcements And Comments > DSVideo - Wavelet video player for NDS

#150673 - nickludlam - Sun Feb 10, 2008 2:36 pm

We've just opened the doors to http://dsvideo.recoil.org/ which contains binaries and source for our Wavelet video codec.

The player includes a short sample video for testing, and we've provided command-line encoders for Windows, Mac OS X and Linux. It uses FFmpeg, so should be able to convert any kind of videos you want.

This is our first release, so if you try it out, please drop by our forums ( http://forums.recoil.org/ ) to let us know what you think.

Thanks,
The DSVideo Team

#150694 - dantheman - Sun Feb 10, 2008 9:29 pm

Whenever I try to launch the encoder through the command line, an error box pops up saying:
The application failed to initialize properly (0xc0150002). Click on OK to terminate the application.

I'm using Windows XP home version.

#150696 - Dwedit - Sun Feb 10, 2008 11:19 pm

Is there interframe encoding, or is this just Motion Jpeg2000?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#150699 - tepples - Sun Feb 10, 2008 11:52 pm

On the web site, Nick Ludlam wrote:
An entire movie can be compressed into around 400MB.

If I assume a 100-minute feature film, that gives 4 megabytes (megaoctets) per minute, or roughly 530 kilobits per second. That's twice the bit rate that I usually use with DPG video in MoonShell (192 video, 64 audio, for 12-15 fps). What kind of frame rate are they assuming?

dantheman: Google tells me that somebody solved 0xc0150002 errors by installing the latest service pack and .NET Framework 2.0.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#150702 - dantheman - Mon Feb 11, 2008 12:45 am

tepples wrote:
dantheman: Google tells me that somebody solved 0xc0150002 errors by installing the latest service pack and .NET Framework 2.0.

According to "Add/Remove Programs" I've got 1.0, 2.0, and 3.0 installed now, but I'll look into it, thanks for the tip.

#150705 - dominicludlam - Mon Feb 11, 2008 2:02 am

dantheman: You'll need version 3.5, available here:
http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

dwedit: We use the CDF(2.2) wavelet which is one of the wavelets available for jpeg2000, but otherwise they're completely unrelated. There is intraframe compression, but it's not based on motion compensation, so it also couldn't really be called "motion" anything :) It uses an adaptive vector quantisation scheme... I'll probably try to put up some more technical details on how the codec works when there's time.

tepples: The frame rate is 12.5 fps max, the ds isn't poweful enough to do the wavelets any faster than that. I haven't actually looked at moonshell that much, can you point me to something where I can play with encoding a full movie? I'd really like to play with it and do some comparisons. I tend not to use windows, so is there a linux encoder?

#150707 - nickludlam - Mon Feb 11, 2008 2:10 am

I've updated the website download page to mention that .NET 3.5 is required. Thanks for helping us track this issue down.

#150709 - tepples - Mon Feb 11, 2008 2:14 am

dominicludlam wrote:
dantheman: You'll need version 3.5, available here:
http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

In other words, Windows 2000 users need not apply.

Quote:
dwedit: We use the CDF(2.2) wavelet which is one of the wavelets available for jpeg2000, but otherwise they're completely unrelated. There is intraframe compression, but it's not based on motion compensation, so it also couldn't really be called "motion" anything :)

"Motion JPEG" refers to storing each frame as a JPEG stream without any interframe compression. DV uses a similar technique.

Quote:
tepples: The frame rate is 12.5 fps max, the ds isn't poweful enough to do the wavelets any faster than that.

DPG is a wrapper around MPEG-1. MPEG-1 uses I-frames (keyframes), P-frames (diffs from the previous I-frame or P-frame), and B-frames (diffs from the previous and next I-frame or P-frame), and the P-frames and B-frames have motion compensation in 16x16 pixel blocks. Some people report going up to 18 fps, but as far as I can tell, 12 to 15 fps is the sweet spot. DPG has to use a custom wrapper because the MPEG native wrapper doesn't go below 24/25/30 fps.

Quote:
I haven't actually looked at moonshell that much, can you point me to something where I can play with encoding a full movie?

First convert the movie to something that your DPG encoder accepts. Under Windows, I have used DVDFab HD Decrypter, VirtualDub with MPEG-2, and AC-3 ACM to convert DVD to DivX at the appropriate frame rate. I haven't looked at the situation under Linux, but it should be doable.

Quote:
I'd really like to play with it and do some comparisons. I tend not to use windows, so is there a linux encoder?

I'll let Google answer that.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#150713 - dantheman - Mon Feb 11, 2008 3:43 am

tepples wrote:
Some people report going up to 18 fps, but as far as I can tell, 12 to 15 fps is the sweet spot.

Due to optimizations made in the last few versions of Moonshell, you can get satisfactory results with higher framerates. I use 20 by default for my videos and don't experience any lag, though I understand with widescreen videos that don't fill the DS's total vertical resolution you can experiment with going up to 22 or so.

As for Linux conversion to DPG, http://theli.is-a-geek.org/blog/static/dpgconv appears to be what you want, though it does not support DPG3 which was released with Moonshell 1.7x. To be fair though, neither BatchDPG nor SUPER support DPG3 either, leaving, leaving DPGTools 13 and DPGMux the only converters that can convert to that format. In any case, there's a very large thread here on GBAdev somewhere that follows the creation of DPGconv and discusses other issues relating to DPG conversion in Linux.

I'll install the .NET 3.5 framework sometime soon. I thought it might have been an issue with that, but I wasn't aware anything higher than 3.0 existed at the time.