Selur's Little Message Board

Full Version: problem NVenc h265 2160p 60fps
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Bruno999

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?

Thank you.
short answer: Not with your card. That's a hardware limit. Smile

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. Smile

The count of macroblocks per second calculated it self by:
Code:
'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. Smile

Cu Selut

Bruno999

Ok thank you, for information is there graphics compatible? Thank you in advance.
See https://developer.nvidia.com/nvidia-vide...NCFeatures and https://developer.nvidia.com/video-encod...ix#Encoder in regard to which GPU supports what encoding features.
Sadly those sites do not show the max macroblock count, but my guess is to encode to HEVC 4k at 60fps you probably need one of the cards which support 8k H.265 lossless encoding.

Cu Selur

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.

Bruno999

ok thanks for this information, i do not think to change gpu in the immediate, but i will still ask for information at nvidia. thank you