Movatterモバイル変換
[0]ホーム
[theora-dev] libtheora 1.1 (Thusnelda) stable release
Ralph Gilesgiles at xiph.org
Thu Sep 24 23:02:45 PDT 2009
We are pleased to announce a new stable release of libtheora, theXiph.org Foundation's reference implementation of the royalty-freeTheora video format. This new release, version 1.1, codenamedThusnelda, incorporates all of the recent encoder improvements we havebeen making over the past year, though some of the code had itsgenesis all the wayback in 2003. It also brings substantial speed and robustnessimprovements 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 andobeys strict buffer constraints, including dropping frames ifnecessary. The latter is needed to enable live streaming withoutdisconnecting users or pausing to buffer during sudden motion. Obeyingthese constraints can yield substantially worse quality than the 1.0encoder, whose rate control did not obey any such constraints, andoften landed only in the vague neighborhood of the desired ratetarget. The new --soft-target option can relax a few of theseconstraints, but the new two-pass rate control mode gives qualityapproaching full "constant quality" mode with a predictable outputsize. This should be the preferred encoding method when not doing livestreaming. 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.bz2MD5 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.bz2Here 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 befamiliar 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 RDOprocess for speed reasons, but casting this in a proper RDO frameworkeliminates vast swaths of heuristics and fragile thresholds from the 1.0encoder.2. Better motion search The new motion search generates better results in less time, anddoes not suffer from CPU spikes under heavy motion like the 1.0encoder's did.3. Better fDCT The 1.0 encoder's forward transform was not well-matched to theinverse DCT used in the decoder, and was as a result responsible forsubstantial loss of detail and texture at high rates. It has beenreplaced 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 ablock-by-block basis since it was first published in 2004, however onlyan unreleased proof-of-concept encoder made use of this facility. The1.1 encoder now uses it to allocate bits more effectively within aframe, giving improved quality at higher rates.5. Better quantization matrices The new matrices give much less ringing and mosquito noise at lowrates, 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 itto plan allocation decisions in advance.7. Expanded rate-control API It is now possible to change the target quality, bitrate, bufferdelay, and keyframe interval in the while encoding. This gives anapplication 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 framesto maintain A-V sync during live streaming or for hybrid 24/30 fpscontent. The decoder still operates at a fixed frame rate, but canreport these duplicates to the application, allowing it to skipexpensive processing.9. Support for 4:2:2 and 4:4:4 video As with adaptive quantization, the specification has alwayssupported the less common 4:2:2 and 4:4:4 chroma subsamplings, usefulfor high quality intermediate work in video production. The 1.0decoder supported these subsamplings properly. However, the 1.0encoder couldn't produce streams in these formats. They are nowsupported in the 1.1 encoder.There are many other improvements in this release. The codebase issubstantially 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 workon encoder improvements, and have made significant progress onoptimizing the decoder on ARM and TI C64x DSP processors, importantfor Theora playback on mobile devices.Thanks to everyone who contributed to this release, and to the MozillaFoundation, the Wikimedia Foundation, and Red Hat, Inc. who supported this work.- Xiph.org Foundation for Open Media and the Theora development team.
More information about the theora-devmailing list
[8]ページ先頭