#5988 NORM Never A: Theora encoding is too slow

Zarro Boogs per Child bugtracker at laptop.org
Sat Jan 12 13:57:32 EST 2008


#5988: Theora encoding is too slow
-------------------------+--------------------------------------------------
 Reporter:  bemasc       |       Owner:  jg            
     Type:  enhancement  |      Status:  new           
 Priority:  normal       |   Milestone:  Never Assigned
Component:  distro       |     Version:                
 Keywords:               |    Verified:  0             
 Blocking:               |   Blockedby:                
-------------------------+--------------------------------------------------
 Theora encoding is slow.  Specifically, it's too slow for video
 conferencing.  After talking to the Theora developers, I have learned
 that:

 1. Theora SVN includes a super-high-speed mode, undocumented and not
 enabled by default.  It sacrifices a small amount of quality/efficiency in
 order to achieve much higher speed.
 2. Monty is working on a new Theora encoder, codenamed Thusnelda, which is
 expected to be faster still, under contract with Red Hat.

 The Theora developers suggest using a recent SVN build of Theora, and
 compiling it with all Geode optimizations, in order to improve
 performance.  They also suggest using a patched Gstreamer plugin that uses
 the high-speed encoding mode.  Patches attached.

 rillian: in the gstreamer plugin, add a call theora_control() whith
 TH_ENCCTL_SET_SPLEVEL, value 2

 that's in the gstreamer plugin, part of gst-plugins-base
 only works with theora beta-2 or svn
 must recompile both

 (09:35:07) maikmerten: bemasc|sleep,
 http://people.xiph.org/~maikmerten/speed_example.diff provides an example
 of how to enable a very fast mode in the Theora encoder using the
 theora_control() API
 (09:35:50) maikmerten: bemasc|sleep, for optimal results use libtheora
 from SVN, the fastest mode in beta 1 and 2 are offering far worse quality
 (09:36:01) maikmerten: s/are/is
 (10:12:56) xiphmont: The Thusnelda encoder I'm working on will be able to
 offer faster mainline modes in a few days as well.


 (14:50:31) derf: bemasc: Also, I'd highly recommend you compile libtheora
 with a geode-aware version of gcc specifically targeting that
 architecture.
 (14:51:07) bemasc: derf: I'll do that.  OLPC is maintaining a patched
 geode-aware gcc for that purpose, but is avoiding recompiling most of the
 system.
 (14:51:41) maikmerten: ask the Gentoo people if they can do some nice
 unrolled-loops builds for yer ;)
 (14:51:43) derf: libtheora in general has a huge reliance on the compiler
 doing smart things for the given architecture.
 (14:51:59) bemasc: maikmerten: I run Gentoo, so my instinct was of course
 to recompile everything for the target cpu
 (14:52:09) derf: As in, compiler options can make up to a 50% difference
 in speed.

 (14:58:33) rillian: bemasc: we ship a .spec file. no idea if it works
 though
 (14:59:54) rillian: it's in EXTRA_DIST

-- 
Ticket URL: <http://dev.laptop.org/ticket/5988>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list