[theora-dev] Multi-Thread Theora Encoder

Felipe Portavales Goldstein portavales at gmail.com
Sat Oct 6 15:20:05 PDT 2007


I uploaded the changes to the branch:
http://svn.xiph.org/branches/theora-multithread/

This version is a branch from the current SVN trunk.
I used the theora_control to set the number of threads as Giles sugested.

to run the example you can specify the number of threads with the flag
--number-of-threads

For example:

./encoder_example --number-of-threads 1 ~/video-tests/pf01.yuv -o
/tmp/thread.ogg


Please,
Test in different machines and with different videos.


Cheers,
Felipe


On 10/3/07, Ralph Giles <giles at xiph.org> wrote:
> On Wed, Oct 03, 2007 at 12:57:59AM -0300, Felipe Portavales Goldstein wrote:
>
> > As far as I tested the slowdown is less than 1 percent or irrelevant.
>
> Good, we should be able to include this in the mainline then.
>
> > The only big difference in terms of performance is the extra-overhead
> > in the PickModes function call and a extra final loop to re-order the
> > Motion Vectors produced by each thread.
>
> So this overhead can be skipped when there's only one thread.
>
> > The only thing that I should do before submit is a way to control the
> > number of threads at run time (discover the number of CPUs at run
> > time). By now I have to recompile the code to have a different number
> > of threads running.
>
> The best way to do this is through the theora_control() interface, since
> applications will want control, and determining the number of available
> CPUs is very platform dependent.
>
>  -r
>


-- 
________________________________________
Felipe Portavales Goldstein <portavales at gmail>
Undergraduate Student - IC-UNICAMP
Computer Systems Laboratory
http://www.students.ic.unicamp.br/~ra023772/


More information about the theora-dev mailing list