Opened 10 years ago

Last modified 9 years ago

#1912 new defect

mpeg2video demux-decode-encode-mux uses only 50% cpu when multithreading (need frame multithreading)

Reported by: Branden C. Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: mpeg2video
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

I tried to narrow it down as much as possible to ffmpeg so here is my log:
I noticed on my quad core machine that ffmpeg would not use more than 50% on each core.

#First I created a ramdisk with lilo using append=" ramdisk_size=4194304"
#On fstab I added the line:
/dev/ram0 /ram tmpfs defaults 1 2

#then ran lilo
#created the /ram directory

#after the reboot with the ram disk I clocked up my cpu to its full clock of 1600Mhz per core, using cpufreq-set.

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
branden 3433 179 0.2 266920 15316 pts/0 Sl+ 01:12 1:15 ffmpeg -threads 8 -i dex.mpg -an -vcodec mpeg2video -threads 8 -b 15000k dex.mpeg

ffmpeg -threads 8 -i in.mpg -an -vcodec mpeg2video -threads 8 -b 15000k out.mpeg

frame=72058 fps=505 q=2.0 Lsize= 471050kB time=00:50:02.37 bitrate=1285.3kbits/s

Change History (6)

comment:1 by Branden C., 10 years ago

I made a small typo,

ffmpeg -threads 8 -i in.mpg -an -vcodec mpeg2video -threads 8 -b 15000k out.mpeg

should be:

ffmpeg -threads 8 -i dex.mpg -an -vcodec mpeg2video -threads 8 -b 15000k dex.mpeg

comment:2 by Carl Eugen Hoyos, 10 years ago

Complete, uncut console output missing.

comment:3 by Branden C., 10 years ago

I thought I gave everything that was needed.
Try it on any multicore system.

Last edited 10 years ago by Branden C. (previous) (diff)

comment:4 by Carl Eugen Hoyos, 10 years ago

Please provide your command line together with complete, uncut console output to make this a valid ticket.

comment:5 by Michael Niedermayer, 9 years ago

Analyzed by developer: set
Reproduced by developer: set
Summary: mpeg2video cpu usage bottleneckmpeg2video demux-decode-encode-mux uses only 50% cpu when multithreading
Version: unspecifiedgit-master

To fix this, frame multithreading has to be implemented for mpeg2video encoder/decoder.
Feel free to open 2 such feature requests.

comment:6 by Michael Niedermayer, 9 years ago

Summary: mpeg2video demux-decode-encode-mux uses only 50% cpu when multithreadingmpeg2video demux-decode-encode-mux uses only 50% cpu when multithreading (need frame multithreading)
Note: See TracTickets for help on using tickets.