September 20, 2020, 07:58:13 am



HEVC in 2.7 only use 1 cpu core

Started by PlayX, October 14, 2017, 06:43:13 pm

Previous topic - Next topic


I try to cut a Video in HEVC.
But in more complex scenes the CPU Load grows to 100% (on only one core) and the video slows down (sound runs good)

I bet one core is not enough to decode the video. Different Hardware Decoder Options dont work.
Doesn't the Decoder support Multithreading?

in 2.6 I have the same Problem.


Quote from: PlayX on October 14, 2017, 06:43:13 pm
I try to cut a Video in HEVC.
But in more complex scenes the CPU Load grows to 100% (on only one core) and the video slows down

This is definitely not the case on my Fedora system running local Avidemux builds, the load is spread more or less evenly across both cores. This is unfortunately not enough to allow real-time playback of 720p HEVC video on my outdated hardware.

What platform and what Avidemux build are you referring to?

QuoteDifferent Hardware Decoder Options dont work.

You need a pretty new NVIDIA graphics card with NVIDIA binary drivers to decode 8 bit HEVC via VDPAU or a comparably new Intel GPU (Braswell and later).

QuoteDoesn't the Decoder support Multithreading?

This is a question I can't easily answer yet, unfortunately. Hopefully, Mean finds time for a clear statement.


October 15, 2017, 01:50:30 pm #2 Last Edit: October 15, 2017, 01:57:07 pm by PlayX
I ise the AppImage Version 2.7 on Ubuntu 17.10
In VLC the load is on all cores during Playback (AMD FX-8300 @8x4GHz)

The Video was encoded with Nvenc_HEVC on the GPU so im shure decode should work as well. (GTX970)



Could you please try a local Avidemux build from the current git? Compiling Avidemux locally is very easy on Linux, especially on Ubuntu (though it has not been tested on 17.10): with git installed,

git clone
cd avidemux2
bash createDebFromSourceUbuntu.bash

If you want Avidemux to be installed in /usr/local, use

bash createDebFromSourceUbuntu.bash --prefix=/usr/local




Yes, it would be helpful to know where the build actually fails. The output you posted originates presumably in cmake checking yasm (CMakeDetermineCompilerId.cmake), nothing listed there should be fatal for compilation.


-- Packager=deb, valid choices= {deb,rpm,tgz,none}
CMake Error at pluginsPackageDebian.cmake:18 (ELSE):
  A duplicate ELSE command was found inside an IF block.
Call Stack (most recent call first):
  /home/playx/avidemux2/install/usr/include/avidemux/2.7/cmake/admPackager.cmake:18 (include)
  CMakeLists.txt:283 (admPackager)

-- Configuring incomplete, errors occurred!
See also "/home/playx/avidemux2/buildPluginsCommon/CMakeFiles/CMakeOutput.log".
See also "/home/playx/avidemux2/buildPluginsCommon/CMakeFiles/CMakeError.log".
** Failed at cmakeZ**
Installing avidemux...
createDebFromSourceUbuntu.bash: Zeile 35: cd: debs: Datei oder Verzeichnis nicht gefunden



Should be fixed now. Please run

git pull

in the avidemux2 folder followed by

bash createDebFromSourceUbuntu.bash --rebuild


all goes good but if I try to start (after install the debs)
avidemux3_qt5: symbol lookup error: avidemux3_qt5: undefined symbol: _ZN13ADM_vaSurfaceD1Ev


Do you have another build installed elsewhere?


a few old 2.6 things was there. I have removed them all and now the new avidemux work.

but still the same 100% core use.
btw x264 seems to have the same but my cpu seems fast enough to decode it in single core.

hw decode dont work. the load is the same (with or without activated vadapu)


Please run Avidemux in terminal

avidemux3_qt5 > ~/admlog.txt

load a H.264 video (optionally try to play it), quit Avidemux, then compress admlog.txt and attach it to your reply.


h264 works now with HW decode. maybe some settings was wrong in my testing before.
2x vdpau below decoder
but for hevc this is not

I have atached you the log from the hevc video


October 15, 2017, 11:15:09 pm #13 Last Edit: October 15, 2017, 11:32:58 pm by eumagga0x2a
Thanks, does vdpauinfo list HEVC as supported? EDIT: Please note that Avidemux currently supports only HEVC_MAIN via VDPAU.

BTW, please try to run Avidemux with env var QT_STYLE_OVERRIDE set to fusion.


October 15, 2017, 11:32:05 pm #14 Last Edit: October 15, 2017, 11:35:23 pm by PlayX
ok this might be the problem for hw decode ;-)

after a bit research
it seems a gtx970 (Maxwell G2)can only encode hevc in hardware but not decode
but a gtx960 (Maxwell G206) (came later and is based on a tweaked gpu) can encode and decode hevc

found this table

so only a GTX950 and GTX960 and the complete GTX10XX series can handle both

ok now we have to bring multithreaddding to libx265 ;-) or I use h264 until I have a better Card ;-)