Tangent: Video format

Progress reports and musings from the developers on the current gaming tools.

Moderators: dorpond, trevor, Azhrei

Post Reply
User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Tangent: Video format

Post by trevor »

I got distracted this weekend. I wrote a video format and player that takes advantage of the fact that MT video has long periods of little of no change.

Compressing 1.8g of uncompressed images results in a 33meg xvid file running at 12 frames a second. My little test compressed it to 26meg, with arbitrary frames per second (it doesn't put frame speed into the file).

Not a huge gain like I was hoping, I might tweak around with it some more and see if I can eek out a some more.

Some of the advantages would be trivial streaming from a video file URL, and cross platform player that can actually be bundled with the video (since it's so small).

But mostly it was just to scratch a curiosity I've had for some time.
Dreaming of a 1.3 release

User avatar
dLANbandit
Dragon
Posts: 636
Joined: Wed Dec 13, 2006 10:43 pm

Post by dLANbandit »

It was my understanding that xvid and other video codex abuse a similar trick at a lower level. One of the methods they use to remove data volume from the video is to look at the pixels around the current compression target, both specially in the current image, and chronologically at the previous state and the next state. Then it approximates that part of the image based on how focused the eye is on that section of the image and the content of the image around it. So overall if part of an image is not changing "significantly" then it will get lumped in with another section of the image in a 'draw area' instead of a draw 'this pixel. Thus taking less storage space.

But I think with screen captures it messes up the "where is the eye focused" estimation part of the algorithm because the entire image is focused, where as in normal video the lens used will have part of the image unfocused, thus giving clues as to where the eye should be. Which in turn tells the algorithm where it can cheat because the eye isn't focused there.

Post Reply

Return to “Developer Notes”