[Scummvm-devel] DXA file format for videos

Eugene Sandulenko sev at scummvm.org
Fri Apr 28 15:27:14 CEST 2006

On Fri, 28 Apr 2006 15:24:24 +0200
Torbjörn Andersson <eriktorbjorn at telia.com> wrote:

> Here is my comparision between the size of the (low-quality) MPEG
> cutscenes and the DXA cutscenes for Broken Sword:
> ----
> BS1: 35M  (32M video + 3.3M sound)
> BS2: 30M  (27M video + 3.2M sound)
Adequate quality mpeg2 videos take somewhat more:

BS1: 68MB video
BS2: 70MB video

Someone played with mencoder setting and provided cutscenes from German
version of the game. Above figures were based on that. Still it adds
some visible artifacts.

> ---
> BS1: 117M (96M video + 21M sound)
> BS2: 211M (186M video + 24M sound)
BS2 compresses badly because (a) it has compression artifacts which add
up to frame difference (b) it has moving background.

> The reason the DXA sound is so much larger is, of course, that it's
> uncompressed WAV. (From what I understand, compressed WAV isn't
> working as it should yet.)
As we discussed briefly, it would be natural to use sound-less DXAs and
reuse existing OGG files.

Mention of motion compensation on ZMBV (Zip Motion Blocks Video) used
by DosBox motivated me to give it a try. Adding it to existing DXA
encoder was matter of 15 lines of code.

Results weren't that impressive:

BS1: 100M video
BS2: 180M video

It seems that its move compensation scheme doesn't work that well.

Also I tried MNG, however this is a big beast, and I think it's even
bigger than libmpeg2. Results on it are much better, though it takes
enormous time for these settings:

  advmng -S 64 -3

I got

BS1: results are incomplete, but it gives 31MB where DXA gave 45MB
     so approximately I expect 75MB which is comparable with better
     quality mpeg2
BS2: 136MB video

However I don't really think adding libmng dependency is a good idea.

Another things I plan to try are:

 - zlib compression quality settings
 - png compression of frames

I'll report on these later, when they're done.

So current DXA results against adequate quality MPEG2 videos are:

  BS1: 2x bigger
  BS2: 3x bigger

Not that good as it appeared in the first place.


More information about the Scummvm-devel mailing list