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

jpeng at viacube.com jpeng at viacube.com
Thu Feb 5 18:56:20 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