Unified Video Decoder
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
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+
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
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
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
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
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
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
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
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
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
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 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | 2K | 8-bit | ![]() |
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 | ![]() | |||||||||||||
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 | ![]() | ![]() | ![]() | ![]() | 8K | 10-bit | ![]() | ||||||||
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 |
- ↑ a b Todos los decodificadores MPEG-2 admiten MPEG-1 CPB
- ↑ a b Codificación MPEG-4 AVC y HEVC mediante un motor de codificación de video independiente
Disponibilidad
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
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
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Linux_AMD_graphics_stack.svg/220px-Linux_AMD_graphics_stack.svg.png)
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
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
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
Antecesores
Video Shader y ATI Avivo son tecnologías similares incorporadas en productos ATI anteriores.
Sucesor
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
Tecnologías de hardware de vídeo
Nvidia
- PureVideo - Nvidia
- GeForce 256's Motion Compensation
- High-Definition Video Processor
- Video Processing Engine
- Nvidia NVENC
- Nvidia NVDEC
AMD
- Video Core Next - AMD
- Video Coding Engine - AMD
- Unified Video Decoder - AMD
- Video Shader - ATI
Intel
Qualcomm
Otros
- VDPAU – API de presentación y decodificación de video para Unix, de NVIDIA
- Video Acceleration API (VA API) – API de aceleración de video alternativa a XvBA para el sistema operativo Linux/UNIX que admite XvBA como backend
- Unidades de procesamiento gráfico de AMD
- DirectX Video Acceleration (DxVA) – API de aceleración de hardware de Microsoft para el sistema operativo basado en Microsoft Windows.
Referencias
- ↑ «AMD A-Series APU block diagram». 30 de junio de 2011. Consultado el 22 de enero de 2015.
- ↑ «Linux operating system on Xtensa processors».
- ↑ 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.
- ↑ «Customer Profiles | Cadence IP». Ip.cadence.com. 13 de abril de 2014. Consultado el 15 de mayo de 2014.
- ↑ «Tensilica News: Excellent AMD ATI Video with Xtensa». tensilica.com. 5 de octubre de 2009. Consultado el 15 de mayo de 2014.
- ↑ «ATI Licenses Tensilica's Xtensa Configurable Processor». Design And Reuse (en inglés). Consultado el 24 de febrero de 2023.
- ↑ «HardSpell review» (en chino). Archivado desde el original el 27 de septiembre de 2007.
- ↑ 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.»
- ↑ «PCDVD數位科技討論區 - 請問UVD UVD+ UVD2的差別是?». www.pcdvd.com.tw. Consultado el 24 de febrero de 2023.
- ↑ «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.
- ↑ «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
- ↑ «AMD A6-3650 Llano APU Review - Page 5». Hardwarecanucks.com. Consultado el 17 de abril de 2014.
- ↑ 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.
- ↑ Ryan Smith. «GCN 1.2 – Image & Video Processing - AMD Radeon R9 285 Review: Feat. Sapphire R9 285 Dual-X OC». anandtech.com.
- ↑ «Guide to HEVC_H.265 Encoding and Playback». TechSpot.
- ↑ «Key features of AMD’s third iteration of GCN architecture revealed | KitGuru».
- ↑ Deucher, Alex (3 de junio de 2015). «[pull] amdgpu drm-next-4.2». Consultado el 24 de febrero de 2023.
- ↑ «Display Matters Virtual Super Resolution, Frame Rate Targeting, and HEVC Decoding - The AMD Radeon R9 Fury X Review Aiming For the Top». Anandtech.
- ↑ Andermahr, Wolfgang. «AMD Radeon R9 Fury X im Test: Eine ernsthafte Alternative zu Nvidias Topmodellen (Seite 8)». ComputerBase.
- ↑ Rick Merritt (5 de enero de 2015). «AMD Describes Notebook Processor». EE Times. Consultado el 10 de enero de 2015.
- ↑ AMD. «Radeon Software Crimson ReLive Edition 16.12.1 Release Notes». amd.com. amd.com. Consultado el 29 de diciembre de 2016.
- ↑ «AMD Introduces New Professional Graphics Vision and Strategy, Empowering the "Art of the Impossible"». AMD.
- ↑ «AMD Launches the Radeon Rebellion with the Radeon™ RX 480 Graphics Card, Available Now». AMD.
- ↑ Zak Killian (22 de marzo de 2017). «AMD publishes patches for Vega support on Linux». Consultado el 23 de febrero de 2023.
- ↑ 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.
- ↑ «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.
- ↑ 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.
- ↑ 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.
- ↑ a b «RadeonFeature». www.x.org.
- ↑ «RadeonFeature». www.x.org.
- ↑ HKEPC Hardware. «電腦領域 HKEPC Hardware - 全港 No.1 PC網站». hkepc.com. Archivado desde el original el 12 de marzo de 2007.
- ↑ «DailyTech - Whoops, ATI Radeon HD 2900 XT Lacks UVD». dailytech.com. Archivado desde el original el 24 de diciembre de 2013.
- ↑ Michael Larabel (8 de octubre de 2014). «The Slides Announcing The New "AMDGPU" Kernel Driver». Phoronix. Consultado el 22 de enero de 2015.
- ↑ «UVD Is Enabled For Linux In Catalyst 8.10». Phoronix. 15 de octubre de 2008. Consultado el 22 de enero de 2015.
- ↑ «AMD's X-Video Bitstream Acceleration». Phoronix. 28 de octubre de 2008. Consultado el 22 de enero de 2015.
- ↑ «AMD Releases Open-Source UVD Video Support». Phoronix. 2 de abril de 2013. Consultado el 22 de enero de 2015.
- ↑ «AMD Radeon VDPAU Video Performance With Gallium3D». Phoronix. 28 de junio de 2014. Consultado el 22 de enero de 2015.
- ↑ «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.
- ↑ 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
- Resumen de la tecnología ATI Avivo HD, julio de 2008
- Tecnologías de vídeo AMD, octubre de 2010
- Comparación de diapositivas de presentación entre decodificación de CPU, ATI Avivo HD y PureVideo HD y comparación de decodificación de video VC-1 y H.264
- Códecs de medios AMD (una descarga opcional)
Datos: Q586718