Hallo

E Chalaron wrote:
> Hello all
> Just a quick question : using mjpegtools through ffmpeg piping.
> are they (or not) multi threaded ?
>
> ffmpeg -threads 2 -y -i - -f yuv4mpegpipe - | \
> yuvdenoise -t 2,8,8 -m 2,8,8 |
> y4munsharp |\
> ffmpeg -y -threads 2 -i - -b 220000k -vcodec dnxhd -threads 2 $fichier
>
> On (for say) a dual core (AMD or Intel) the gkrellm histogram shows a
> smaller activity on 1 core then alternates to the other core from time
> to time.
That is a normal behaviour both programms use only one CPU/Core and are 
not multithreaded.
Sometimes Linux switches the cores. You can set the affinity for the 
program for a certain CPU if you want.

For such piping it might help if you add a buffer program into the pipe, 
that helps to keep a average load a bit higher.

On my quad core I get a load of about 1.5 using a pipe like that with 
top (Encoded 4906 frames):
mpeg2dec | pgmtoy4m | yuvdenoise | yuvscaler | buffer | mpeg2enc -M2
5%       | 3%       | 62%        | 25%       | 3%     | 133%

Time that passed till that command finished: 3m55.866s

Increasing the mpeg2enc value to -M to 4 gives me values:
mpeg2dec | pgmtoy4m | yuvdenoise | yuvscaler | buffer | mpeg2enc -M4
5%       | 3%       | 62%        | 25%       | 3%     | 150% (146-154)

Time that passed till that command finished: 3m36.523s
Computing time needed: 8m19.466s

The problem with this pipe is that mpeg2enc here is not "enough" 
mulithreaded. So other programms need to be multithreaded to be faster.
When one program that is not multithreaded needs 100% CPU Power of one 
core it slowes down encoding.
So by now there was no need for  mulithreaded program. With the last 
patch yuvdenoise from Franz Brauße got faster by 4. You find that patch 
in the CVS.

Please check on your machine which programm needs how much CPU time. I'd 
think that ffmpeg is the program is the limiting factor for the encoding 
speed.

auf hoffentlich bald,

Berni the Chaos of Woodquarter

Email: shadowl...@utanet.at
www: http://www.lysator.liu.se/~gz/bernhard

------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to