[theora] Theora encode/decode performance is poor - with resolution 640X480

db peng pengdb at gmail.com
Sun Feb 8 17:08:18 PST 2009


  We build a Voip client with
Iaxclient(Jiaxclient+Iaxclient2.1beta1+Theora1.0+libvidcap0.21),when
we established video call with resolution
640X480(bitrate:500000,frameRate:11,fragsize:1472) in both sides,the
CPU is consumed about 100%,the workload of Asterisk server is good at
that moment.This issue does not exist with the resolution
320X240(bitrate:204800,frameRate:11,fragsize:1500),  the environment
is as following,
    - CPU Interl  Celeron 2.66GHz,RAM1GB,
    - Windows XP SP2
    - Camera Logitech 4000 pro
  We convert the video as resolution 320X240 used for displaying as
local user's profile video while capturing and sending video to remote
user,the process of capturing video from camera send it to remote user
and display it in remote user side is like the below,
  grab video(YUV format) -> Theora encode  -> sent video .....  ->
receive video -> Theora decode -> (video data with YUV format) ->
Jiaxclient( show video picture).
  According to profile about Iaxclient and our analysis it is found
what consumed most of the CPU resources are Theora encode/decode
functions,we recompiled Theora lib with the argument "USE_ASM" and
make it MMX instruction set,but the effect is not obvious.
  Is there anyone else met this issue too? Is there any suggestion or
solution about the issue?


More information about the theora mailing list