Articulo de referencia

Motor de codificación de vídeo

Video Code Engine ( VCE ; anteriormente denominado Video Coding Engine , [ 1 ] Video Compression Engine [ 2 ] o Video Codec Engine [ 3 ] en la documentación oficial) es el circu...

Video Code Engine ( VCE ; anteriormente denominado Video Coding Engine , [ 1 ] Video Compression Engine [ 2 ] o Video Codec Engine [ 3 ] en la documentación oficial) es el circuito integrado de aplicación específica de codificación de vídeo de AMD que implementa el códec de vídeo H.264/MPEG-4 AVC . Desde 2012, se integró en todas sus GPU y APU , excepto en Oland.

VCE se introdujo con la serie Radeon HD 7000 el 22 de diciembre de 2011. [ 4 ] [ 5 ] [ 6 ] VCE ocupa una cantidad considerable de la superficie del chip en el momento de su introducción [ 7 ] y no debe confundirse con el decodificador de vídeo unificado (UVD) 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

En el modo "fijo completo", todo el cálculo lo realiza la unidad VCE de función fija. Se puede acceder al modo fijo completo a través de la API OpenMAX IL.
El bloque de codificación de entropía del ASIC VCE también es accesible de forma independiente, lo que permite el "modo híbrido" . En este modo, la mayor parte del cálculo la realiza el motor 3D de la GPU. Mediante el SDK de programación paralela acelerada de AMD y OpenCL, los desarrolladores pueden crear codificadores híbridos que combinan la estimación de movimiento personalizada, la transformada discreta del coseno inversa y la compensación de movimiento con la codificación de entropía por hardware para lograr una codificación más rápida que en tiempo real.

El manejo de datos de video implica el cálculo de algoritmos de compresión de datos y, posiblemente, de algoritmos de procesamiento de video . Como lo demuestran los métodos de compresión de plantillas , los algoritmos de compresión de video con pérdida incluyen los siguientes pasos: estimación de movimiento (ME), transformada discreta del coseno (DCT) y codificación de entropía (EC).

AMD Video Code Engine (VCE) es una implementación de hardware completa del códec de vídeo H.264/MPEG-4 AVC. Es capaz de ofrecer 1080p a 60 fotogramas/segundo. Dado que su bloque de codificación de entropía también es un Video Codec Engine accesible de forma independiente, puede funcionar en dos modos: modo fijo completo y modo híbrido. [ 8 ] [ 9 ]

Mediante el uso del SDK de AMD APP , disponible para Linux y Microsoft Windows, los desarrolladores pueden crear codificadores híbridos que combinan la estimación de movimiento personalizada, la transformada discreta inversa del coseno y la compensación de movimiento con la codificación de entropía por hardware para lograr una codificación más rápida que en tiempo real. En el modo híbrido, solo se utiliza el bloque de codificación de entropía de la unidad VCE, mientras que el resto del cálculo se descarga al motor 3D de la GPU, de modo que el cálculo se escala con el número de unidades de cómputo (CU) disponibles.

VCE 1.0

VCE [ 1 ] La versión 1.0 admite H.264 YUV420 (fotogramas I y P), H.264 SVC Temporal Encode VCE y Display Encode Mode (DEM).

Se puede encontrar en:

  • Basado en Piledriver
    • Unidades de potencia auxiliar (APU) Trinity (Ax-5xxx, por ejemplo, A10-5800K)
    • Unidades de potencia auxiliar (APU) de Richland (Ax-6xxx, por ejemplo, A10-6800K)
  • GPU de la generación de las Islas del Sur (GCN1: CAYMAN, ARUBA (Trinity/Richland), CABO VERDE, PITCAIRN, TAHITI). Estas son
    • Serie Radeon HD 7700 (excepto HD 7790 con VCE 2.0)
    • Serie Radeon HD 7800
    • Serie Radeon HD 7900
    • Radeon HD 8570 a 8990 (excepto HD 8770 con VCE 2.0)
    • Radeon R7 250E, 250X, 265 / R9 270, 270X, 280, 280X
    • Radeon R7 360, 370, 455 / R9 370, 370X
    • Tarjeta gráfica móvil Radeon HD 77x0M a HD 7970M
    • Serie Radeon HD 8000 para dispositivos móviles
    • Serie Mobile Radeon RX M2xx (excepto R9 M280X con VCE 2.0 y R9 M295X con VCE 3.0)
    • Radeon móvil R5 M330 a R9 M390
    • Tarjetas FirePro con GCN de primera generación (GCN1) (excepto W2100, que es Oland XT)

VCE 2.0

En comparación con la primera versión, VCE 2.0 añade H.264 YUV444 (fotogramas I), fotogramas B para H.264 YUV420 y mejoras en el DEM (modo de codificación de visualización), lo que da como resultado una mejor calidad de codificación.

Se puede encontrar en:

  • Basado en la apisonadora
    • Unidades de potencia auxiliar (APU) Kaveri (Ax-7xxx, por ejemplo, A10-7850K)
    • Unidades de potencia auxiliar (APU) Godavari (Ax-7xxx, por ejemplo, A10-7890K)
  • Jaguar basado
    • APU Kabini (por ejemplo, Athlon 5350, Sempron 2650)
    • APU Temash (por ejemplo, A6-1450, A4-1200)
  • Con base en Puma
    • Beema y Mullins
  • GPU de la generación Sea Islands, así como GPU Bonaire o Hawaii (Gráficos Core Next de segunda generación), como por ejemplo:
    • Radeon HD 7790, 8770
    • Radeon R7 260, 260X / R9 290, 290X, 295X2
    • Radeon R7 360 / R9 390, 390X
    • Tarjeta gráfica móvil Radeon R9 M280X
    • Tarjeta gráfica móvil Radeon R9 M385, M385X
    • Radeon R9 M470, M470X para dispositivos móviles
    • FirePro W4300, W5100, W8100, W9100, S9100, S9150, S9170
    • FirePro Mobile M6100, W6150M, W6170M

VCE 3.0

La tecnología Video Code Engine 3.0 (VCE  3.0) presenta un nuevo escalado de vídeo de alta calidad y, desde la versión 3.4, codificación de vídeo de alta eficiencia (HEVC/H.265). [ 10 ] [ 11 ]

Junto con UVD 6.0, se puede encontrar en la tercera generación de Graphics Core Next (GCN3) con hardware de controlador gráfico basado en "Tonga" y "Fiji" (VCE 3.0), que ahora utiliza la serie AMD Radeon Rx 300 (familia de GPU Pirate Islands) y VCE 3.4 por las series AMD Radeon Rx 400 y AMD Radeon 500 (ambas de la familia de GPU Polaris).

  • Tonga: Radeon R9 285, 380, 380X; Radeon R9 para móviles M390X, M395, M395X, M485X
  • Tonga XT: FirePro W7100, S7100X, S7150, S7150 X2
  • Fiji: Radeon R9 Fury, Fury X, Nano; Radeon Pro Duo (2016); FirePro S9300, W7170M; Instinct MI8
  • Polaris: RX 460, 470, 480; RX 550, 560, 570, 580; Radeon Pro Duo (2017)

La plataforma Carrizo de AMD incluye VCE 3.1, conservando las mismas capacidades que el VCE presente en "Fiji" y "Tonga". [ 12 ]

Stoney Ridge presenta una versión reducida de VCE 3.4 sin codificación HEVC/H.265 y está acompañada por un motor UVD 6.2. [ 13 ]

VCE 3.0 elimina la compatibilidad con los fotogramas B de H.264. [ 14 ]

VCE 4.0

El codificador Video Code Engine  4.0 y  el decodificador UVD 7.0 están incluidos en las GPU basadas en Vega. [ 15 ] [ 16 ]

VCE 4.1

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

Descripción general de las características

APU

La siguiente tabla muestra las características de los procesadores AMD con gráficos 3D, incluidas las APU (véase también: Lista de procesadores AMD con gráficos 3D ).

  1. Para los modelos de excavadora FM2+: A8-7680, A6-7480 y Athlon X4 845.
  2. Un PC sería un nodo.
  3. Una APU combina una CPU y una GPU. Ambas tienen núcleos.
  4. Requiere compatibilidad con el firmware.
  5. 1 2 Requiere compatibilidad con el firmware.
  6. Sin SSE4. Sin SSSE3.
  7. El rendimiento de precisión simple se calcula a partir de la velocidad de reloj base (o turbo) del núcleo en función de unaoperación FMA .
  8. Shaders unificados  : unidades de mapeo de texturas  : unidades de salida de renderizado
  9. 1 2 Para reproducir contenido de vídeo protegido, también se requiere compatibilidad con tarjeta gráfica, sistema operativo, controlador y aplicación. Además, se necesita una pantalla compatible con HDCP. HDCP es obligatorio para la salida de ciertos formatos de audio, lo que impone restricciones adicionales a la configuración multimedia.
  10. Para alimentar más de dos pantallas, los paneles adicionales deben tenersoporte nativo para DisplayPort . [ 28 ] Como alternativa, se pueden emplear adaptadores activos de DisplayPort a DVI/HDMI/VGA.
  11. 1 2 DRM ( Direct Rendering Manager ) es un componente del kernel de Linux. La compatibilidad en esta tabla se refiere a la versión más reciente.

GPU

La siguiente tabla muestra las características de las GPU de AMD / ATI (véase también: Lista de unidades de procesamiento gráfico de AMD ).

  1. La serie Radeon R100 tiene sombreadores de píxeles programables, pero no cumplen totalmente con DirectX 8 ni con Pixel Shader 1.0. Consulte el artículo sobre los sombreadores de píxeles de la R100 .
  2. Las tarjetas basadas en R300, R400 y R500 no cumplen completamente con OpenGL 2+ ya que el hardware no admite todos los tipos de texturas que no son potencias de dos (NPOT).
  3. 1 2 La compatibilidad con OpenGL 4+ requiere la compatibilidad con sombreadores FP64 y estos se emulan en algunos chips TeraScale utilizando hardware de 32 bits.
  4. La compatibilidad con Vulkan es teóricamente posible, pero no se ha implementado en un controlador estable.
  5. La compatibilidad con Vulkan en Linux depende del controlador del kernel AMDgpu; el controlador radeon no es compatible con Vulkan.
  6. 1 2 3 El UVD y el VCE fueron reemplazados por el ASIC Video Core Next (VCN) en laimplementación de Vega de la APU de Raven Ridge .
  7. Procesamiento de vídeo para la técnica de interpolación de la velocidad de fotogramas. En Windows funciona como un filtro DirectShow en el reproductor. En Linux, no hay soporte por parte de los controladores ni de la comunidad.
  8. 1 2 Para reproducir contenido de vídeo protegido, también se requiere compatibilidad con tarjeta gráfica, sistema operativo, controlador y aplicación. Además, se necesita una pantalla compatible con HDCP. HDCP es obligatorio para la salida de ciertos formatos de audio, lo que impone restricciones adicionales a la configuración multimedia.
  9. Es posible que se admitan más pantallas con conexiones DisplayPort nativas , o bien dividiendo la resolución máxima entre varios monitores con convertidores activos.
  10. 1 2 DRM ( Direct Rendering Manager ) es un componente del kernel de Linux. AMDgpu es el módulo del kernel de Linux. La compatibilidad en esta tabla se refiere a la versión más reciente.

Soporte del sistema operativo

El núcleo SIP de VCE debe ser compatible con el controlador del dispositivo . El controlador del dispositivo proporciona una o varias interfaces , por ejemplo, OpenMAX IL . Una de estas interfaces es utilizada por el software del usuario final, como GStreamer o HandBrake (HandBrake rechazó la compatibilidad con VCE en diciembre de 2016, [ 48 ] pero la agregó en diciembre de 2018 [ 49 ] ), para acceder al hardware VCE y utilizarlo.

El controlador propietario de AMD, AMD Catalyst, está disponible para varios sistemas operativos y se le ha añadido compatibilidad con VCE . Además, existe un controlador gratuito que también es compatible con el hardware VCE.

Linux

La compatibilidad con el ASIC VCE está incluida en el controlador de dispositivo del kernel de Linux, amdgpu .

Windows

El software "MediaShow Espresso Video Transcoding" parece utilizar VCE y UVD en la mayor medida posible. [ 54 ]

XSplit Broadcaster admite VCE desde la versión 1.3. [ 55 ]

Open Broadcaster Software (OBS Studio) admite VCE para grabación y transmisión. El Open Broadcaster Software (OBS) original requiere una compilación derivada para habilitar VCE. [ 56 ]

AMD Radeon Software admite VCE con captura de juego integrada ("Radeon ReLive") y utiliza AMD AMF/VCE en la APU o tarjeta gráfica Radeon para reducir la caída de FPS al capturar contenido de juego o vídeo. [ 57 ]

HandBrake añadió soporte para el motor de codificación de vídeo en la versión 1.2.0 en diciembre de 2018. [ 49 ]

Sucesor

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

Véase también

Tecnologías de hardware de vídeo

AMD

Otros

Referencias

  1. 1 2 "Presentación del motor de codificación de vídeo (VCE) - AMD" . developer.amd.com . Archivado del original el 4 de junio de 2016. Consultado el 15 de enero de 2022 .
  2. "Información del producto" . amd.com .
  3. "Actualizaciones" (PDF) . amd.com .
  4. "Documento técnico AMD UnifiedVideoDecoder (UVD)" (PDF) . 15 de junio de 2012. Consultado el 20 de mayo de 2017 .
  5. "AnandTech Portal | Análisis de la AMD Radeon HD 7970: 28 nm y Graphics Core Next, juntos como uno solo" . Anandtech.com. Archivado del original el 7 de enero de 2012. Consultado el 27 de marzo de 2014 .
  6. "Procesador gráfico Radeon HD 7970 de AMD - The Tech Report - Página 5" . The Tech Report. 3 de enero de 2012. Consultado el 27 de marzo de 2014 .
  7. "Diagrama de bloques de la APU AMD Serie A" . 30/06/2011 . Consultado el 22/01/2015 .
  8. "Vídeo y películas: El motor de códec de vídeo, UVD3 y Steady Video 2.0" . AnandTech . 22 de diciembre de 2011. Archivado del original el 7 de enero de 2012. Consultado el 20 de mayo de 2017 .
  9. "Especificaciones de la Radeon HD 8900" . AMD . Consultado el 18 de julio de 2016 .
  10. "Listas de correo" . lists.freedesktop.org . 4 de junio de 2015. Consultado el 25 de septiembre de 2023 .
  11. "VCEEnc" . 10 de junio de 2023 vía GitHub.
  12. "AMDGPU (vi.c)" . GitHub .
  13. "AMDGPU (vi.c)" . GitHub .
  14. "API de codificación de vídeo: ¿BFrames no es compatible con RX 4xx? · Problema n.º 8 · GPUOpen-LibrariesAndSDKs/AMF" . GitHub .
  15. 1 2 3 4 Killian, Zak (22 de marzo de 2017). "AMD publica parches para la compatibilidad con Vega en Linux" . Informe técnico . Recuperado el 23 de marzo de 2017 .
  16. Larabel, Michael (20 de marzo de 2017). "AMD envía 100 parches, habilitando la compatibilidad con Vega en AMDGPU DRM" . Phoronix . Recuperado el 25 de agosto de 2017 .
  17. Deucher, Alex (15 de mayo de 2018). " [ PATCH 50/57 ] drm/amdgpu/vg20: Habilitar la segunda instancia IRQ para uvd 7.2" . Consultado el 13 de enero de 2019 .
  18. Deucher, Alex (15 de mayo de 2018). " [ PATCH 42/57 ] drm/amd/include/vg20: ajustar VCE_BASE para reutilizar los archivos de cabecera de vce 4.0" . Recuperado el 13 de enero de 2019 .
  19. "AMD anuncia la APU de séptima generación: Excavator mk2 en Bristol Ridge y Stoney Ridge para portátiles" . 31 de mayo de 2016. Consultado el 3 de enero de 2020 .
  20. "La familia de APU 'Carrizo' de AMD Mobile está diseñada para ofrecer un salto significativo en rendimiento y eficiencia energética en 2015" (Comunicado de prensa). 20 de noviembre de 2014. Consultado el 16 de febrero de 2015 .
  21. "Guía comparativa de CPU móviles Rev. 13.0 Página 5 : Lista completa de CPU móviles AMD" . TechARP.com . Consultado el 13 de diciembre de 2017 . 
  22. 1 2 "GPU AMD VEGA10 y VEGA11 detectadas en el controlador OpenCL" . VideoCardz.com . Consultado el 6 de junio de 2017 .
  23. Cutress, Ian (1 de febrero de 2018). "Zen Cores y Vega: APU Ryzen para AM4 – AMD Tech Day en CES: se revela la hoja de ruta de 2018, con APU Ryzen, Zen+ en 12 nm, Vega en 7 nm" . Anandtech . Consultado el 7 de febrero de 2018 .
  24. Larabel, Michael (17 de noviembre de 2017). "El soporte para codificación VCN de Radeon llega a Mesa 17.4 Git" . Phoronix . Recuperado el 20 de noviembre de 2017 .
  25. 1 2 "AMD Ryzen 5000G 'Cezanne' APU obtiene las primeras imágenes de alta resolución del chip, 10.7 mil millones de transistores en un paquete de 180 mm2" . wccftech . 12 de agosto de 2021. Recuperado el 25 de agosto de 2021 .
  26. Tony Chen; Jason Greaves, "Arquitectura Graphics Core Next (GCN) de AMD" (PDF) , AMD , consultado el 13 de agosto de 2016.
  27. "Una mirada técnica a la arquitectura Kaveri de AMD" . Semi Accurate . Consultado el 6 de julio de 2014 .
  28. "¿Cómo conecto tres o más monitores a una tarjeta gráfica AMD Radeon™ HD 5000, HD 6000 o HD 7000?" . AMD . Consultado el 8 de diciembre de 2014 .
  29. Airlie, David (26 de noviembre de 2009). "DisplayPort compatible con el controlador KMS incorporado al kernel de Linux 2.6.33" . Consultado el 16 de enero de 2016 .
  30. "Matriz de características de Radeon" . freedesktop.org . Consultado el 10 de enero de 2016 .
  31. Deucher, Alexander (16 de septiembre de 2015). "XDC2015: AMDGPU" (PDF) . Consultado el 16 de enero de 2016 .
  32. ^ Michel Dänzer (17 de noviembre de 2016) . " [ ANUNCIO ] xf86-video-amdgpu 1.2.0" . listas.x.org .
  33. "Tarjetas gráficas de la serie AMD Radeon HD 6900 (AMD Cayman)" . HWlab . hw-lab.com. 19 de diciembre de 2010. Archivado del original el 23 de agosto de 2022. Recuperado el 23 de agosto de 2022. La nueva arquitectura VLIW4 de procesadores de flujo permitió ahorrar un 10 % de área de cada SIMD, manteniendo el mismo rendimiento que la arquitectura VLIW5 anterior.
  34. "Base de datos de especificaciones de GPU" . TechPowerUp . Consultado el 23 de agosto de 2022 .
  35. "Textura NPOT (OpenGL Wiki)" . Grupo Khronos . Consultado el 10 de febrero de 2021 .
  36. "OpenGL 4.6 ahora disponible para las antiguas GPU AMD Evergreen y Cayman en el controlador de Linux" . Consultado el 12 de diciembre de 2025 .
  37. "Mesamatrix" . mesamatrix.net . Consultado el 15 de julio de 2025 .
  38. "Productos conformes" . Grupo Khronos . Consultado el 2 de diciembre de 2024 .
  39. "RADV — Documentación más reciente de la biblioteca de gráficos 3D Mesa" . Mesa3D . Consultado el 27 de mayo de 2026 .
  40. "radv: agregar soporte para Vulkan 1.4" . Mesa . Consultado el 2 de diciembre de 2024 .
  41. "Especificaciones de la AMD Radeon RX 6800 XT" . TechPowerUp . Consultado el 1 de enero de 2021 .
  42. "AMD lanza las GPU Radeon PRO W7500/W7600 RDNA3" . Phoronix . 3 de agosto de 2023. Consultado el 4 de septiembre de 2023 .
  43. «AMD Radeon Pro 5600M Grafikkarte» . TopCPU.net (en alemán) . Consultado el 4 de septiembre de 2023 .
  44. Larabel, Michael (15 de septiembre de 2020). "AMD Radeon Navi 2 / VCN 3.0 admite la decodificación de vídeo AV1" . Phoronix . Consultado el 1 de enero de 2021 .
  45. Edmonds, Rich (4 de febrero de 2022). "Análisis de la GPU ASUS Dual RX 6600: Juegos a 1080p sólidos como una roca con temperaturas impresionantes" . Windows Central . Consultado el 1 de noviembre de 2022 .
  46. "Arquitectura Vega de próxima generación de Radeon" (PDF) . Radeon Technologies Group (AMD). Archivado del original (PDF) el 6 de septiembre de 2018. Consultado el 13 de junio de 2017 .
  47. "AMDGPU" . Consultado el 27 de mayo de 2026 .
  48. "HandBrake rechazó la solicitud de extracción de VCE" . GitHub . 8 de diciembre de 2016. Consultado el 15 de agosto de 2017 .
  49. 1 2 "HandBrake agregó soporte VCE en v1.2.0" . 22-12-2018. Archivado del original el 04-03-2022 . Recuperado el 31-12-2018 .
  50. König, Christian (4 de febrero de 2014). "Soporte inicial para VCE" . mesa-dev (Lista de correo) . Consultado el 28 de noviembre de 2015 .
  51. König, Christian (24 de octubre de 2013). "OpenMAX state tracker" . mesa-dev (Lista de correo) . Consultado el 28 de noviembre de 2015 .
  52. "Código del motor de codificación de vídeo VCE de código abierto de AMD" . Phoronix . 4 de febrero de 2014. Consultado el 20 de mayo de 2017 .
  53. "st/omx/enc: implementar soporte de nivel h264" . 12 de junio de 2014. Consultado el 20 de mayo de 2017 .
  54. "MediaShow Espresso Video Transcoding Benchmark" . 14 de enero de 2014. Archivado del original el 4 de marzo de 2022. Consultado el 20 de mayo de 2017 .
  55. "La actualización de mantenimiento de XSplit Broadcaster 1.3 incluye principalmente mejoras de rendimiento y correcciones de mantenimiento, incluyendo características tan notables como la compatibilidad con el codificador de hardware VCE H.264 de AMD" .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  56. "Rama OBS con soporte para AMD VCE" . 2 de mayo de 2014. Consultado el 20 de mayo de 2017 .
  57. "Notas de la versión 16.12.1 de Radeon Software Crimson ReLive Edition" . Consultado el 20 de mayo de 2017 .
  58. Larabel, Michael (17 de noviembre de 2017). "El soporte para codificación VCN de Radeon llega a Mesa 17.4 Git" . Phoronix . Recuperado el 20 de noviembre de 2017 .