Unified Video Decoder

decodificación de video

Unified Video Decoder (UVD, anteriormente llamado Universal Video Decoder) es el nombre que se le da al ASIC de decodificación de video dedicado de AMD. Existen múltiples versiones que implementan multitud de códecs de vídeo, como H.264 y VC-1.

UVD se introdujo con la serie Radeon HD 2000 y está integrado en algunas de las GPU y APU de AMD. UVD ocupa una cantidad considerable de la superficie de la pastilla en el momento de su introducción[1]​ y no debe confundirse con el motor de codificación de video (VCE) de AMD.

A partir de AMD Raven Ridge (lanzado en enero de 2018), UVD y VCE fueron reemplazados por Video Core Next (VCN).

Descripción general editar

El UVD se basa en un procesador de video ATI Xilleon, que está incorporado en el mismo chip que la GPU y es parte de ATI Avivo HD para la decodificación de video por hardware, junto con el Procesador de video avanzado (AVP). UVD, según lo declarado por AMD, maneja la decodificación de códecs de video H.264/AVC y VC-1 completamente en hardware.

La tecnología UVD se basa en el procesador Cadence Tensilica Xtensa,[2][3][4][5]​ que originalmente obtuvo la licencia de ATI Technologies Inc. en 2004.[6]

UVD/UVD+ editar

En las primeras versiones de UVD, el posprocesamiento de video se pasa a los sombreadores de píxeles y los núcleos OpenCL. La decodificación de MPEG-2 no se realiza dentro de UVD, sino en los procesadores de sombreado. El decodificador cumple con los requisitos de rendimiento y perfil de Blu-ray y HD DVD, decodifica flujos de bits H.264 hasta una tasa de bits de 40 Mbit/s. Tiene soporte de codificación aritmética binaria adaptable al contexto (CABAC) para H.264/AVC.

A diferencia de los bloques de aceleración de video en las GPU de la generación anterior, que exigían una participación considerable de la CPU del host, UVD descarga todo el proceso de decodificación de video para VC-1 y H.264, excepto el posprocesamiento de video, que se descarga a los sombreadores. También se admite la decodificación de MPEG-2, pero la decodificación de flujo de bits/entropía no se realiza para video MPEG-2 en hardware.

Anteriormente, ni ATI Avivo de la serie ATI Radeon R520 ni PureVideo de la serie Nvidia GeForce 7 asistían la descompresión de flujo de bits/entropía frontal en VC-1 y H.264: la CPU host realizaba este trabajo.[7]​ UVD maneja VLC / CAVLC / CABAC, transformación de frecuencia, predicción de píxeles y desbloqueo de inloop, pero pasa el procesamiento posterior a los shaders.[8]​ El posprocesamiento incluye eliminación de ruido, desentrelazado y escalado/cambio de tamaño. AMD también ha declarado que el componente UVD que se incorpora al núcleo de la GPU solo ocupa 4,7 mm² de área en el nodo del proceso de fabricación de 65 nm.

Se introdujo una variación de UVD, llamada UVD+, con la serie Radeon HD 3000. UVD+ admite HDCP para transmisiones de video de mayor resolución.[9]​ Pero UVD+ también se comercializaba simplemente como UVD.

UVD 2 editar

La UVD se actualizó con el lanzamiento de los productos de la serie Radeon HD 4000. El UVD 2 cuenta con decodificación de flujo de bits completo de H.264/MPEG-4 AVC, VC-1, así como aceleración de nivel iDCT de flujos de video MPEG2. Las mejoras de rendimiento permiten la decodificación de flujo de video dual y el modo Picture-in-Picture. Esto hace que UVD2 sea totalmente compatible con BD-Live.

El UVD 2.2 presenta una interfaz de memoria local rediseñada y mejora la compatibilidad con videos MPEG2/H.264/VC-1. Sin embargo, se comercializó con el mismo alias que "UVD 2 Enhanced" como la "lógica de núcleo especial, disponible en las series de GPU RV770 y RV730, para la decodificación de hardware de video MPEG2, H.264 y VC-1 con flujo dual. descodificación". La naturaleza de UVD 2.2 como una actualización incremental de UVD 2 puede explicarse por este movimiento.

UVD 3 editar

UVD 3 agrega soporte para hardware adicional de decodificación MPEG2 (decodificación de entropía), DivX y Xvid a través de decodificación de MPEG-4 Parte 2 (decodificación de entropía, transformación inversa, compensación de movimiento) y Blu-ray 3D a través de MVC (decodificación de entropía, transformación inversa, compensación de movimiento), desbloqueo en bucle).[10][11]​ junto con soporte 3D estéreo de 120 Hz,[12]​ y está optimizado para utilizar menos potencia de procesamiento de la CPU. UVD 3 también agrega soporte para pantallas estereoscópicas 3D Blu-ray.

UVD 4 editar

UVD 4 incluye interpolación de cuadros mejorada con decodificador H.264.[13]​ UVD 4.2 se introdujo con la serie AMD Radeon Rx 200 y la APU Kaveri.«X.ORG Radeon UVD (Unified Video Decoder) Hardware-UVD4.2: KAVERI, KABINI, MULLINS, BONAIRE, HAWAII». Mayo de 2016. 

UVD 5 editar

UVD 5 se introdujo con AMD Radeon R9 285. Nuevo en UVD es el soporte completo para video 4K H.264, hasta el nivel 5.2 (4Kp60).[14]

UVD 6 editar

Se informó que el decodificador UVD 6.0 y el codificador Video Coding Engine 3.1 se usaron por primera vez en GPU basadas en GCN 3, incluida la serie Radeon R9 Fury y las APU "Carrizo",[15][16]​ seguidas de la serie AMD Radeon Rx 300 (familia de GPU Pirate Islands) y AMD Radeon Rx 400 (familia de GPU Arctic Islands).[17]​ La versión UVD en hardware de controlador de gráficos basado en "Fiji" y "Carrizo" también se anuncia para proporcionar soporte para decodificación de video de hardware de codificación de video de alta eficiencia (HEVC, H.265), hasta 4K, color de 8 bits (H.265 versión 1, perfil principal);[18][19][20]​ y hay soporte para el códec de video H.265 y VP9 HDR de 10 bits en color en la serie AMD Radeon 400 con UVD 6.3.[21][22][23]

UVD 7 editar

El decodificador UVD 7.0 y el codificador Video Coding Engine 4.0 están incluidos en las GPU basadas en Vega.[24][25]​ Pero todavía no hay una función fija de decodificación de hardware VP9.[26]

UVD 7.2 editar

La GPU Vega20 de AMD, presente en las tarjetas Instinct Mi50, Instinct Mi60 y Radeon VII, incluye instancias VCE 4.1 y dos UVD 7.2.[27][28]

VCN 1 editar

Comenzando con los gráficos integrados de la APU Raven Ridge (Ryzen 2200/2400G), los antiguos UVD y VCE han sido reemplazados por el nuevo "Video Core Next" (VCN). VCN 1.0 agrega decodificación de hardware completa para el códec VP9.[29]

Soporte de formato editar

Soporte de Unified Video Decoder y Video Core Next decoding/encoding[30][29]
Implementación MPEG-1[a] H.262
(MPEG-2)
H.263
(MPEG-4 ASP)
VC-1/WMV 9 H.264
(MPEG-4 AVC)
H.265
(HEVC)
VP9 AV1 JPEG Máxima resolución Profundidad de color AMD Fluid Motion
Descodificación Descodificación Descodificación Descodificación Descodificación Codificación Descodificación Codificación Descodificación Descodificación Codificación Descodificación Interpolación de fotogramas
UVD 1.0 RV610, RV630, RV670, RV620, RV635   No   No   No         No   No   No   No   No   No   No 2K 8-bit   No
UVD 2.0 RS780, RS880, RV770
UVD 2.2 RV710, RV730, RV740
UVD 2.3 Cedar, Redwood, Juniper, Cypress
UVD 3.0 Palm (Wrestler/Ontario), Sumo (Llano), Sumo2 (Llano)         
UVD 3.1 Barts, Turks, Caicos, Cayman, Seymour
UVD 3.2 Aruba (Trinity/Richland), Tahiti VCE[b]
UVD 4.0 Cape Verde, Pitcairn   
UVD 4.2 Kaveri, Kabini, Mullins, Bonaire, Hawaii
UVD 5.0 Tonga 4K
UVD 6.0 Carrizo, Fiji      
UVD 6.2 Stoney 10-bit
UVD 6.3 Polaris, VegaM, Lexa VCE[b]
UVD 7.0 Vega10, Vega12
UVD 7.2 Vega20
VCN 1.0 Raven, Picasso         
VCN 2.0 Navi10, Navi12, Navi14, Renoir, Cezanne 8K   No
VCN 2.5 Arcturus
VCN 2.6 Aldebaran
VCN 3.0 Navi21, Navi22, Navi23, Navi24   
VCN 3.1.0 Van Gogh ? ? ?
VCN 3.1.1 Rembrandt   No   No   No   No 8K 10-bit   No
VCN 3.1.2 Raphael ? ? ?
VCN 4.0 Navi 3x    ? ? ?
Implementación Descodificación Descodificación Descodificación Descodificación Descodificación Codificación Descodificación Codificación Descodificación Descodificación Codificación Descodificación Máxima resolución Profundidad de color Interpolación de fotogramas
MPEG-1[a] H.262
(MPEG-2)
H.263
(MPEG-4 ASP)
VC-1/WMV 9 H.264
(MPEG-4 AVC)
H.265
(HEVC)
VP9 AV1 JPEG AMD Fluid Motion
  1. a b Todos los decodificadores MPEG-2 admiten MPEG-1 CPB
  2. a b Codificación MPEG-4 AVC y HEVC mediante un motor de codificación de video independiente

Disponibilidad editar

La mayoría de las tarjetas de video de la serie Radeon HD 2000 implementan UVD para la decodificación de hardware de contenido de alta definición de 1080p.[31]​ Sin embargo, las tarjetas de video de la serie Radeon HD 2900 no incluyen el UVD (aunque puede proporcionar una funcionalidad parcial mediante el uso de sus sombreadores), que se indicó incorrectamente que estaba presente en las páginas del producto y las cajas del paquete del complemento. productos de socios antes del lanzamiento de la Radeon HD 2900 XT, indicando que la tarjeta incluye ATI Avivo HD o explícitamente UVD, que solo la declaración anterior de ATI Avivo HD es correcta. La exclusión de UVD también fue confirmada por funcionarios de AMD.[32]

UVD2 está implementado en las GPU de las series Radeon RV7x0 y R7x0. Esto también incluye la serie RS7x0 utilizada para las placas base IGP de la serie de chipset AMD 700.

Soporte del sistema operativo editar

El núcleo UVD SIP debe ser compatible con el controlador del dispositivo, que proporciona una o más interfaces, como VDPAU, VAAPI o DXVA. El software del usuario final utiliza una de estas interfaces, por ejemplo, el reproductor multimedia VLC o GStreamer, para acceder al hardware UVD y utilizarlo.

AMD Catalyst, el controlador de dispositivo de gráficos propietario de AMD que admite UVD, está disponible para Microsoft Windows y algunas distribuciones de Linux. Además, hay disponible un controlador de dispositivo gratuito, que también es compatible con el hardware UVD.

Linux editar

 
El controlador de dispositivo del kernel de Linux proporciona compatibilidad con Linux para UVD ASIC.amdgpu[33]

El soporte para UVD ha estado disponible en el controlador patentado de AMD Catalyst versión 8.10 desde octubre de 2008 a través de X-Video Motion Compensation (XvMC) o X-Video Bitstream Acceleration (XvBA).[34][35]​ Desde abril de 2013,[36]​ UVD es compatible con el controlador de dispositivo "radeon" gratuito y de código abierto a través de Video Decode y Presentation API para Unix (VDPAU). Una implementación de VDPAU está disponible como rastreador de estado Gallium3D en Mesa 3D.

El 28 de junio de 2014, Phoronix publicó algunos puntos de referencia sobre el uso de Unified Video Decoder a través de la interfaz VDPAU que ejecuta MPlayer en Ubuntu 14.04 con la versión 10.3 de prueba de Mesa 3D.[37]

Windows editar

Microsoft Windows admitió UVD desde su lanzamiento. Actualmente, UVD solo admite la especificación API DXVA (DirectX Video Acceleration) para las plataformas Microsoft Windows y Xbox 360 para permitir que la decodificación de video se acelere por hardware, por lo que el software del reproductor multimedia también debe ser compatible con DXVA para poder utilizar la aceleración de hardware UVD.

Otros editar

A partir de enero de 2012, se intentó la compatibilidad para ejecutar firmware personalizado basado en FreeRTOS en el núcleo UVD de Radeon HD 2400 (basado en una CPU Xtensa), interconectado con una placa basada en STM32 ARM a través de I2C.[38]

Predecesores y Sucesores editar

Antecesores editar

Video Shader y ATI Avivo son tecnologías similares incorporadas en productos ATI anteriores.

Sucesor editar

El UVD fue reemplazado por AMD Video Core Next en la serie de APU Raven Ridge lanzada en octubre de 2017. La VCN combina la codificación (VCE) y la decodificación (UVD).[39]

Véase también editar

Tecnologías de hardware de vídeo editar

Nvidia editar

AMD editar

Intel editar

Qualcomm editar

Otros editar

Referencias editar

  1. «AMD A-Series APU block diagram». 30 de junio de 2011. Consultado el 22 de enero de 2015. 
  2. «Linux operating system on Xtensa processors». 
  3. Cheung, Ken (8 de enero de 2009). «Consumer Electronics Show Features Tensilica-enabled Products». EDA Geek. Archivado desde el original el 26 de abril de 2014. Consultado el 15 de mayo de 2014. 
  4. «Customer Profiles | Cadence IP». Ip.cadence.com. 13 de abril de 2014. Consultado el 15 de mayo de 2014. 
  5. «Tensilica News: Excellent AMD ATI Video with Xtensa». tensilica.com. 5 de octubre de 2009. Consultado el 15 de mayo de 2014. 
  6. «ATI Licenses Tensilica's Xtensa Configurable Processor». Design And Reuse (en inglés). Consultado el 24 de febrero de 2023. 
  7. «HardSpell review» (en chino). Archivado desde el original el 27 de septiembre de 2007. 
  8. Smith, Ryan (24 de febrero de 2010). «AMD's Radeon HD 5450: The Next Step In HTPC Video Cards». AnandTech. AnandTech, Inc. Consultado el 7 de abril de 2010. «Dado que el desentrelazado y otras acciones de posprocesamiento de AVIVO las realiza el hardware de sombreado, las capacidades limitadas de sombreado de estas tarjetas significaban que AMD no podía ofrecer el conjunto completo de capacidades de AVIVO a la vez.» 
  9. «PCDVD數位科技討論區 - 請問UVD UVD+ UVD2的差別是?». www.pcdvd.com.tw. Consultado el 24 de febrero de 2023. 
  10. «AMD Unified Video Decoder (UVD)». amd.com. 1 de mayo de 2014. Archivado desde el original el 1 de mayo de 2014. Consultado el 24 de febrero de 2023. 
  11. «DailyTech - Radeon 6800 Series Launches, Targets GeForce GTX 460». Archivado desde el original el 20 de marzo de 2012. Consultado el 1 de septiembre de 2013.  de Jansen Ng, 21/10/2010 DailyTech
  12. «AMD A6-3650 Llano APU Review - Page 5». Hardwarecanucks.com. Consultado el 17 de abril de 2014. 
  13. Koen Crijns (14 de enero de 2014). «AMD A10-7850K 'Kaveri' review: AMD's new APU». hardware.info. Archivado desde el original el 28 de junio de 2016. Consultado el 24 de febrero de 2023. 
  14. Ryan Smith. «GCN 1.2 – Image & Video Processing - AMD Radeon R9 285 Review: Feat. Sapphire R9 285 Dual-X OC». anandtech.com. 
  15. «Guide to HEVC_H.265 Encoding and Playback». TechSpot. 
  16. «Key features of AMD’s third iteration of GCN architecture revealed | KitGuru». 
  17. Deucher, Alex (3 de junio de 2015). «[pull] amdgpu drm-next-4.2». Consultado el 24 de febrero de 2023. 
  18. «Display Matters Virtual Super Resolution, Frame Rate Targeting, and HEVC Decoding - The AMD Radeon R9 Fury X Review Aiming For the Top». Anandtech. 
  19. Andermahr, Wolfgang. «AMD Radeon R9 Fury X im Test: Eine ernsthafte Alternative zu Nvidias Topmodellen (Seite 8)». ComputerBase. 
  20. Rick Merritt (5 de enero de 2015). «AMD Describes Notebook Processor». EE Times. Consultado el 10 de enero de 2015. 
  21. AMD. «Radeon Software Crimson ReLive Edition 16.12.1 Release Notes». amd.com. amd.com. Consultado el 29 de diciembre de 2016. 
  22. «AMD Introduces New Professional Graphics Vision and Strategy, Empowering the "Art of the Impossible"». AMD. 
  23. «AMD Launches the Radeon Rebellion with the Radeon™ RX 480 Graphics Card, Available Now». AMD. 
  24. Zak Killian (22 de marzo de 2017). «AMD publishes patches for Vega support on Linux». Consultado el 23 de febrero de 2023. 
  25. Larabel, Michael (20 de marzo de 2017). «AMD Sends Out 100 Patches, Enabling Vega Support In AMDGPU DRM». Phoronix. Consultado el 25 de agosto de 2017. 
  26. «Radeon’s next-generation Vega architecture». radeon.com. 16 de agosto de 2017. Archivado desde el original el 16 de agosto de 2017. Consultado el 24 de febrero de 2023. 
  27. Deucher, Alex (15 de mayo de 2018). «[PATCH 50/57] drm/amdgpu/vg20:Enable the 2nd instance IRQ for uvd 7.2». Consultado el 13 de enero de 2019. 
  28. Deucher, Alex (15 de mayo de 2018). «[PATCH 42/57] drm/amd/include/vg20: adjust VCE_BASE to reuse vce 4.0 header files». Consultado el 13 de enero de 2019. 
  29. a b «RadeonFeature». www.x.org. 
  30. «RadeonFeature». www.x.org. 
  31. HKEPC Hardware. «電腦領域 HKEPC Hardware - 全港 No.1 PC網站». hkepc.com. Archivado desde el original el 12 de marzo de 2007. 
  32. «DailyTech - Whoops, ATI Radeon HD 2900 XT Lacks UVD». dailytech.com. Archivado desde el original el 24 de diciembre de 2013. 
  33. Michael Larabel (8 de octubre de 2014). «The Slides Announcing The New "AMDGPU" Kernel Driver». Phoronix. Consultado el 22 de enero de 2015. 
  34. «UVD Is Enabled For Linux In Catalyst 8.10». Phoronix. 15 de octubre de 2008. Consultado el 22 de enero de 2015. 
  35. «AMD's X-Video Bitstream Acceleration». Phoronix. 28 de octubre de 2008. Consultado el 22 de enero de 2015. 
  36. «AMD Releases Open-Source UVD Video Support». Phoronix. 2 de abril de 2013. Consultado el 22 de enero de 2015. 
  37. «AMD Radeon VDPAU Video Performance With Gallium3D». Phoronix. 28 de junio de 2014. Consultado el 22 de enero de 2015. 
  38. «Interfacing a PC graphics card (Radeon HD 2400) with a STM32 microcontroller». Edaboard.com. 9 de enero de 2012. Consultado el 27 de abril de 2014. 
  39. Larabel, Michael (17 de noviembre de 2017). «Radeon VCN Encode Support Lands In Mesa 17.4 Git». Phoronix. Consultado el 20 de noviembre de 2017. 

Enlaces externos editar