From Fedora Project Wiki

Revision as of 02:50, 6 August 2009 by Xiphmont (talk | contribs) (correct a typo, improve grammar)

Thusnelda

Summary

Update libtheora to the 1.1 release (Thusnelda).

Owner

  • Name: Christopher Montgomery (xiphmont), AdamJackson
  • Email: cmontgom@redhat.com, ajax@redhat.com

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-08-05
  • Percentage of completion: 90%

1.1beta1 is in rawhide. It is a feature-complete beta of Theora 1.1, only bug-fixing remains to be done before the final 1.1 release.

Detailed Description

libtheora 1.1 incorporates a substantially improved encoder, codenamed 'Thusnelda'. Compared to libtheora 1.0, the new encoder can produce comparable quality encodings at a lower bitrate, or better quality at the same bitrate.

Over the last year, Monty has produced a series of detailed reports describing the Thusnelda improvements as they have been developed:

Additional features, as yet not part of a seperate report or demo page:

  • Adaptive quantization (use of multiple quantization levels in a given frame to optimize perceptual fidelity)
  • Improved rate control and two-pass encoding modes, drop-frame support and a rate-control tuning API
  • Encoder support for 4:2:2 and 4:4:4 chroma (decoder always had support)
  • Debugging 'telemetry' in the decoder; this graphs various bistream metrics onto the decoded output frames in realtime
  • Additional SIMD optimization

The development of Thusnelda was supported by Red Hat, Wikimedia and Mozilla.

Benefit to Fedora

A lot of positive momentum has been building around open video on the web. With this feature, Fedora becomes more attractive as a platform for producing video content in open formats.

Scope

All video-encoding applications that support theora will transparently benefit from the improvements in Thusnelda, including all applications that use gstreamer to encode video. Good examples in this category are GUI transcoding apps like transmageddon and arista (see http://lwn.net/Articles/333904/).

Applications that use mplayer or ffmpeg for video encoding may not benefit, since these frameworks come with their own implementations of the Theora format. The benefit to ffmpeg an mplayer depends on whether or not the package was built to use the external libtheora.

The new libtheora is a drop-in replacement, however the encoding functionality adds new rate control and tuning features. New features are not available to applications that use the encode functionality of libvorbis and have not been updated to use the extended API.

How To Test

You don't need any special hardware to test Theora encoding.

Use a video-encoding application to produce Theora-encoded content. Compare the quality with content produced with libtheora 1.0 and notice the improved quality.

The theora-tools package contains a commandline tool, theora_encode, that can be used to create Theora-encoded content.

(More detailed test instructions will be provided when I can get hold of Monty, who is travelling atm)

User Experience

Unchanged.

Dependencies

None.

Contingency Plan

If libtheora 1.1 turns out to be a catastrophic failure, revert to libtheora 1.0. If libtheora 1.1 is not finalized in time for F12, but the prereleases don't exhibit stability problems, we can just ship the latest available prerelease, which will still give us considerable quality improvements, due to the incremental nature of the improvements that are outlined above.

Documentation

No specific documentation should be needed, libtheora 1.1 is a transparent replacement for libtheora 1.0.

Release Notes

Fedora 12 comes with libtheora 1.1, including a substantially improved encoder, codenamed 'Thusnelda'.

Comments and Discussion