Hello,
Finally, I changed my old Athlon XP2800 + for Intel dual core Sandy.
I'm encoding video with avidemux or ffmpeg - now - with hope to use
real multithreading.
But if I use libavcodec, I can see in "top" (+H) these threads, but
my CPU is NOT used up to 200%.
1. in avidemux: I see one thread with e.g. 91% cpu and e.g 4 others
with 2-5%.
2. in ffmpeg (with -threads 4 option): I see 4 threads - each with
+-25%
And I can see why too - in "top" I have added column with "last core
used" and the problem is:
ALL THREADS USE in 9/10 cases (showed in top iterations) the SAME
core.
If I switch off the"H" option in top - the total cpu usage of
avidemux/ffmeg is maximal 143% and both cores have much idle times.
If I compare it with h.264 encoder (in avidemux served with x264 ?)
than both my CPU cores are used totally - up to 200%.
In top +H I can see +- 5 threads AND !!! - they are in most cases
evenly divided between both cores.
So - why can x264 (?) encoder use multithreading well and libavcodec
not ?
In attachment are example outputs.
Thanks for suggestions and sorry please my English
--kapetr
P.S.
-system Ubuntu 11.10
- Avidemux 2.5.4
- ffmpeg 0.7.3-4:0.7.3-0ubuntu0.11.10.1
See great IDLE on both CPU cores when using LIBAV encoder and same core used by
all threads
------------------------------------------
hugo@hugo-A7V400-MX:/media/ext3_sda11$ ffmpeg -i public.ps.mpg -f avi -vcodec
mpeg4 -b 800k -g 300 -bf 2 -acodec copy -threads 4 public.ps.avi
ffmpeg version 0.7.3-4:0.7.3-0ubuntu0.11.10.1, Copyright (c) 2000-2011 the
Libav developers
built on Jan 4 2012 16:21:50 with gcc 4.6.1
configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1' --arch=i386
--prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared
--disable-static
WARNING: library configuration mismatch
avutil configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
avcodec configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
avformat configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
avdevice configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
avfilter configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
swscale configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
postproc configuration: --extra-version='4:0.7.3-0ubuntu0.11.10.1'
--arch=i386 --prefix=/usr --enable-vdpau --enable-bzlib --enable-libgsm
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx
--enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc
--enable-swscale --enable-x11grab --enable-libdc1394
--shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static
--disable-ffmpeg --disable-ffplay
libavutil 51. 7. 0 / 51. 7. 0
libavcodec 53. 6. 0 / 53. 6. 0
libavformat 53. 3. 0 / 53. 3. 0
libavdevice 53. 0. 0 / 53. 0. 0
libavfilter 2. 4. 0 / 2. 4. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 52. 0. 0 / 52. 0. 0
[mpeg @ 0x8e612a0] max_analyze_duration reached
Input #0, mpeg, from 'public.ps.mpg':
Duration: 00:22:42.20, start: 0.240000, bitrate: 3321 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 64:45
DAR 16:9], 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
File 'public.ps.avi' already exists. Overwrite ? [y/N] y
[buffer @ 0x8e5c780] w:720 h:576 pixfmt:yuv420p
Output #0, avi, to 'public.ps.avi':
Metadata:
ISFT : Lavf53.3.0
Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31,
800 kb/s, 25 tbn, 25 tbc
Stream #0.1: Audio: mp2, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press ctrl-c to stop encoding
[mpeg2video @ 0x8e63200] 00 motion_type at 33 0
[mpeg2video @ 0x8e63200] slice mismatch
[mpeg2video @ 0x8e63200] 00 motion_type at 11 20
[mpeg2video @ 0x8e63200] invalid mb type in P Frame at 10 20
[mpeg2video @ 0x8e63200] invalid cbp at 4 21
[mpeg2video @ 0x8e63200] ac-tex damaged at 1 22
[mpeg2video @ 0x8e63200] 00 motion_type at 16 23
[mpeg2video @ 0x8e63200] 00 motion_type at 1 24
[mpeg2video @ 0x8e63200] 00 motion_type at 5 25
[mpeg2video @ 0x8e63200] ac-tex damaged at 2 26
[mpeg2video @ 0x8e63200] invalid mb type in P Frame at 16 27
[mpeg2video @ 0x8e63200] ac-tex damaged at 6 28
[mpeg2video @ 0x8e63200] ac-tex damaged at 1 29
[mpeg2video @ 0x8e63200] invalid mb type in P Frame at 28 30
[mpeg2video @ 0x8e63200] invalid mb type in P Frame at 11 31
[mpeg2video @ 0x8e63200] invalid mb type in P Frame at 3 32
[mpeg2video @ 0x8e63200] 00 motion_type at 6 33
[mpeg2video @ 0x8e63200] 00 motion_type at 4 34
[mpeg2video @ 0x8e63200] 00 motion_type at 5 35
[mpeg2video @ 0x8e63200] Warning MVs not available
[mpeg2video @ 0x8e63200] concealing 1485 DC, 1485 AC, 1485 MV errors
[mpeg2video @ 0x8e63200] Warning MVs not available54 bitrate= 965.3kbits/s
[mpeg2video @ 0x8e63200] concealing 40 DC, 40 AC, 40 MV errors
[mpeg2video @ 0x8e63200] ac-tex damaged at 24 6
[mpeg2video @ 0x8e63200] concealing 45 DC, 45 AC, 45 MV errors
^Cframe= 4051 fps=135 q=12.2 Lsize= 19804kB time=162.14 bitrate=1000.5kbits/s
video:15745kB audio:3793kB global headers:0kB muxing overhead 1.357911%
Received signal 2: terminating.
hugo@hugo-A7V400-MX:/media/ext3_sda11$
------------------------------------------------------------
Tasks: 354 total, 5 running, 348 sleeping, 0 stopped, 1 zombie
Cpu0 : 72.7%us, 3.7%sy, 0.0%ni, 23.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 71.8%us, 4.3%sy, 0.0%ni, 23.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2817528k total, 2297468k used, 520060k free, 109104k buffers
Swap: 530108k total, 0k used, 530108k free, 1502632k cached
PID USER PR NI VIRT RES SHR S P %CPU %MEM TIME+ COMMAND
18908 hugo 20 0 69828 18m 2436 R 0 29.9 0.7 0:05.15 ffmpeg -i
public.ps.mpg -f avi -vcodec mpeg4 -b 8
18906 hugo 20 0 69828 18m 2436 R 0 28.9 0.7 0:05.07 ffmpeg -i
public.ps.mpg -f avi -vcodec mpeg4 -b 8
18907 hugo 20 0 69828 18m 2436 R 0 28.2 0.7 0:05.11 ffmpeg -i
public.ps.mpg -f avi -vcodec mpeg4 -b 8
18904 hugo 20 0 69828 18m 2436 S 0 27.9 0.7 0:05.43 ffmpeg -i
public.ps.mpg -f avi -vcodec mpeg4 -b 8
18905 hugo 20 0 69828 18m 2436 R 0 27.2 0.7 0:04.85 ffmpeg -i
public.ps.mpg -f avi -vcodec mpeg4 -b 8
1828 hugo 20 0 585m 219m 33m S 1 2.3 8.0 3:56.83
/usr/lib/firefox-11.0/firefox
1035 root 20 0 58220 18m 10m S 0 1.7 0.7 3:22.31 /usr/bin/X :0
-auth /var/run/lightdm/root/:0 -nol
1636 hugo 20 0 7036 3480 1144 S 0 1.0 0.1 2:23.56
//bin/dbus-daemon --fork --print-pid 5 --print-ad
1763 hugo 20 0 10200 3408 2824 S 1 1.0 0.1 0:04.98
/usr/lib/gvfs/gvfsd-trash --spawner :1.1 /org/gtk
1703 hugo 20 0 61640 10m 7808 S 0 0.7 0.4 1:02.22
indicator-multiload
1752 hugo 20 0 80080 20m 10m S 0 0.7 0.7 1:37.46
/usr/lib/unity/unity-panel-service
1671 hugo 20 0 114m 13m 10m S 0 0.3 0.5 0:20.32 metacity
1691 hugo 20 0 92896 29m 17m S 0 0.3 1.1 0:18.36 unity-2d-panel
1702 hugo 20 0 71600 10m 7980 S 0 0.3 0.4 0:08.49 clipit
1756 hugo 20 0 80080 20m 10m S 0 0.3 0.7 0:42.43
/usr/lib/unity/unity-panel-service
1921 hugo 20 0 39352 17m 9748 S 0 0.3 0.6 0:15.16 /usr/bin/python
/usr/share/system-config-printer/
1952 hugo 20 0 85568 31m 10m S 0 0.3 1.1 0:10.12 /usr/bin/python
/usr/lib/ubuntuone-client/ubu
--------------------------------------------------------------------
hugo@hugo-A7V400-MX:~$ top
top - 17:05:16 up 2:52, 3 users, load average: 0.44, 0.35, 0.18
Tasks: 351 total, 3 running, 347 sleeping, 0 stopped, 1 zombie
Cpu0 : 55.0%us, 2.0%sy, 0.0%ni, 42.1%id, 1.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 53.3%us, 1.3%sy, 0.0%ni, 45.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2817528k total, 2252172k used, 565356k free, 109716k buffers
Swap: 530108k total, 0k used, 530108k free, 1515136k cached
PID USER PR NI VIRT RES SHR S P %CPU %MEM TIME+ COMMAND
12266 hugo 20 0 320m 148m 16m R 0 89.0 5.4 2:02.11 avidemux2_gtk
12278 hugo 20 0 320m 148m 16m S 0 3.3 5.4 0:04.92 avidemux2_gtk
12279 hugo 20 0 320m 148m 16m S 0 3.3 5.4 0:05.10 avidemux2_gtk
12280 hugo 20 0 320m 148m 16m S 0 3.3 5.4 0:05.05 avidemux2_gtk
12281 hugo 20 0 320m 148m 16m S 0 3.0 5.4 0:04.89 avidemux2_gtk
1035 root 20 0 58376 19m 10m S 1 2.0 0.7 3:30.83 /usr/bin/X :0
-auth /var/run/lightdm/root/:0 -nol
1636 hugo 20 0 7036 3480 1144 S 1 1.0 0.1 2:29.47
//bin/dbus-daemon --fork --print-pid 5 --print-ad
1828 hugo 20 0 535m 157m 33m S 1 1.0 5.7 4:07.11
/usr/lib/firefox-11.0/firefox
1703 hugo 20 0 61640 10m 7808 S 1 0.7 0.4 1:04.62
indicator-multiload
1752 hugo 20 0 80060 20m 10m S 1 0.7 0.7 1:41.37
/usr/lib/unity/unity-panel-service
1756 hugo 20 0 80060 20m 10m S 1 0.7 0.7 0:44.12
/usr/lib/unity/unity-panel-service
1763 hugo 20 0 10200 3408 2824 S 1 0.7 0.1 0:05.34
/usr/lib/gvfs/gvfsd-trash --spawner :1.1 /org/gtk
1680 hugo 20 0 95064 30m 17m S 1 0.3 1.1 0:48.35 unity-2d-panel
1691 hugo 20 0 95064 30m 17m S 1 0.3 1.1 0:19.08 unity-2d-panel
1753 hugo 20 0 80060 20m 10m S 0 0.3 0.7 0:07.03
/usr/lib/unity/unity-panel-service
1842 hugo 20 0 535m 157m 33m S 1 0.3 5.7 0:14.23
/usr/lib/firefox-11.0/firefox
1952 hugo 20 0 85568 31m 10m S 0 0.3 1.1 0:10.48 /usr/bin/python
/usr/lib/ubuntuone-client/ubuntuo
2069 hugo 20 0 79304 16m 11m S 0 0.3 0.6 0:20.19 gnome-terminal
12270 hugo 20 0 320m 148m 16m R 1 0.3 5.4 0:38.70 avidemux2_gtk
18881 root 20 0 0 0 0 S 0 0.3 0.0 0:00.13 [kworker/0:1]
18982 hugo 20 0 2960 1188 884 R 1 0.3 0.0 0:00.04 top
See NO IDLE on both CPU cores when using X264 (?) encoder and different cores
used by threads
--------------------------------------------------------------------
hugo@hugo-A7V400-MX:~$ top
top - 17:03:34 up 2:50, 3 users, load average: 1.12, 0.27, 0.13
Tasks: 356 total, 4 running, 351 sleeping, 0 stopped, 1 zombie
Cpu0 : 19.1%us, 1.3%sy, 75.9%ni, 3.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 17.2%us, 1.7%sy, 78.1%ni, 3.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2817528k total, 2253212k used, 564316k free, 109428k buffers
Swap: 530108k total, 0k used, 530108k free, 1501960k cached
PID USER PR NI VIRT RES SHR S P %CPU %MEM TIME+ COMMAND
18972 hugo 30 10 344m 162m 16m R 1 52.1 5.9 0:11.83 avidemux2_gtk
18971 hugo 30 10 344m 162m 16m R 0 51.8 5.9 0:11.69 avidemux2_gtk
18973 hugo 30 10 344m 162m 16m R 0 51.5 5.9 0:11.98 avidemux2_gtk
18974 hugo 20 0 344m 162m 16m S 1 19.6 5.9 0:04.63 avidemux2_gtk
12266 hugo 20 0 344m 162m 16m S 1 7.3 5.9 1:40.67 avidemux2_gtk
1035 root 20 0 58352 18m 10m S 0 1.7 0.7 3:28.59 /usr/bin/X :0
-auth /var/run/lightdm/root/:0 -nol
12278 hugo 20 0 344m 162m 16m S 0 1.3 5.9 0:03.96 avidemux2_gtk
12280 hugo 20 0 344m 162m 16m S 1 1.3 5.9 0:04.07 avidemux2_gtk
1636 hugo 20 0 7036 3480 1144 S 0 1.0 0.1 2:27.80
//bin/dbus-daemon --fork --print-pid 5 --print-ad
1828 hugo 20 0 535m 156m 33m S 0 1.0 5.7 4:05.31
/usr/lib/firefox-11.0/firefox
12279 hugo 20 0 344m 162m 16m S 0 1.0 5.9 0:04.12 avidemux2_gtk
12281 hugo 20 0 344m 162m 16m S 0 1.0 5.9 0:03.92 avidemux2_gtk
1752 hugo 20 0 80172 20m 10m S 0 0.7 0.7 1:40.38
/usr/lib/unity/unity-panel-service
12270 hugo 20 0 344m 162m 16m S 1 0.7 5.9 0:37.98 avidemux2_gtk
1671 hugo 20 0 114m 13m 10m S 0 0.3 0.5 0:20.91 metacity
1703 hugo 20 0 61640 10m 7808 S 0 0.3 0.4 1:04.03
indicator-multiload
1756 hugo 20 0 80172 20m 10m S 0 0.3 0.7 0:43.71
/usr/lib/unity/unity-panel-service
1763 hugo 20 0 10200 3408 2824 S 1 0.3 0.1 0:05.12
/usr/lib/gvfs/gvfsd-trash --spawner :1.1 /org/gtk
2069 hugo 20 0 79080 16m 11m S 1 0.3 0.6 0:19.86 gnome-terminal
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel