Broken Sword I & II - Enhanced cutscene project - Update

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
User avatar
doelli811
Posts: 6
Joined: Tue Jun 26, 2007 12:58 pm
Location: Germany

Post by doelli811 »

I have made a .dxa file from Phreddy's mp4-file.
Here it is: http://uploaded.to/?id=y7pdx6 (Only a test)

But it looks not really better than the original dxa file. Why? :cry:
And the file is to big, aprox. 45MB. I don't know how I can more compress the png pictures.

The PNG (8bit) files are great, but if I encode it to dxa and play it ScummVM, the video looks not so good.
Okay, it's has only 12 frames/sec, but that isn't the problem.

I want to know what the tool "encode_dxa" do, or how ScummVM use the dxa in the engine?
Why looks pictures after encode so bad? Really. No Antialiasing!

And thanks Phreddy for his great work :D 8) :twisted:
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

doelli811 wrote: And the file is to big, aprox. 45MB. I don't know how I can more compress the png pictures.
The compression of the PNG images don't matter. The frames are re-compressed using one of several different methods. Whichever method produces the smallest output is used.

I don't really understand the methods that are used myself. One of them simply stores a compressed description of the difference between one frame and the next one. That method works best if there are little or no difference between the frame. If there's even the tiniest difference (it might not even be visible to the naked eye) in the colours used, the method could break down completely. In that case, another method would probably be used, but it's likely that they too work best if two consecutive frames are almost identical.

Some of the Broken Sword 1 movies were originally 640x200 pixels, rather than 640x400. The movie was then scaled up on plaback. That might improve the compression rate, too, though I don't remember if the intro movie was one of these. Cleaned-up versions of the movies wouldn't have this advantage.
doelli811 wrote: The PNG (8bit) files are great, but if I encode it to dxa and play it ScummVM, the video looks not so good.
Okay, it's has only 12 frames/sec, but that isn't the problem.

I want to know what the tool "encode_dxa" do, or how ScummVM use the dxa in the engine?
Why looks pictures after encode so bad? Really. No Antialiasing!
The encoder shouldn't make any changes to the frames at all. Whatever is in them will be what's in the resulting DXA file as well.

I haven't looked at yours, though. It's too late at night here.
User avatar
Phreddy
Posts: 32
Joined: Thu Jun 28, 2007 12:50 am

Post by Phreddy »

Thanks for the encouragement, it's much appreciated :).
I'm currently trying to find a way to convert back to 8 bit color with as little image quality loss as possible. After that, I'll scour the web for a DXA codec (so that I can encode using VDubMod rather than a standalone application) or at least a standalone encoder that can take an AVI file as input.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

Phreddy wrote:TI'll scour the web for a DXA codec (so that I can encode using VDubMod rather than a standalone application) or at least a standalone encoder that can take an AVI file as input.
I'd be surprised if you found one, really. From what I understand, DXA was something Runesoft invented, probably as a Smacker replacement, for the Macintosh and Amiga versions of The Feeble Files. ScummVM's DXA encoder extends the format further by adding some further compression methods, and allowing the sound to be a separate, compressed file.

So it's not widely used to begin with, and ScummVM uses a non-standard version of it.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

Could ScummVM be altered to allow the usage of these vastly improved videos? Could that be possible? (In the same way it supports .OGG for audio.)
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

JohnnyWalker2001 wrote:Could ScummVM be altered to allow the usage of these vastly improved videos? Could that be possible? (In the same way it supports .OGG for audio.)
If you mean using an alternative set of DXA movies, ScummVM can already do that, of course. If you mean adding support for a another movie format that uses 16-bit colour, I doubt it. I'm even hoping for the MPEG support (which does use 16-bit colour) to eventually go away, since it's such an annoying hack.
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

Well.... a few of the HE SCUMM games do use 16bit color Bink videos (such as football2002), so something will have to be done eventually....
User avatar
john_doe
ScummVM Developer
Posts: 117
Joined: Fri Nov 04, 2005 8:25 pm
Location: Stuttgart, Germany

Post by john_doe »

If 16bit videos need to be supported one day, I'd either use Theora (better than MPEG2, no licensing issues and the API is ok to use and a similar interface like that of the DXA decoder would be easy to do) or roll an own simple codec.
I even played around with this idea ("DXA32" :)) but never got far.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

john_doe wrote:If 16bit videos need to be supported one day, I'd either use Theora (better than MPEG2, no licensing issues and the API is ok to use and a similar interface like that of the DXA decoder would be easy to do) or roll an own simple codec.
I even played around with this idea ("DXA32" :)) but never got far.
Last time I tried, Theora needed fairly fast hardware to work well. By which I mean that my previous computer (450 MHz P3) wasn't quite fast enough to handle it.

Then again, the Theora libraries still have "alpha" in their version number, so maybe that'll improve over time.
User avatar
Phreddy
Posts: 32
Joined: Thu Jun 28, 2007 12:50 am

Post by Phreddy »

How about some form of MPEG4 ASP like Xvid?
User avatar
Phreddy
Posts: 32
Joined: Thu Jun 28, 2007 12:50 am

Post by Phreddy »

The Bink FAQ says that it supports AVI input, so the only thing I'd need to do is modify the .BAT file, right?
User avatar
Phreddy
Posts: 32
Joined: Thu Jun 28, 2007 12:50 am

Post by Phreddy »

I finally found a way to avoid the yellow smudges while keeping the image quality. As soon as someone answers my last question, I'll make a full DXA encode of the intro.
User avatar
JamesWoodcock
Posts: 222
Joined: Wed Nov 09, 2005 12:20 am
Location: England UK
Contact:

Post by JamesWoodcock »

Excellent work, nothing better than the fanbase trying (and succeeding) in improving our enjoyment :)

Look forward to the final downloads when you say, hey its all done :)
clem
Posts: 2159
Joined: Mon Oct 31, 2005 11:14 am

Post by clem »

Phreddy wrote:The Bink FAQ says that it supports AVI input, so the only thing I'd need to do is modify the .BAT file, right?
not sure what exactly you are trying to do, but bink is actually quite userfriendly from a programmer's perspective.

run "binkconv /?" for command line switches

"binkconv file.avi outfile.png" will convert to a series of png files. It is also possible to create an AVI file from a series of png files (it'll prompt you for the compressor)
User avatar
Phreddy
Posts: 32
Joined: Thu Jun 28, 2007 12:50 am

Post by Phreddy »

What I'm asking is wether simply altering the .bat file to take a single .AVI instead of a series of PNGs would suffice to make a .DXA out of my lossless intermediary files.
Post Reply