Re: libtheora 1.1 (Thusnelda) stable release
Silvia Pfeiffer <[email protected]>
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <2c0e02830909250006o7810fd20mf8534390f68dcbde__17920.3929532834$1253862440$gmane$org@mail.gmail.com> |
Congratulations! Somebody should also put this into a blog post that is more easily readable. :) Cheers, Silvia. On Fri, Sep 25, 2009 at 4:02 PM, Ralph Giles <[email protected]> wrote: > We are pleased to announce a new stable release of libtheora, the > Xiph.org Foundation's reference implementation of the royalty-free > Theora video format. This new release, version 1.1, codenamed > Thusnelda, incorporates all of the recent encoder improvements we have > been making over the past year, though some of the code had its > genesis all the way > back in 2003. It also brings substantial speed and robustness > improvements to the 1.0 decoder. > > Rate-control has been substantially overhauled from the 1.0 release. > The new rate control module hits its target much more accurately and > obeys strict buffer constraints, including dropping frames if > necessary. The latter is needed to enable live streaming without > disconnecting users or pausing to buffer during sudden motion. Obeying > these constraints can yield substantially worse quality than the 1.0 > encoder, whose rate control did not obey any such constraints, and > often landed only in the vague neighborhood of the desired rate > target. The new --soft-target option can relax a few of these > constraints, but the new two-pass rate control mode gives quality > approaching full "constant quality" mode with a predictable output > size. This should be the preferred encoding method when not doing live > streaming. Two-pass may also be used with finite buffer constraints, > for non-live streaming. > > Source packages: > > * http://downloads.xiph.org/releases/theora/libtheora-1.1.0.tar.gz > * http://downloads.xiph.org/releases/theora/libtheora-1.1.0.zip > * http://downloads.xiph.org/releases/theora/libtheora-1.1.0.tar.xz > * http://downloads.xiph.org/releases/theora/libtheora-1.1.0.tar.bz2 > > MD5 checksums: > > 303c782de0f943bfceac1f0bdea7a22e libtheora-1.1.0.tar.gz > 9ffb36e80bfd46b6eb6848fcf526efcf libtheora-1.1.0.zip > 76931beb93d1cb0c4c7fdfef3f7c4cb0 libtheora-1.1.0.tar.xz > d0f83cf7f13e2b3bd068a858ca1398ad libtheora-1.1.0.tar.bz2 > > > Here is a list of some of the technical improvements in the 1.1 encoder. > If you have been following Monty's demo pages, many of these will be > familiar to you: > > 1. Rate-distortion optimization, which leads to > a. Better mode decision > b. Better quantization decisions > Most coding decisions only use an approximation of the full RDO > process for speed reasons, but casting this in a proper RDO framework > eliminates vast swaths of heuristics and fragile thresholds from the 1.0 > encoder. > > 2. Better motion search > The new motion search generates better results in less time, and > does not suffer from CPU spikes under heavy motion like the 1.0 > encoder's did. > > 3. Better fDCT > The 1.0 encoder's forward transform was not well-matched to the > inverse DCT used in the decoder, and was as a result responsible for > substantial loss of detail and texture at high rates. It has been > replaced with a forward DCT that gives much smaller round-trip error. > The inverse DCT in the decoder remains unchanged, for compatibility. > > 4. Adaptive quantization > The bitstream specification has supported changing the quantizer on a > block-by-block basis since it was first published in 2004, however only > an unreleased proof-of-concept encoder made use of this facility. The > 1.1 encoder now uses it to allocate bits more effectively within a > frame, giving improved quality at higher rates. > > 5. Better quantization matrices > The new matrices give much less ringing and mosquito noise at low > rates, substantially improving the appearance of high-contrast edges > (e.g., text). > > 6. A real rate-control module > As mentioned above, the new rate control actually meets its targets, > can enforce hard buffer constraints, and has a two-pass mode to allow it > to plan allocation decisions in advance. > > 7. Expanded rate-control API > It is now possible to change the target quality, bitrate, buffer > delay, and keyframe interval in the while encoding. This gives an > application using libtheora much more control over the final output. > > 8. Explicit variable frame rate support in the encoder > A new API allows an application to cheaply insert duplicate frames > to maintain A-V sync during live streaming or for hybrid 24/30 fps > content. The decoder still operates at a fixed frame rate, but can > report these duplicates to the application, allowing it to skip > expensive processing. > > 9. Support for 4:2:2 and 4:4:4 video > As with adaptive quantization, the specification has always > supported the less common 4:2:2 and 4:4:4 chroma subsamplings, useful > for high quality intermediate work in video production. The 1.0 > decoder supported these subsamplings properly. However, the 1.0 > encoder couldn't produce streams in these formats. They are now > supported in the 1.1 encoder. > > There are many other improvements in this release. The codebase is > substantially smaller, the examples have all been ported to the new API, > the MSVC assembly is now in sync with the gcc assembly, and much more. > We strongly encourage all our users to upgrade. > > This is not the end of the story, however. We are continuing to work > on encoder improvements, and have made significant progress on > optimizing the decoder on ARM and TI C64x DSP processors, important > for Theora playback on mobile devices. > > Thanks to everyone who contributed to this release, and to the Mozilla > Foundation, the Wikimedia Foundation, and Red Hat, Inc. who supported this work. > > - Xiph.org Foundation for Open Media and the Theora development team. > _______________________________________________ > theora-dev mailing list > [email protected] > http://lists.xiph.org/mailman/listinfo/theora-dev >