Opened 4 years ago

Last modified 3 years ago

#1912 new defect

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

Reported by: darkbit 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 Changed 4 years ago by darkbit

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 Changed 4 years ago by cehoyos

Complete, uncut console output missing.

comment:3 Changed 4 years ago by darkbit

I thought I gave everything that was needed.

Version 0, edited 4 years ago by darkbit (next)

comment:4 Changed 4 years ago by cehoyos

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

comment:5 Changed 3 years ago by michael

  • Analyzed by developer set
  • Reproduced by developer set
  • Summary changed from mpeg2video cpu usage bottleneck to mpeg2video demux-decode-encode-mux uses only 50% cpu when multithreading
  • Version changed from unspecified to git-master

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

comment:6 Changed 3 years ago by michael

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