[theora-dev] Theora integration question

Engineering ee at athyriogames.com
Mon Oct 15 17:27:50 PDT 2012

Hi Benjamin,

Just to give another example on our use (abuse?) of Theora

Say we have a select screen at game start with 5 options. To make it look
more interesting, I have the artists go wild with 3D animation. We end up
with 13 movies - 5 looping idle movies for options A,B,C,D, and E, and 8
transitions between (a to b, b to c, etc.)

Each of these movies could be around 1 second long, and need to be almost
instantly accessible.

Knowing what I know now, I feel a bit silly, but at the time, I was only
looking at the RAM footprint of the data - and I turned the artists loose on
stuff like this.

I agree that the individual files works well for this, and makes programming
and updating individual pieces of art easier. Currently this means that I
have 13 encoders sitting in memory for roughly 13 seconds of video.

I certainly acknowledge that the issues are not due to Theora's design, but
rather my architecture and misuse of Theora!

Our movie's YUV data ends up in the graphics RAM on a video card. I hit that
wall a long time ago, and so we have a mechanism for "mutually exclusive"
movies to share the same VRAM. That's why my first instinct was to see if
there were any internal Theora buffers that could be shared the same way.

> From: Benjamin Schwartz [mailto:benjamin.m.schwartz at gmail.com]
> A single Theora movie must have a single resolution, so you can't use
> this to combine different movies at different resolutions (unless you
> scale them all up to 1080p before encoding, which I don't recommend).
> Even if they are matched, I disagree that this is more elegant.  A
> filesystem, with named files, is a great, elegant way to identify
> distinct movies.

More information about the theora-dev mailing list