libtheora reference implementation
During TheoraMeeting200804 it was stated that before 1.0, the following should happen:
- figure out how to expose the improved theora-exp API (libtheoradec, libtheoraenc, etc.)
- rewrite the API documentation, more information besides C syntax
- think a bit more about the logo and its use policy
- integrate VS patches from Nils Pipenbrinck for the filter and idct mmx functions to match more the gcc style
- check build support on more platforms, particularly MSVC and Apple's XCode
- fix most Theora tickets in the trac
- remove debug flags (done in RC1) and add optimization ones
- add some examples (YUV4MPEG -> Theora ?), add docs for existing ones (what is it supposed to do ?)
1.0 was released on 2008-11-03.
- complete Ogg mapping description in the spec
- update RTP mapping spec
1.1.0 was released on 2009-09-24.
- see Theora: The push for 1.0, Thusnelda project update 20080320 (beyond 1.0 spec section) and Theora "the push for 1.0" update: xiphmont articles on theora future. See also other Theora development articles
According to the 2008-04-01 Theora meeting that's on the six-month timeframe.
- update binaries of XiphQT and Directshow Filters (includig fix for bug 1301)
- update and fix FFMPEG2THEORA (see Trac)
Easy Transcoding on Windows
It's difficult for some people to create theora files outside the command line. We need a simple tool that does drag-and-drop transcoding, with a gui for metadata and license marking, and some simple cleanup like crop/scale/rotate and color adjustment. This could be just a wrapper around ffmpeg2theora.
Albeit technically it would be possible (and simple) to do GUI wrapper for ffmpeg2theora it may be wiser to write a completely new application which uses DirectShow to decode the given media file. This way the encoder wouldn't have to ship with evil patented decoders and still can transcode any source the computer can play in e.g. Windows Media Player. - Maikmerten 12:06, 30 July 2007 (PDT)
It is important that content creators be able to easily create theora videos.
- write a stand-alone output encoder plugin that does best-practices export
- do a gui transcode tool, a little like ffmpeg2theora, but pulling from the native quicktime decoders and writing out theora + vorbis/speex. Must have a drag and drop interface with sensible quality presets, metadata insertion. Bonus points for integrated stream sourcing and upload to various free sharing sites with appropriate CC licensing.
Setting keyframes dynamically could increase both quality and compression. Have a look at this: .
- That paper is not really applicable any more. Libtheora tracks an estimated cost of coding a frames as an intra and will switch if its expects a net win. In multi-pass encoding we could use this data for optimal placement (via Dijkstra over the directed graph formed by all possible keyframe constraint windows in all contiguous segments where the estimated cost of using a keyframe is positive), although preliminary testing didn't show much benefit. This may be due to accuracy problems in the current estimates.