After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 572275 - Make theoraenc expose the new "Speed level" property
Make theoraenc expose the new "Speed level" property
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other All
: Normal enhancement
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-02-18 13:37 UTC by bens
Modified: 2009-08-10 23:53 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Same exact patch from the mailing list. (2.73 KB, patch)
2009-02-18 13:38 UTC, bens
none Details | Review
New patch (2.80 KB, patch)
2009-02-18 13:49 UTC, bens
none Details | Review

Description bens 2009-02-18 13:37:27 UTC
The attached patch exposes the Speed Level property, new in the Theora 1.0
series, in theoraenc as "speed-level".  This property, if set to a value
of 2, accelerates encoding by disabling motion vectors entirely.

The attached patch is tested to enable control of the speed-level property
in theoraenc.  This patch does not break backwards compatibility, nor does
it change default behaviors.  (The speed-level knob will simply have no
effect on old versions of libtheora.)

My motivation, which is entirely irrelevant, is to encode video in real
time on the XO, especially for video chat.  In my completely arbitrary
test, I observed an 18% speedup at fixed quality, at a cost of 25%
increased bitrate.  (Frankly, I was hoping for a much larger speedup, but
never mind.)
Comment 1 bens 2009-02-18 13:38:18 UTC
Created attachment 128976 [details] [review]
Same exact patch from the mailing list.
Comment 2 bens 2009-02-18 13:49:16 UTC
Created attachment 128978 [details] [review]
New patch

This version uses a #ifdef to (1) compile against all old versions and (2) expose the speed-level parameter only if compiled against recent headers (1.0b3 is new enough, maybe even earlier).
Comment 3 David Schleef 2009-02-19 20:46:59 UTC
commit d8a33f094c8a5bdf5e403e4be02076312cbd7f64
Author: Benjamin M. Schwartz <bens@alum.mit.edu>
Date:   Thu Feb 19 12:18:29 2009 -0800

    theoraenc: Add property for speed level control
    
    Add property "speed-level" to control the amount of motion searching
    the encoder does.  This is only available in libtheora >= 1.0 and
    will silently fail with earlier libraries.  Fixes: #572275.
    
    Signed-off-by: David Schleef <ds@schleef.org>