This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[BUG] NVEnc Features werden trotz gpu support nicht unterstützt
#1
Hi,

habe mir in der neuesten Version NVEnc und die unterstützen Features nochmals angesehen.
Manche features wie bframes werden bei h.265 aus irgendwelchen Gründen von meiner Karte durch NVEncC.exe wohl nicht unterstützt, obwohl sie laut Wikipedia bei den 6th Gen Karten wie TU106 eigentlich unterstützt werden müssten. Da weiß ich noch keine Lösung, außer dass bei Wikipedia evtl. Mist steht.

Anders verhält es sich bei adaptive quantization. Mindestens die spatial adaptive quantization wird von NVEnc bei meiner Karte untersützt. Sie ist auch in der GUI eingeblendet und auswählbar, aber Hybrid setzt den Parameter nicht.
Hab's mal mit Staxrip verglichen, AQ wird wohl tatsächlich nicht nur gesetzt, sondern auch verwendet:
HYBRID: NVEncC.exe" --avhw  -i "C:\TMP\Hybrid NVEnc Test\HDR10-Sony-Bravia-OLED-demolandia 60fps 10bit yuv420.mp4" --fps 59.940 --codec h265 --profile main10 --level 6.2 --tier high --sar 1:1 --lookahead 32 --output-depth 10 --cqp 22 --gop-len 250 --ref 7 --bframes 0 --no-b-adapt --mv-precision Q-pel --preset quality --colorrange limited --colormatrix bt2020c --vpp-resize auto --output-res 3840x2160 --vpp-gauss disabled --cuda-schedule sync --output --------------------------------- avcuvid: Unknown input option: framerate=60000/1001, ignored. NVEncC (x64) 7.05 (r2376) by rigaya, Nov 21 2022 13:10:39 (VC 1929/Win) OS Version     Windows 10 x64 (19043) [UTF-8] CPU            AMD FX(tm)-8350 Eight-Core Processor [4.64GHz] (4C/8T) GPU            #0: NVIDIA GeForce GTX 1650 (896 cores, 1605 MHz)[PCIe2x16][512.96] NVENC / CUDA   NVENC API 11.1, CUDA 11.6, schedule mode: sync Input Buffers  CUDA, 41 frames Input Info     avcuvid: H.265/HEVC, 3840x2160, 60000/1001 fps AVSync         vfr Vpp Filters    copyDtoD Output Info    H.265/HEVC main10 @ Level 6.2 3840x2160p 1:1 59.940fps (60000/1001fps) Encoder Preset quality Rate Control   CQP  I:22  P:22  B:22 ChromaQPOffset cb:0  cr:0 Lookahead      on, 32 frames, Adaptive I Insert GOP length     250 frames B frames       0 frames [ref mode: disabled] Ref frames     7 frames AQ             off CU max / min   auto / auto VUI            matrix:bt2020c,range:limited Others         mv:Q-pel STAXRIP: NVEncC64.exe --avhw  --cqp 22 --codec h265 --preset P7 --output-depth 10 --profile main10 --tier high --level 6.2 --aq --aq-strength 8 --bframes 0 --ref 7 --gop-len 250 --lookahead 32 --no-b-adapt --colormatrix bt2020nc --colorprim bt2020 --transfer smpte2084 --chromaloc 2 -i "C:\TMP\Hybrid NVEnc Test\HDR10-Sony-Bravia-OLED-demolandia 60fps 10bit yuv420.mp4" -o "C:\TMP\Hybrid NVEnc Test\HDR10-Sony-Bravia-OLED-demolandia 60fps 10bit yuv420_temp\HDR10-Sony-Bravia-OLED-demolandia 60fps 10bit yuv420_new_out.h265" ----------------------------------------------------------------------- NVEncC (x64) 6.01 (r2167) by rigaya, Apr 29 2022 06:01:58 (VC 1929/Win) OS Version     Windows 10 x64 (19043) [UTF-8] CPU            AMD FX(tm)-8350 Eight-Core Processor [4.64GHz] (4C/8T) GPU            #0: NVIDIA GeForce GTX 1650 (896 cores, 1605 MHz)[PCIe2x16][512.96] NVENC / CUDA   NVENC API 11.1, CUDA 11.6, schedule mode: auto Input Buffers  CUDA, 41 frames Input Info     avcuvid: H.265/HEVC, 3840x2160, 60000/1001 fps AVSync         vfr Vpp Filters    copyDtoD Output Info    H.265/HEVC main10 @ Level 6.2                3840x2160p 1:1 59.940fps (60000/1001fps) Encoder Preset quality Rate Control   CQP  I:22  P:22  B:22 ChromaQPOffset cb:0  cr:0 Lookahead      on, 32 frames, Adaptive I Insert GOP length     250 frames B frames       0 frames [ref mode: disabled] Ref frames     7 frames AQ             on CU max / min   auto / auto VUI            matrix:bt2020nc,colorprim:bt2020,transfer:smpte2084,chromaloc:topleft Others         mv:auto

Analog verhält es sich bei h.264, nur dass da meine Karte sowohl spatial als auch zusätzlich temporal AQ unterstützt. Es wird beides in der GUI angezeigt, aber die Parameter werden nicht gesetzt.
Auch 10bit scheint bei h.264 in Staxrip zu gehen, das wird von Hybrid in der GUI ausgeblendet. Was h.264 angeht müsste ich noch nachlegen, was Debug etc. angeht.
Anbei erstmal test video und der Debug zu h.265 und nicht verwendeter temporal AQ:
https://mega.nz/folder/MgxATIRI#F6gCOCD1pibNUD0FfMwoow

cu, mogobime
Reply
#2
Heute unterwegs, schau ich morgen nach der Arbeit drauf.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#3
Hab jetzt auch mal NVEnc h264 unter die Lupe genommen, und bin auf folgendes gestoßen:
--output-depth 10 wird nicht in GUI angeboten, obwohl unterstützt (siehe Staxrip)
--aq und --aq-temporal wird nicht gesetzt, obwohl supported (siehe Staxrip)
--multiref-l0 und --multiref-l1 werden in GUI eingeblendet, obwohl unsupported (reines h265 feature?)
--weightp wird nicht gesetzt, auch wenn b-frames disabled sind (sollte dann unterstützt werden)

Hab mal einen Debug bereits ab öffnen der Datei und anschließendem umschalten von x264 auf NVEnc h264 gemacht, in der Hoffnung, dass da igendwo die Erkennung der features meiner Karte mit drin ist:
https://mega.nz/file/Jx5AhDyZ#6y2GY1VfST...oGvcLpCoYU
Reply
#4
Mist... Das von Staxrip erzeugte h264 file scheint laut mediainfo gar kein 10 bit file zu sein, obwohl die Option von NVEnc ohne Fehlermeldung geschluckt wird.
Bei allen möglichen anderen Optionen wurde immer die entsprechende Fehlermeldung von NVEnc ausgegeben.
Keine Ahnung ob Mediainfo jetzt falsche Daten aus dem Header anzeigt, oder ob das file wirklich 8 bit ist.
x264 kann ja tatsächlich 10 Bit h264 files erzeugen, also lässt es der Standard ja zu.

Keine Ahnung wie man sowas ultimativ rausfinden kann...

EDIT: Hab deswegen übrigens Staxrip die NVEnc Version von Hybrid untergejubelt ohne dass sich was geändert hat.
Reply
#5
Hybrid sollte nur die Sachen erlauben, die laut '--check-features' unterstützt werden.
Schaue aber wie gesagt heute nach der Arbeit mal drauf.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#6
Was gibt 'NVEncC --check-features' bei Dir aus?
It should look 'similar' to:
NVEncC (x64) 7.06 (r2388) by rigaya, Dec 10 2022 12:26:56 (VC 1929/Win) [NVENC API v12.0, CUDA 10.1] reader: raw, y4m, avi, avs, vpy, avsw, avhw [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1, MPEG1, MPEG4, AV1] Environment Info OS : Windows 11 x64 (22621) [UTF-8] CPU: AMD Ryzen 9 7950X 16-Core Processor [5.77GHz] (16C/32T) RAM: Used 8347 MB, Total 64632 MB #0: NVIDIA GeForce RTX 4080 (9728 cores, 2505 MHz)[PCIe1x16][527.56] NVEnc features Codec: H.264/AVC Encoder Engines 2 Max Bframes 4 B Ref Mode 3 (each + only middle) RC Modes 63 (CQP, CBR, CBRHQ, VBR, VBRHQ) Field Encoding 0 (no) MonoChrome no FMO no Quater-Pel MV yes B Direct Mode yes CABAC yes Adaptive Transform yes Max Temporal Layers 4 Hierarchial P Frames yes Hierarchial B Frames yes Max Level 62 (6.2) Min Level 10 (1) 4:4:4 yes Min Width 145 Max Width 4096 Min Height 49 Max Height 4096 Multiple Refs yes Max LTR Frames 8 Dynamic Resolution Change yes Dynamic Bitrate Change yes Forced constant QP yes Dynamic RC Mode Change no Subframe Readback yes Constrained Encoding yes Intra Refresh yes Custom VBV Bufsize yes Dynamic Slice Mode yes Ref Pic Invalidiation yes PreProcess no Async Encoding yes Max MBs 65536 Lossless yes SAO no Me Only Mode 1 (I,P frames) Lookahead yes AQ (temporal) yes Weighted Prediction yes 10bit depth no Codec: H.265/HEVC Encoder Engines 2 Max Bframes 5 B Ref Mode 3 (each + only middle) RC Modes 63 (CQP, CBR, CBRHQ, VBR, VBRHQ) Field Encoding 0 (no) MonoChrome no Quater-Pel MV yes B Direct Mode no Max Temporal Layers 0 Hierarchial P Frames no Hierarchial B Frames no Max Level 186 (6.2) Min Level 30 (1) 4:4:4 yes Min Width 129 Max Width 8192 Min Height 33 Max Height 8192 Multiple Refs yes Max LTR Frames 7 Dynamic Resolution Change yes Dynamic Bitrate Change yes Forced constant QP yes Dynamic RC Mode Change no Subframe Readback yes Constrained Encoding yes Intra Refresh yes Custom VBV Bufsize yes Dynamic Slice Mode yes Ref Pic Invalidiation yes PreProcess no Async Encoding yes Max MBs 262144 Lossless yes SAO yes Me Only Mode 1 (I,P frames) Lookahead yes AQ (temporal) yes Weighted Prediction yes 10bit depth yes Codec: AV1 Encoder Engines 2 Max Bframes 7 B Ref Mode 3 (each + only middle) RC Modes 3 (CQP, CBR, VBR) Field Encoding 0 (no) MonoChrome no Quater-Pel MV yes B Direct Mode no Max Temporal Layers 0 Hierarchial P Frames no Hierarchial B Frames no Max Level 23 (7.3) Min Level 0 (2) 4:4:4 no Min Width 192 Max Width 8192 Min Height 128 Max Height 8192 Multiple Refs yes Max LTR Frames 2 Dynamic Resolution Change yes Dynamic Bitrate Change yes Forced constant QP yes Dynamic RC Mode Change no Subframe Readback yes Constrained Encoding no Intra Refresh yes Custom VBV Bufsize yes Dynamic Slice Mode no Ref Pic Invalidiation yes PreProcess no Async Encoding yes Max MBs 262144 Lossless no SAO no Me Only Mode 0 (no) Lookahead yes AQ (temporal) yes Weighted Prediction no 10bit depth yes NVDec features H.264/AVC: nv12, yv12 H.265/HEVC: nv12, yv12, yv12(10bit), yv12(12bit), yuv444, yuv444(10bit), yuv444(12bit) MPEG1: nv12, yv12 MPEG2: nv12, yv12 MPEG4: nv12, yv12 VP8: nv12, yv12 VP9: nv12, yv12, yv12(10bit), yv12(12bit) VC-1: nv12, yv12 AV1: nv12, yv12, yv12(10bit)

Nur wenn check-features '10bit depth yes' meldet erlaubt Hybrid auch 10bit encoding.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#7
So siehts's bei mir aus:
NVEncC (x64) 7.05 (r2376) by rigaya, Nov 21 2022 13:10:39 (VC 1929/Win)   [NVENC API v12.0, CUDA 10.1] reader: raw, y4m, avi, avs, vpy, avsw, avhw [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1, MPEG1, MPEG4, AV1] Environment Info OS : Windows 10 x64 (19043) [UTF-8] CPU: AMD FX(tm)-8350 Eight-Core Processor [4.64GHz] (4C/8T) RAM: Used 7455 MB, Total 16276 MB #0: NVIDIA GeForce GTX 1650 (896 cores, 1605 MHz)[PCIe2x16][512.96] NVEnc features Codec: H.264/AVC Encoder Engines          1 Max Bframes              4 B Ref Mode                3 (each + only middle) RC Modes                  63 (CQP, CBR, CBRHQ, VBR, VBRHQ) Field Encoding            1 (field mode) MonoChrome                no FMO                      no Quater-Pel MV            yes B Direct Mode            yes CABAC                    yes Adaptive Transform        yes Max Temporal Layers      4 Hierarchial P Frames      yes Hierarchial B Frames      yes Max Level                62 (6.2) Min Level                10 (1) 4:4:4                    yes Min Width                33 Max Width                4096 Min Height                17 Max Height                4096 Multiple Refs            no Max LTR Frames            8 Dynamic Resolution Change yes Dynamic Bitrate Change    yes Forced constant QP        yes Dynamic RC Mode Change    no Subframe Readback        yes Constrained Encoding      yes Intra Refresh            yes Custom VBV Bufsize        yes Dynamic Slice Mode        yes Ref Pic Invalidiation    yes PreProcess                no Async Encoding            yes Max MBs                  65536 Lossless                  yes SAO                      no Me Only Mode              1 (I,P frames) Lookahead                yes AQ (temporal)            yes Weighted Prediction      yes 10bit depth              no Codec: H.265/HEVC Encoder Engines          1 Max Bframes              0 B Ref Mode                0 (no) RC Modes                  63 (CQP, CBR, CBRHQ, VBR, VBRHQ) Field Encoding            0 (no) MonoChrome                no Quater-Pel MV            yes B Direct Mode            no Max Temporal Layers      0 Hierarchial P Frames      no Hierarchial B Frames      no Max Level                186 (6.2) Min Level                30 (1) 4:4:4                    yes Min Width                65 Max Width                8192 Min Height                33 Max Height                8192 Multiple Refs            no Max LTR Frames            7 Dynamic Resolution Change yes Dynamic Bitrate Change    yes Forced constant QP        yes Dynamic RC Mode Change    no Subframe Readback        yes Constrained Encoding      yes Intra Refresh            yes Custom VBV Bufsize        yes Dynamic Slice Mode        yes Ref Pic Invalidiation    yes PreProcess                no Async Encoding            yes Max MBs                  262144 Lossless                  yes SAO                      yes Me Only Mode              1 (I,P frames) Lookahead                yes AQ (temporal)            no Weighted Prediction      yes 10bit depth              yes NVDec features   H.264/AVC:  nv12, yv12   H.265/HEVC: nv12, yv12, yv12(10bit), yv12(12bit), yuv444, yuv444(10bit), yuv444(12bit)   MPEG1:      nv12, yv12   MPEG2:      nv12, yv12   MPEG4:      nv12, yv12   VP8:        nv12, yv12   VP9:        nv12, yv12, yv12(10bit), yv12(12bit)   VC-1:      nv12, yv12

10 Bit bei h.264 scheint also leider nicht zu funktionieren.

Was auch nicht so wild wäre, wenn h.265 sich vernünftig mit b-frames & co nutzen ließe.
Leider auch Fehlanzeige, sch... Wikipedia, da bin ich voll reingefallen.

Vermutlich wird aber h.265 auch ohne b-frames noch eine höhere Kodiereffizienz haben, wenn zumindest AQ Spatial (temporal geht bei mir wohl nur bei h.264) genutzt werden kann.
Sowohl spatial als auch temporal AQ werden bei mir bei beiden Codecs nicht als Parameter übergeben, obwohl ausgewählt.
Reply
#8
Okay, wie erwartet, geht H.264 mit 10bit nicht, da der Encoderchip es nicht kann (der Decoderchip auch nich Wink), siehe auch:
https://docs.nvidia.com/video-technologi...tion-note/
(persönlich nervt es mich, dass die neuen Karten nur 4:2:0 av1 können Wink)
=> sieht für mich so aus, als ob:
1. NVEncC die Option einfach ignoriert und keinen Fehler wirft wie sonst.
2. StaxRip fälschlicherweise eine Option anbietet, die der Encoderchip gar nicht kann.

Quote:--multiref-l0 und --multiref-l1 werden in GUI eingeblendet, obwohl unsupported (reines h265 feature?)
Ne, ist kein reines H.264 feature. Wird bei mir ja auch unterstützt. Wink
Das Problem ist, da ist ein bug in der Gui, den ich irgendwie nicht nachvollziehen konnte und dann vergessen hatte, dass das Problem existiert. Angel
Ist irgendein Initialisierungsproblem, da die Regler beim ersten Laden auch verschiebbar sind, wenn die Box deaktiviert ist. Sad

Quote:--weightp wird nicht gesetzt, auch wenn b-frames disabled sind (sollte dann unterstützt werden)
Das ist ein Bug, bzw. ein 'missing feature', da ich vergessen habe den code für die command line zu schreiben. Smile

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#9
Sad 
Und nicht vergessen, dass weder temporal, noch spatial AQ bei beiden Codecs gesetzt wird, das ist imho das wichtigste missing feature Wink

Mich ärgert diese verarsche mit dem mangelhaften h.265 support bei meiner Karte ziemlich. Als ob h.265 sowas krass neues ist
Die Karte hab ich ausschließlich wegen der angeblich besseren Encoding-Fähigkeiten bei h.265 gekauft, gaming Leistung u.ä. war mir Wurst. Hätte ich gleich bei der gebrauchten, günstigeren und noch sparsameren Nvidia Quadro T1000 bleiben können. Kann sogar sein, dass die höhere Rechenkapazitäten bei opencl hatte... Wenn ich das jetzt nochmal recherchiere ärgere ich mich wahrscheinlich gleich doppelt, dass ich die zurückgesendet habe Dodgy

Das motiviert auch nicht gerade eine andere Karte zu kaufen, das wird ja nirgendwo richtig transparent gemacht, was für features tatsächlich unterstützt werden. Jedenfalls hab ich nirgends was gefunden...
Reply
#10
Quote:Und nicht vergessen, dass weder temporal, noch spatial AQ bei beiden Codecs gesetzt wird, das ist imho das wichtigste missing feat
Das geht bei mir,..

ohne:
Quote:NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --vbr 0 --vbr-quality 0.00 --gop-len 0 --ref 3 --bframes 3 --direct auto --bref-mode disabled --no-b-adapt --mv-precision Q-pel --cabac --deblock --preset default --colorrange limited --colormatrix undef --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output OUTPUTFILE

mit spatial an:
Quote:NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --vbr 0 --vbr-quality 0.00 --aq --aq-strength 0 --gop-len 0 --ref 3 --bframes 3 --direct auto --bref-mode disabled --no-b-adapt --mv-precision Q-pel --cabac --deblock --preset default --colorrange limited --colormatrix undef --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output OUTPUTFILE

mit temporal an:
Quote:NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --vbr 0 --vbr-quality 0.00 --aq-temporal --gop-len 0 --ref 3 --bframes 3 --direct auto --bref-mode disabled --no-b-adapt --mv-precision Q-pel --cabac --deblock --preset default --colorrange limited --colormatrix undef --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output OUTPUTFILE

mit spatial und temporal an:
Quote:NVEnc --y4m -i - --fps 25.000 --codec h264 --profile high --level auto --sar 1:1 --lookahead 16 --vbr 0 --vbr-quality 0.00 --aq --aq-strength 0 --aq-temporal --gop-len 0 --ref 3 --bframes 3 --direct auto --bref-mode disabled --no-b-adapt --mv-precision Q-pel --cabac --deblock --preset default --colorrange limited --colormatrix undef --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output OUTPUTFILE


Quote:Das motiviert auch nicht gerade eine andere Karte zu kaufen, das wird ja nirgendwo richtig transparent gemacht, was für features tatsächlich unterstützt werden. Jedenfalls hab ich nirgends was gefunden...
Chipsatz checken und dann im SDK schauen. Siehe auch: https://en.wikipedia.org/wiki/Nvidia_NVENC

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)