GNOME Bugzilla – Bug 572275
Make theoraenc expose the new "Speed level" property
Last modified: 2009-08-10 23:53:33 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.)
Created attachment 128976 [details] [review] Same exact patch from the mailing list.
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).
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>