[theora-dev] sharpen modifier table
Ralph Giles
giles at xiph.org
Tue Mar 9 11:34:53 PST 2004
Does anyone understand the SharpenModifier table in pp.c, used in the
Block Dering filter?
Our general program has been to move any data tables required by the
decoder into the third setup (or 'table') packet to allow future encoder
flexibility. Yesterday I committed changes to the reference
implementation to include the limit value table used by the in-loop
filter which is the last of the required tables. We're now looking at
the post-process filters.
The SharpenModifier table values are all non-positive with a magnitude
less than 16, which would obviously make for a small table. Looking at
the way the values are used, -64 to +32 would seem to be the reasonable
full range, but the code actually lets you put anything at all in there.
Can someone enlighten me about the theory behind this filter and what
are reasonable bounds on the table values?
The other pp data table (the dering modifiers) are obviously derived
from the dc scale factor table which we already encode, so the sharpen
modifiers are the only spec bit missing (unless you count all the
threshold values).
Derf suggested not including the table at all and making the pp filters
non-normative (as they're already optional in the code). The idea is
that they're not required for proper decode and so shouldn't be, and
that given their non-linearity, there's little scope for the encoder to
be clever if it can change them. I think this is a reasonable argument
(and currently the default plan) but am happy to listen to other
arguments.
Cheers,
-r
--- >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