Posts: 77
Threads: 8
Joined: May 2022
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
Posts: 11.515
Threads: 63
Joined: May 2017
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.
>>> Offline from 30th of June till 6th of July. <<<
(will be at the RochHarz festival)
Posts: 77
Threads: 8
Joined: May 2022
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
Posts: 77
Threads: 8
Joined: May 2022
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.
Posts: 11.515
Threads: 63
Joined: May 2017
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.
>>> Offline from 30th of June till 6th of July. <<<
(will be at the RochHarz festival)
Posts: 11.515
Threads: 63
Joined: May 2017
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.
>>> Offline from 30th of June till 6th of July. <<<
(will be at the RochHarz festival)
Posts: 77
Threads: 8
Joined: May 2022
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.
Posts: 11.515
Threads: 63
Joined: May 2017
16.12.2022, 23:05
(This post was last modified: 16.12.2022, 23:16 by Selur.)
Okay, wie erwartet, geht H.264 mit 10bit nicht, da der Encoderchip es nicht kann (der Decoderchip auch nich  ), 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  )
=> 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. 
Das Problem ist, da ist ein bug in der Gui, den ich irgendwie nicht nachvollziehen konnte und dann vergessen hatte, dass das Problem existiert.
Ist irgendein Initialisierungsproblem, da die Regler beim ersten Laden auch verschiebbar sind, wenn die Box deaktiviert ist.
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.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
>>> Offline from 30th of June till 6th of July. <<<
(will be at the RochHarz festival)
Posts: 77
Threads: 8
Joined: May 2022
16.12.2022, 23:21
Und nicht vergessen, dass weder temporal, noch spatial AQ bei beiden Codecs gesetzt wird, das ist imho das wichtigste missing feature
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
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...
Posts: 11.515
Threads: 63
Joined: May 2017
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.
>>> Offline from 30th of June till 6th of July. <<<
(will be at the RochHarz festival)
|