Hello, I wanted to test an encoding with NVenc in h265, it works in 1080p and 720p but not with the resolution 2160p . An error message appears "Current macroblock count per second (1.95326e+6) > maximal allowed macroblock count per second (983040)!" (see attached file + debug file). I also convert from 30 to 60fps with vapoursynth at the same time, and if I disable this option, it works ... Is there a solution for this to work in 2160p 60fps?
short answer: Not with your card. That's a hardware limit.
long answer: NVEncC reports the maximum supported macroblocks the VPE chip can handle per second.
For my system 'NVEncC --check-features' reports, with the currently installed drivers:
Quote:NVEncC.exe --check-features
Error (clGetDeviceIDs): -1
Environment Info
OS : Windows 10 (x64)
CPU: AMD Ryzen 7 1800X Eight-Core Processor (8C/16T)
RAM: Used 5626 MB, Total 32696 MB
GPU: Unknown (Failed to find Intel GPU)
List of available features.
Codec: H.264/AVC
Max Bframes 4
RC Modes 63
Field Encoding 1
MonoChrome 0
FMO 0
Quater-Pel MV 1
B Direct Mode 1
CABAC 1
Adaptive Transform 1
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 51
Min Level 1
4:4:4 1
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 1
Dynamic RC Mode Change 0
Subframe Readback 1
Constrained Encoding 1
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 1
Max MBs 65536 MAX MB per sec 983040
Lossless 1
SAO 0
Me Only Mode 1
Lookahead 1
AQ (temporal) 1
10bit depth 0
Codec: H.265/HEVC
Max Bframes 0
RC Modes 63
Field Encoding 0
MonoChrome 0
Quater-Pel MV 1
B Direct Mode 0
Max Temporal Layers 0
Hierarchial P Frames 0
Hierarchial B Frames 0
Max Level 62
Min Level 1
4:4:4 0
Max Width 4096
Max Height 4096
Dynamic Resolution Change 1
Dynamic Bitrate Change 1
Forced constant QP 1
Dynamic RC Mode Change 0
Subframe Readback 1
Constrained Encoding 0
Intra Refresh 1
Custom VBV Bufsize 1
Dynamic Slice Mode 1
Ref Pic Invalidiation 1
PreProcess 0
Async Encoding 1
Max MBs 65536 MAX MB per sec 983040
Lossless 0
SAO 0
Me Only Mode 0
Lookahead 1
AQ (temporal) 0
10bit depth 0
Note the MAX MB per sec 983040 which indicates that the VPE chip on my card supports, like the one on your card, a maximum of 983040 macroblocks per second.
Hybrid checks this count to avoid creating jobs which will crash due to hardware limitation.
The count of macroblocks per second calculated it self by:
'mbs per second' = 'needed macroblocks for the resolution' * 'frames per second' = ((width / 16.0 + 0.5) * (height / 16.0 + 0.5) ) * fps
=> So all in all, this is a limitation of the Video Processing Engine (VPE) on your card and there is nothing Hybrid or NVEncC can do to circumvent it. The only may to avoid this message and use the resolution and fps you selected with a vpe is to use another graphic card that uses a vpe that isn't that restricted.
Cu Selut
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Ps.: I would recommend to write an email to NVIDIA support and ask then which current card supports HEVC 4k encoding @60fps through NVENC before buying any such card.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.