#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