just added to the WIKI: * Ideas with some concensus after discussion on IRC, it was provisionally agreed (by those present at the time) that Theora should support arbitrary pixel sizes (presently it is limited to multiples of 16 both horizontally and vertically). It is felt that this can be achieved with minimal pain by adding four values to the page header, immediately following the present width & height parameters (before fps_numerator & fps_denominator): pixel_width, pixel_height, x_offset, and y_offset (or somesuch). The existing width & height parameters specify (in 16x16 units as they do now) the encoded frame size, which will always be a multiple of 16x16 blocks. The new parameters should specify a rectangle within said encoded frame which correspond to the actual pixels to be displayed. The encoder is responsible for properly promoting the incoming image to a multiple of 16x16, and specifying the cropping rectangle (-dbm 5/22/03) <p> ___ Dan Miller (++,) Founder, On2 Technologies --- >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.
On Thu, 22 May 2003, Dan Miller wrote:> after discussion on IRC, it was provisionally agreed (by those present at the time) that Theora should support arbitrary pixel sizes (presently it is limited to multiples of 16 both horizontally and vertically).Really? Does this go for VP3 as well? It seems to me that VP3 handles arbitrary resolutions as well (and I think it's messing me up on a few files). -- -Mike Melanson <p><p>--- >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.
On Thursday, May 22, 2003, at 09:46 pm, Dan Miller wrote:> The encoder is responsible for properly promoting the incoming image > to a multiple of 16x16, and specifying the cropping rectangleWhat's the best thing to pad with in this case? Is there anything that avoids complicating the motion estimation overly much? -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.
On Thu, 22 May 2003, Dan Miller wrote:> > > after discussion on IRC, it was provisionally agreed (by > those present at the time) that Theora should support > arbitrary pixel sizes (presently it is limited to multiples > of 16 both horizontally and vertically). > > Really? Does this go for VP3 as well? It seems to me that VP3 > handles arbitrary resolutions as well (and I think it's > messing me up on a > few files).I was under the impression that VP3 did *not* handle arbitrary resolutions. I'm sure the libs don't; perhaps we ended up supporting it for Quicktime? (I'm 99% sure it's not supported for VFW)> > -- > -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@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@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
> I've heard that mirrored data works well when DCT is taken into > consideration.It works "well", but one can do better. One can choose values for the padding so that exactly as many high-frequency coefficients of the DCT as there are padding pixels in a block are forced to 0. This is actually relatively easy to do with the following iterative process: 1) Choose arbitrary values for the padding (e.g., mirroring) 2) Perform a DCT on the block 3) Replace the last N DCT coefficients with 0's (where N is the number of padding pixels) 4) Perform an iDCT on the coefficients 5) Replace the non-padding pixels with their original values 6) Go back to 2 until convergence Obviously, this is much slower than simple mirroring, and real-time encoders may not wish to spend this time for the minor benefits it gives. It is for this reason that padding values should be non-normative. Encoders should be able to choose anything they want. Decoders should never render them. Also, the above algorithm assumes that the transform is linear. Since Theora uses an integer approximation, the rounding and truncation in it introduces small non-linearities. In practice, it should be enough to get the values below the quantization threshold. --- >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.
On a somewhat related note, is there any reason to encode at dimensions which are multiples of 32 in order to have full superblocks? How much do VP3 superblocks play a part in the video compression efficiency? -Henry -- ____________________________________________ http://www.operamail.com Get OperaMail Premium today - USD 29.99/year <p>Powered by Outblaze --- >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.
I have just implemented this change and it is checked into the CVS tree. Update your local copies, and remember that this is a bitstream change, so content needs to be reencoded. The encoder_example has been revised to do the right thing. The players are however still displaying the whole decoded frame window. I guess this is useful for debugging at this time, allowing developers to check if the offset is correct, etc. It should be trivial to instruct the player to only get the pixels in the specified rectangle, maybe with a flag. Regards, Mauricio> after discussion on IRC, it was provisionally agreed (by those present atthe time) that Theora should support arbitrary pixel sizes (presently it is limited to multiples of 16 both horizontally and vertically).> > It is felt that this can be achieved with minimal pain by adding fourvalues to the page header, immediately following the present width & height parameters (before fps_numerator & fps_denominator): pixel_width, pixel_height, x_offset, and y_offset (or somesuch).> > The existing width & height parameters specify (in 16x16 units as they donow) the encoded frame size, which will always be a multiple of 16x16 blocks. The new parameters should specify a rectangle within said encoded frame which correspond to the actual pixels to be displayed. The encoder is responsible for properly promoting the incoming image to a multiple of 16x16, and specifying the cropping rectangle (-dbm 5/22/03) --- >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.