[theora-dev] Encoding - CPU usage ...

Mat heavensdoor78 at gmail.com
Wed Oct 4 03:55:58 PDT 2006

Hi all.
I would really like to use Theora for the commercial product I work on...
It's a Linux based DVR. Actually we use ffmpeg to produce MPeg4 short 
clips from 4 BNC channels in CIF resolution.
I made a small module for our project that uses Theora... but I see that 
it gets a lot of CPU :(

So I'm here to ask for any kind tips to reduce the CPU usage.
- Hardware... do you think there are better CPUs for Theora? AMD64?
- CPU optimisations... they are enabled by default, right?
- Encoding parameters... now I use:

    theora_info tTheoraInfo;

    tTheoraInfo.colorspace           = OC_CS_ITU_REC_470BG;     /* 
    tTheoraInfo.pixelformat          = OC_PF_420;
    tTheoraInfo.target_bitrate       = 0;
    tTheoraInfo.quality              = 15;

    tTheoraInfo.dropframes_p                 = 0;
    tTheoraInfo.quick_p                      = 1;
    tTheoraInfo.keyframe_auto_p              = 1;
    tTheoraInfo.keyframe_frequency           = 64;
    tTheoraInfo.keyframe_frequency_force     = 64;
    tTheoraInfo.keyframe_data_target_bitrate = 
tTheoraInfo.target_bitrate * 1.5;
    tTheoraInfo.keyframe_auto_threshold      = 80;
    tTheoraInfo.keyframe_mindistance         = 8;
    tTheoraInfo.noise_sensitivity            = 1;

- Other parameters...? Other ideas...?
- Perhaps some options I could disable that consume CPU to get also less 
quality if it needs...

I'm studying the Theora's examples and ffmpeg2theora to see if I can 
optimize my code... but I don't know libogg / libtheora so I can't 
understand well some functions. Is there an API reference also for 
libogg... ?

Thank you in advance,

More information about the theora-dev mailing list