Vés al contingut

NVENC

De la Viquipèdia, l'enciclopèdia lliure

NVENC (abreviatura d'Nvidia Encoder)[1] és una característica de les targetes gràfiques Nvidia que realitza la codificació de vídeo, descarregant aquesta tasca intensiva en computació de la CPU a una part dedicada de la GPU. Es va introduir amb la sèrie GeForce 600 basada en Kepler el març de 2012 (GT 610, GT620 i GT630 són arquitectura Fermi).[2][3]

El codificador és compatible amb molts programes de transmissió en directe i gravació, com ara vMix, Wirecast, Open Broadcaster Software (OBS) i Bandicam, així com amb aplicacions d'edició de vídeo, com ara Adobe Premiere Pro o DaVinci Resolve. També funciona amb Share Game Capture, que s'inclou al programari GeForce Experience d'Nvidia.[4][5]

Fins al març del 2023, les targetes gràfiques GeForce dirigides al consumidor no admetien oficialment més de tres fluxos de vídeo codificats simultàniament, independentment del nombre de targetes instal·lades, però aquesta restricció es pot eludir en sistemes Linux i Windows aplicant un pegat no oficial als controladors. Això també desbloqueja NVIDIA Frame Buffer Capture (NVFBC), una API de captura d'escriptori ràpida que utilitza les capacitats de la GPU i el seu controlador per accelerar la captura.[6] Les targetes professionals admeten entre tres fluxos simultanis i sense restriccions per targeta, depenent del model de la targeta i la qualitat de la compressió,[7] les restriccions es van relaxar el 2023 permetent fins a 5 fluxos de vídeo codificats simultàniament.[8] A partir del gener del 2024, vuit fluxos de vídeo codificats simultàniament es van convertir en la línia de base. A partir del novembre del 2025, dotze fluxos de vídeo codificats simultàniament es van convertir en la línia de base.[9]

Els xips Nvidia també inclouen un descodificador integrat, NVDEC (abreviatura de Nvidia Dec oder), per descarregar la descodificació de vídeo de la CPU a una part dedicada de la GPU.[10]

Versions

[modifica]

NVENC ha experimentat diverses revisions de maquinari des de la seva introducció amb la primera GPU Kepler (GK104).[11] No es van llançar targetes gràfiques amb NVENC de la segona i tercera generació.[12]

Primera generació, Kepler GK1xx

[modifica]

La primera generació de NVENC, que comparteixen totes les GPU basades en Kepler, admet H.264 d'alt perfil (YUV420, trames I/P/B, CAVLC/CABAC), H.264 SVC Temporal Encode VCE i Display Encode Mode (DEM).

La documentació d'Nvidia indica un rendiment màxim del codificador de 8× en temps real a una resolució de 1920×1080 (on la línia de base "1×" és igual a 30 Hz). El rendiment real varia segons la configuració predefinida seleccionada, els paràmetres i la configuració controlats per l'usuari i les freqüències de rellotge de la GPU/memòria. La qualificació publicada de 8× s'aconsegueix amb la configuració predefinida d'alt rendiment NVENC, que sacrifica l'eficiència i la qualitat de la compressió pel rendiment del codificador. La configuració predefinida d'alta qualitat és considerablement més lenta però produeix menys artefactes de compressió.

Segona generació, Maxwell GM107

[modifica]

Introduïda amb l'arquitectura Maxwell de primera generació, la segona generació de NVENC afegeix compatibilitat amb el perfil HP444 d'alt rendiment (YUV4:4:4, codificació predictiva sense pèrdues) i augmenta el rendiment del codificador fins a 16× en temps real, cosa que correspon a uns 1080p a 480. Hz amb el preajustament d'alt rendiment.

El Maxwell GM108 no té compatibilitat amb el codificador de maquinari NVENC.

Tercera generació, Maxwell GM20

[modifica]

Introduïda amb l'arquitectura Maxwell de segona generació, la tercera generació NVENC implementa l'algoritme de compressió de vídeo High Efficiency Video Coding (també conegut com HEVC, H.265) i també augmenta el rendiment del codificador H.264 per cobrir una resolució 4K a 60 Hz (2160p60). Tanmateix, no admet fotogrames B per a la codificació HEVC (només fotogrames I i P). La mida màxima de la unitat d'arbre de codificació (CU) NVENC HEVC és de 32 (l'estàndard HEVC permet un màxim de 64) i la seva mida mínima de CU és de 8.

La codificació HEVC també no té Sample Adaptive Offset (SAO). La quantificació adaptativa, el control de velocitat anticipada, els fotogrames B adaptatius (només H.264) i les funcions GOP adaptatives es van afegir amb el llançament de Nvidia Video Codec SDK 7.[13] Aquestes funcions es basen en nuclis CUDA per a l'acceleració per maquinari.

L'SDK 7 admet dues formes de quantització adaptativa: Spatial AQ (H.264 i HEVC) i Temporal AQ (només H.264).

A partir del 2025, les targetes de consum (GeForce) d'Nvidia estan restringides a 12 tasques de codificació simultànies, mentre que les seves targetes Quadro professionals de gamma baixa estan restringides a vuit tasques de codificació simultànies. Les seves targetes Quadro de gamma alta no tenen aquesta restricció.

Quarta generació, Pascal GP10x

[modifica]

La quarta generació de NVENC implementa la codificació per maquinari HEVC Main10 de 10 bits. També duplica el rendiment de codificació de 4K H.264 i HEVC en comparació amb la generació anterior de NVENC. Admet HEVC 8K, submostreig de croma 4:4:4, codificació sense pèrdues i desplaçament adaptatiu de mostra (SAO). L'SDK 8 de Nvidia Video Codec ha afegit la funció exclusiva de predicció ponderada de Pascal (basada en CUDA). La predicció ponderada no és compatible si la sessió de codificació està configurada amb fotogrames B (H.264). No hi ha compatibilitat amb fotogrames B per a la codificació HEVC i la mida màxima de CU és de 32 × 32. L'NVIDIA GT 1030 i la Mobile Quadro P500 són xips GP108 que no admeten el codificador NVENC.[14] En els gràfics per a portàtils, els gràfics NVIDIA MX no inclouen NVENC, ja que es basen en un xip GM108 de la generació Maxwell o un xip GP108 de la generació Pascal.[15] La GeForce MX350 és un xip GP107 el codificador NVENC del qual està desactivat durant la fabricació.

Cinquena generació, Volta GV10x/Turing TU117

[modifica]

El Volta NVENC té un rendiment similar al NVENC de Pascal. No ofereix compatibilitat amb els B-Frames HEVC.

En gràfics mòbils, com passa amb la majoria de gràfics de la sèrie GeForce MX, la GeForce MX450 no admet NVENC, ja que és un xip TU117 el codificador de maquinari del qual està desactivat permanentment durant la seva fabricació. La GeForce MX550, però, sí que admet NVENC, ja que el seu codificador de maquinari roman habilitat durant la fabricació.

Sisena generació, Turing TU10x/TU116

[modifica]

La sisena generació de NVENC implementa la codificació HEVC 8K a 30 FPS, fotogrames B HEVC i fotogrames B HEVC com a referència (amb compatibilitat amb tots els modes i el mode intermedi)[16] i compatibilitat amb Alpha HEVC[17] i proporciona fins a un 25% d'estalvi de taxa de bits per a HEVC i fins a un 15% d'estalvi de taxa de bits per a H.264. Tanmateix, el llançament inicial de la Nvidia GeForce GTX 1650 estava exempt d'aquesta generació, ja que utilitzava Volta NVENC en lloc de Turing. Nvidia va actualitzar el codificador NVENC de les targetes GTX 1650 el 2020 per utilitzar també el motor Turing.[18] La GTX 1650 Super utilitza el motor Turing NVENC, ja que es basa en el TU116 en lloc del TU117 utilitzat a la GTX 1650 original.[19]

Setena generació, Ampere GA10x

[modifica]

Ampere té essencialment el mateix motor de generació NVENC que Turing.[20] L'única diferència substancial és que NVDEC va rebre suport per a la descodificació AV1 (amb gra de pel·lícula).

En gràfics mòbils de nivell bàsic, la GeForce MX570 basada en el xip GA107 ve en dues versions, una de les quals (la GeForce MX570 A) té el descodificador i el codificador de maquinari desactivats permanentment durant la fabricació.

Vuitena generació, Ada Lovelace AD10x

[modifica]

Nvidia ha anunciat la nova generació de NVENC amb un codificador de maquinari de funció fixa AV1 de 8K, 10 bits i 60 FPS en GPU Ada Lovelace.[21][22]

Novena generació, Blackwell GB20X

[modifica]

La microarquitectura de GPU Blackwell (9a generació) va introduir compatibilitat amb el submostreig de croma 4:2:2 i el mode AV1 Ultra High Quality. També es diu que és un 5% més eficient que el seu predecessor.

Suport del sistema operatiu

[modifica]

El nucli SIP d'Nvidia NVENC ha de ser compatible amb el controlador de dispositiu. El controlador proporciona una o més interfícies (per exemple, OpenMAX IL) a NVENC. Es pot accedir al nucli SIP d'Nvidia a través de l'API pròpia NVENC, així com de les API DXVA i VDPAU.[23] El suport s'inclou amb els controladors GeForce d'Nvidia, de manera que el suport del sistema operatiu depèn dels controladors que admetin el sistema operatiu. En el cas de Microsoft Windows, la codificació H.264 era compatible amb Windows 7 i superiors.[24] El codificador H.264 de qualitat significativament millorada,[25] que moltes ressenyes de la indústria deien que estava a l'alçada del preset ràpid x264, va arribar amb les GPU d'arquitectura Turing. Aquest, juntament amb els codificadors HEVC i AV1, només són compatibles amb Windows 10 i superiors.[26][27] NVENC està disponible per als sistemes operatius Windows i Linux.[28] El controlador de dispositiu nouveau gratuït i de codi obert no admet Nvidia NVENC.[29]

Suport de programari d'aplicació

[modifica]

Rendiment de la GPU

[modifica]

Comparació del rendiment de codificació[43]

Corrents Codificació H.264 (1080p30)
GM204 (Tesla M6) 18 anys
GM107 (Tesla M10) 28
GM200 (Tesla M40) 18 anys
GM204 (Tesla M60) 36
GP104 (Tesla P4) 24
TU104 (Tesla T4) 32
P100 36
V100 36

Referències

[modifica]
  1. «NVIDIA GeForce RTX 40 Series Graphics Cards» (en anglès americà). NVIDIA. [Consulta: 28 febrer 2024].
  2. «NVIDIA VIDEO CODEC SDK» (en anglès). NVIDIA Developer. Nvidia, 23-08-2013. [Consulta: 12 novembre 2017].
  3. «Maxwell's Feature Set: Kepler Refined» (en anglès). AnandTech, 18-02-2014. Arxivat de l'original el February 21, 2014.
  4. «System Requirements for NVIDIA GeForce Experience» (en anglès). www.geforce.com. GeForce. [Consulta: 17 agost 2016].
  5. «Wirecast Tech Specs» (en anglès). telestream.net. [Consulta: 19 desembre 2017].
  6. «nvidia-patch» (en anglès). GitHub. [Consulta: 29 abril 2026].
  7. «NVIDIA VIDEO CODEC SDK» (en anglès). NVIDIA Developer. Nvidia, 23-08-2013. [Consulta: 12 novembre 2017].
  8. Shilov, Anton. «Nvidia Lifts Some Video Encoding Limitations from Consumer GPUs» (en anglès). tomshardware, 24-03-2023. [Consulta: 26 març 2023].
  9. «Video Encode and Decode GPU Support Matrix» (en anglès). [Consulta: 29 abril 2026].
  10. «NVIDIA VIDEO CODEC SDK» (en anglès). NVIDIA Developer. Nvidia, 23-08-2013. [Consulta: 12 novembre 2017].
  11. «S5613 – High-Performance Video Encoding Using NVIDIA GPUs» (en anglès). Nvidia. [Consulta: 29 abril 2026].
  12. «GPU Specs Database» (en anglès). TechPowerUp, 04-09-2025. [Consulta: 4 setembre 2025].
  13. «NVIDIA On-Demand» (en anglès). on-demand.gputechconf.com. [Consulta: 1r juny 2025].
  14. «Video Encode and Decode GPU Support Matrix» (en anglès). NVIDIA Developer, 09-11-2016. [Consulta: 22 agost 2020].
  15. «NVIDIA GeForce MX250 i MX230 – dwie "nowe" grafiki do laptopów» (en polonès). , 21-02-2019.
  16. «B-Frame reference mode flag in ffmpeg nvenc is bugged and doesn't work. · Issue #2374 · obsproject/obs-studio» (en anglès). GitHub. [Consulta: 24 març 2021].
  17. Harrison, John. «johnhe4/nvenc_h265_transparency» (en anglès). GitHub, 30-01-2021. [Consulta: 24 març 2021].
  18. «NVIDIA GeForce GTX 1650 Graphics Card» (en anglès americà). NVIDIA. [Consulta: 24 març 2021].
  19. Walton, Jarred. «Nvidia GeForce GTX 1650 Super review» (en anglès americà). PC Gamer, 23-11-2019. [Consulta: 24 març 2021].
  20. «NVIDIA Ampere GA102 GPU Architecture: Second-Generation RTX» (en anglès). NVIDIA. [Consulta: 21 setembre 2022].
  21. Gray, Jon. «Creativity At The Speed of Light: GeForce RTX 40 Series Graphics Cards Unleash Up To 2X Performance in 3D Rendering, AI, and Video Exports For Gamers and Creators» (en anglès). NVIDIA, 20-09-2022. [Consulta: 21 setembre 2022].
  22. «NVIDIA Video Codec SDK» (en anglès). NVIDIA, 23-08-2013. [Consulta: 21 setembre 2022].
  23. «NVIDIA Announces VDPAU 1.0 With HEVC/H.265 Decoding» (en anglès). www.phoronix.com. [Consulta: 29 abril 2026].
  24. «NVIDIA VIDEO ENCODER (NVENC) INTERFACE Programming Guide» (en anglès). developer.download.nvidia.com. [Consulta: 29 abril 2026].
  25. «NVIDIA TURING GPU ARCHITECTURE» (en anglès). [Consulta: 29 abril 2026].
  26. Manuel, Akanji. «O8» (en anglès), 07-08-2025. [Consulta: 29 abril 2026].
  27. «NVENC Video Encoder API Programming Guide» (en anglès). docs.nvidia.com. [Consulta: 29 abril 2026].
  28. «NVIDIA VIDEO CODEC SDK» (en anglès). NVIDIA Developer. Nvidia, 23-08-2013. [Consulta: 12 novembre 2017].
  29. «Nouveau Feature Matrix» (en anglès). freedesktop.org, 07-08-2025. [Consulta: 29 abril 2026].
  30. Tack, Stanley. «Cut to the Video: Adobe Premiere Pro Helps Content Creators Work Faster with GPU-Accelerated Exports | NVIDIA Blog» (en anglès americà). The Official NVIDIA Blog, 19-05-2020. [Consulta: 24 març 2021].
  31. «BRIDGE LIVE is a broadcast-quality, low-latency turnkey system» (en anglès). www.aja.com. [Consulta: 29 abril 2026].
  32. «AVIDemux Changelog» (en anglès). www.videohelp.com. [Consulta: 29 abril 2026].
  33. «CyberLink Forum Official Post» (en anglès). www.cyberlink.com. [Consulta: 29 abril 2026].
  34. «Blackmagic Forum • View topic – Davinci studio 16, NVENC unavailable» (en anglès). forum.blackmagicdesign.com. [Consulta: 24 març 2021].
  35. «nvenc.c H.264 hardware encoding using nvidia nvenc» (en anglès). Ffmpeg.org. [Consulta: 29 abril 2026].
  36. «QUADRO DESKTOP/QUADRO NOTEBOOK DRIVER RELEASE 375» (en anglès). [Consulta: 29 abril 2026].
  37. «Nvcodec» (en anglès). [Consulta: 29 abril 2026].
  38. «HandBrake 1.2.0 released» (en anglès). handbrake.fr. [Consulta: 29 abril 2026].
  39. «Forum post by staff member saying there is an issue with the way the software is interacting with the encoder but at the same time saying it exists» (en anglès). [Consulta: 29 abril 2026].
  40. «Transcoding | Jellyfin» (en anglès). [Consulta: 29 abril 2026].
  41. «MacroSystem Arabesk 8 info from Casablanca Expert» (en anglès). [Consulta: 29 abril 2026].
  42. Blogging, vMix Tim-VP of. «vMix 27 is here!» (en anglès americà). vMix Blog, 22-01-2024. [Consulta: 29 abril 2026].
  43. «NVIDIA vGPU Resources for Design & VIrtualization» (en anglès americà). NVIDIA. [Consulta: 24 març 2021].