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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.