[theora-dev] More Missing Pieces

Dan Miller dan at on2.com
Mon Feb 24 08:13:52 PST 2003



hi mike --

> -----Original Message-----
> From: Mike Melanson [mailto:melanson at pcisys.net]
...
> * Version 3.3 tables: There are 2 sets of VLCs: One for v3.1 
> and one for
> v3.3. The v3.1 set is always selected. Are the v3.3 tables in 
> production,
> or will they ever be?

Here's what's happening with that part of the code.  This is the one substantial change we've already committed to.  The following six tables:

QThreshTableV1
DcScaleFactorTableV1
Y_coeffsV1
UV_coeffsV1
Inter_coeffsV1
FrequencyCounts_VP3 (used to be FrequencyCounts_VP31)

are now written into and read from the stream header.  I think recent CVS reflects this change (I sent Monty a patch a while ago).  Monty may change the way these headers work, but in any case these values are now all 'soft' in the sense that the encoder may write any values it wants and the decoder will load & use them.  This is in line with the 'make the decoder flexible' philosophy as seen in vorbis.

I left the alternate tables in the encoder as a way to roughly test the functionality.  This should also be in CVS.  If it's there, you should see these lines of code in quant.c:

///	dbm -- defined some alternative tables to test header packing:
#define NEW_QTABLES 0
#if NEW_QTABLES

and similar elsewhere.  Hopefully sometime in the future we can redesign the encoder to utilize this functionality to optimize these tables for the particular stream.  Note however that if we do that, new streams will no longer be transcodable back to VP3.  That's why I've been saying that VP3 is convertible into Theora, but not necessarily vice versa.

> 
> * DC Search Points: VP3 seems determined to predict DC from 
> *something*.

I haven't looked at this part of the code yet.  I'll let you know when I do.

- dan

> To that end, DCT_decode.c:ReconRefFrames() has code to search through
> surrounding fragments in a last ditch effort to find valid 
> fragments from
> which to predict DC. While the code is there, 
> DCSearchPointCount is set to
> 0 (while a legitimate calculation was commented out) which effectively
> short-circuits the DC search code. So, no DC searching in 
> this version?
> Will it be back in another version?
> 
> 	Thanks...
> --
> 	-Mike Melanson
> 
> 
> 
> --- >8 ----
> List archives:  http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to 
> 'theora-dev-request at xiph.org'
> containing only the word 'unsubscribe' in the body.  No 
> subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.
> 
--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Theora-dev mailing list