De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El motor de código de vídeo ( VCE , anteriormente denominado motor de codificación de vídeo , [1] motor de compresión de vídeo [2] o motor de códec de vídeo [3] en la documentación oficial de AMD) es el ASIC de codificación de vídeo de AMD que implementa el códec de vídeo H.264 / MPEG. -4 AVC . Desde 2012 está integrado en todas sus GPU y APU excepto Oland.

El motor de codificación de video 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 troquel y no debe confundirse con el decodificador de video unificado (UVD) de AMD .

A partir de Raven Ridge (lanzado en enero de 2018), VCE ha sido reemplazado por VCN .

Resumen [ editar ]

En el "modo completamente fijo", la unidad VCE de función fija realiza todo el cálculo. Se puede acceder al modo completamente fijo a través de la API OpenMAX IL.
El bloque de codificación de entropía del VCE ASIC también es accesible por separado, lo que permite el "modo híbrido" . En el "modo híbrido", la mayor parte del cálculo se realiza mediante el motor 3D de la GPU. Utilizando el SDK de programación paralela acelerada de AMD y OpenCL, los desarrolladores pueden crear codificadores híbridos que combinen la estimación de movimiento personalizada, la transformación de coseno discreto inverso y la compensación de movimiento con la codificación de entropía de 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 muestran los métodos de compresión de plantillas , los algoritmos de compresión de video con pérdida involucran los pasos: estimación de movimiento (ME), transformada de coseno discreta (DCT) y codificación de entropía (EC).

AMD Video Code Engine (VCE) es una implementación de hardware completa del códec de video H.264 / MPEG-4 AVC. El ASIC es capaz de entregar 1080p a 60 cuadros / seg. Debido a que su bloque de codificación de entropía también es un motor de códec de video accesible por separado, se puede operar en dos modos: modo fijo completo y modo híbrido. [7] [8]

Al emplear AMD APP SDK , disponible para Linux y Microsoft Windows, los desarrolladores pueden crear codificadores híbridos que combinan la estimación de movimiento personalizada, la transformación de coseno discreta inversa y la compensación de movimiento con la codificación de entropía de 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 cálculo restante se descarga al motor 3D ( GCN ) de la GPU, por lo que el cálculo escala con el número de unidades de cálculo (CU) disponibles.

VCE 1.0 [ editar ]

En abril de 2014, existen dos versiones de VCE. [1] La versión 1.0 admite H.264 YUV420 (fotogramas I y P), codificación temporal H.264 SVC VCE y modo de codificación de pantalla (DEM).

Se puede encontrar en:

  • Piledriver -based
    • APU Trinity (Ax-5xxx, por ejemplo, A10-5800K)
    • 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). Estos 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
    • Móvil Radeon HD 77x0M a HD 7970M
    • Mobile Radeon HD 8000-Series
    • Mobile Radeon Rx M2xx Series (excepto R9 M280X con VCE 2.0 y R9 M295X con VCE 3.0)
    • Móvil Radeon R5 M330 a R9 M390
    • Tarjetas FirePro con GCN de primera generación (GCN1) (excepto W2100, que es Oland XT)

VCE 2.0 [ editar ]

En comparación con la primera versión, VCE 2.0 agrega H.264 YUV444 (I-Frames), B-frames para H.264 YUV420 y mejoras al DEM (Display Encode Mode), lo que da como resultado una mejor calidad de codificación.

Se puede encontrar en:

  • A base de apisonadora
    • APU de Kaveri (Ax-7xxx, por ejemplo, A10-7850K)
    • APU de Godavari (Ax-7xxx, por ejemplo, A10-7890K)
  • A base de jaguar
    • APU Kabini (por ejemplo, Athlon 5350, Sempron 2650)
    • APU Temash (por ejemplo, A6-1450, A4-1200)
  • Basado en Puma
    • Beema y Mullins
  • GPU de la generación Sea Islands, así como GPU Bonaire o Hawaii (2nd Generation Graphics Core Next), como
    • Radeon HD 7790, 8770
    • Radeon R7 260, 260X / R9 290, 290X, 295X2
    • Radeon R7 360 / R9 390, 390X
    • Móvil Radeon R9 M280X
    • Móvil Radeon R9 M385, M385X
    • Móvil Radeon R9 M470, M470X
    • Tarjetas FirePro con GCN de segunda generación (GCN2)

VCE 3.0 [ editar ]

La tecnología Video Code Engine 3.0 (VCE 3.0) presenta una nueva escala de video de alta calidad y codificación de video de alta eficiencia (HEVC / H.265). [9]

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

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

VCE 4.0 [ editar ]

El codificador Video Code Engine 4.0 y el descodificador UVD 7.0 se incluyen en las GPU basadas en Vega. [10] [11]

VCE 4.1 [ editar ]

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. [12] [13]

Descripción general de las funciones [ editar ]

APU [ editar ]

La siguiente tabla muestra las características de las APU de AMD (consulte también: Lista de unidades de procesamiento acelerado de AMD ).

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

GPU [ editar ]

La siguiente tabla muestra las características de las GPU de AMD (consulte también: Lista de unidades de procesamiento de gráficos AMD ).

  1. ^ La serie Radeon 100 tiene sombreadores de píxeles programables, pero no cumplen completamente con DirectX 8 o Pixel Shader 1.0. Consulte el artículo sobre los sombreadores de píxeles de 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 sin alimentación de dos (NPOT).
  3. ^ El cumplimiento de OpenGL 4+ requiere la compatibilidad con sombreadores FP64 y estos se emulan en algunos chips TeraScale utilizando hardware de 32 bits.
  4. ^ a b c El UVD y VCE fueron reemplazados por el ASIC Video Core Next (VCN) en la implementación de Raven Ridge APU de Vega.
  5. ^ Procesamiento de video ASIC para la técnica de interpolación de velocidad de fotogramas de video. En Windows, funciona como un filtro DirectShow en su reproductor. En Linux, no hay soporte por parte de los controladores y / o la comunidad.
  6. ^ a b Para reproducir contenido de video protegido, también se requiere compatibilidad con la tarjeta, el sistema operativo, el controlador y la aplicación. También se necesita una pantalla HDCP compatible para esto. HDCP es obligatorio para la salida de ciertos formatos de audio, lo que impone restricciones adicionales a la configuración multimedia.
  7. ^ Se pueden admitir más pantallas conconexiones DisplayPort nativaso dividiendo la resolución máxima entre varios monitores con convertidores activos.
  8. ^ a b DRM ( Direct Rendering Manager ) es un componente del kernel de Linux. El soporte en esta tabla se refiere a la versión más actual.

Soporte del sistema operativo [ editar ]

El núcleo de VCE SIP debe ser compatible con el controlador del dispositivo . El controlador de dispositivo proporciona una o varias interfaces , por ejemplo, OpenMAX IL . Luego, el software del usuario final utiliza una de estas interfaces, como GStreamer o HandBrake (HandBrake rechazó el soporte de VCE en diciembre de 2016, [36] pero lo agregó en diciembre de 2018 [37] ), para acceder al hardware de VCE y hacer uso de él. .

El controlador de dispositivo patentado de AMD AMD Catalyst está disponible para múltiples sistemas operativos y se le ha agregado soporte para VCE [ cita requerida ] . Además, hay disponible un controlador de dispositivo gratuito. Este controlador también es compatible con el hardware VCE.

Linux [ editar ]

El soporte para VCE ASIC está incluido en el controlador de dispositivo del kernel de Linux amdgpu .
  • El 4 de febrero de 2014, Christian König de AMD agregó compatibilidad inicial con VCE al controlador radeon gratuito. [38]
  • El rastreador de estado Gallium3D para OpenMAX se agregó el 24 de octubre de 2013 a Mesa 3D . [39]
  • El controlador Radeon gratuito y de código abierto se ha adaptado para usar OpenMAX con el soporte GStreamer OpenMAX (gst-omx) para exponer el motor de codificación de video VCE. [40]
  • Leo Liu, empleado de AMD, implementó el soporte de nivel h264 en el rastreador de estado de Mesa 3D. [41]

Windows [ editar ]

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

XSplit Broadcaster es compatible con VCE desde la versión 1.3. [43]

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

El software AMD Radeon es compatible con VCE con captura de juegos incorporada ("Radeon ReLive") y usa AMD AMF / VCE en APU o tarjeta gráfica Radeon para reducir la caída de FPS al capturar contenido de video o juegos. [45]

HandBrake agregó compatibilidad con el motor de codificación de video en la versión 1.2.0 en diciembre de 2018. [37]

Sucesor [ editar ]

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

Ver también [ editar ]

  • Intel Quick Sync Video : núcleo SIP equivalente a Intel
  • Nvidia NVENC : núcleo SIP equivalente a Nvidia
  • Qualcomm Hexagon : núcleo SIP equivalente de Qualcomm

Referencias [ editar ]

  1. ^ a b https://web.archive.org/web/20160604071338/http://developer.amd.com/community/blog/2014/02/19/introducing-video-coding-engine-vce/
  2. ^ https://www.amd.com/en/media/43876/download
  3. ^ https://subscriptions.amd.com/newsletters/channelnews/pdf_guides/51884i_update_to_the_qrg_october2014.pdf
  4. ^ "Libro blanco AMD UnifiedVideoDecoder (UVD)" (PDF) . 2012-06-15 . Consultado el 20 de mayo de 2017 .
  5. ^ "Portal AnandTech | Revisión de AMD Radeon HD 7970: 28nm y núcleo de gráficos a continuación, juntos como uno" . Anandtech.com . Consultado el 27 de marzo de 2014 .
  6. ^ "Procesador de gráficos Radeon HD 7970 de AMD - Informe técnico - Página 5" . El informe técnico . Consultado el 27 de marzo de 2014 .
  7. ^ "Video y películas: el motor de códec de video, UVD3 y Steady Video 2.0" . AnandTech . 22 de diciembre de 2011 . Consultado el 20 de mayo de 2017 .
  8. ^ "Especificaciones de Radeon HD 8900" . AMD . Consultado el 18 de julio de 2016 .
  9. ^ https://lists.freedesktop.org/archives/dri-devel/2015-June/084083.html [pull] amdgpu drm-next-4.2
  10. ↑ a b c d Killian, Zak (22 de marzo de 2017). "AMD publica parches para el soporte de Vega en Linux" . Informe técnico . Consultado el 23 de marzo de 2017 .
  11. ^ Larabel, Michael (20 de marzo de 2017). "AMD envía 100 parches, lo que permite la compatibilidad con Vega en AMDGPU DRM" . Phoronix . Consultado el 25 de agosto de 2017 .
  12. ^ Deucher, Alex (15 de mayo de 2018). "[PATCH 50/57] drm / amdgpu / vg20: Habilita la IRQ de segunda instancia para uvd 7.2" . Consultado el 13 de enero de 2019 .
  13. ^ Deucher, Alex (15 de mayo de 2018). "[PATCH 42/57] drm / amd / include / vg20: ajuste VCE_BASE para reutilizar archivos de encabezado vce 4.0" . Consultado el 13 de enero de 2019 .
  14. ^ "AMD anuncia la APU de séptima generación: excavadora mk2 en Bristol Ridge y Stoney Ridge para portátiles" . 31 de mayo de 2016 . Consultado el 3 de enero de 2020 .
  15. ^ "Familia de APUs AMD Mobile" Carrizo "diseñada para brindar un salto significativo en el rendimiento y la eficiencia energética en 2015" (Comunicado de prensa). 20 de noviembre de 2014 . Consultado el 16 de febrero de 2015 .
  16. ^ "Guía de comparación 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 .
  17. ^ a b "GPU AMD VEGA10 y VEGA11 detectadas en el controlador OpenCL" . VideoCardz.com . Consultado el 6 de junio de 2017 .
  18. ^ Cutress, Ian (1 de febrero de 2018). "Zen Cores y Vega: Ryzen APU para AM4 - AMD Tech Day en CES: se revela la hoja de ruta 2018, con Ryzen APU, Zen + en 12nm, Vega en 7nm" . Anandtech . Consultado el 7 de febrero de 2018 .
  19. ^ Larabel, Michael (17 de noviembre de 2017). "El soporte de codificación Radeon VCN aterriza en Mesa 17.4 Git" . Phoronix . Consultado el 20 de noviembre de 2017 .
  20. Liu, Leo (4 de septiembre de 2020). "Agregar soporte de decodificación Renoir VCN" . Consultado el 11 de septiembre de 2020 . Tiene el mismo bloque VCN2.x que Navi1x
  21. ^ Tony Chen; Jason Greaves, "AMD's Graphics Core Next (GCN) Architecture" (PDF) , AMD , consultado el 13 de agosto de 2016
  22. ^ "Una mirada técnica a la arquitectura Kaveri de AMD" . Semi precisa . Consultado el 6 de julio de 2014 .
  23. ^ "¿Cómo conecto tres o más monitores a una tarjeta gráfica AMD Radeon ™ HD 5000, HD 6000 y HD 7000 Series?" . AMD . Consultado el 8 de diciembre de 2014 .
  24. ^ Airlie, David (26 de noviembre de 2009). "DisplayPort compatible con el controlador KMS integrado en el kernel de Linux 2.6.33" . Consultado el 16 de enero de 2016 .
  25. ^ "Matriz de funciones de Radeon" . freedesktop.org . Consultado el 10 de enero de 2016 .
  26. ^ Deucher, Alexander (16 de septiembre de 2015). "XDC2015: AMDGPU" (PDF) . Consultado el 16 de enero de 2016 .
  27. ↑ a b Michel Dänzer (17 de noviembre de 2016). "[ANUNCIO] xf86-video-amdgpu 1.2.0" . listas.x.org .
  28. ^ "Textura NPOT (Wiki OpenGL)" . Grupo Khronos . Consultado el 10 de febrero de 2021 .
  29. ^ "AMD Radeon Software Crimson Edition Beta" . AMD . Consultado el 20 de abril de 2018 .
  30. ^ "Mesamatrix" . mesamatrix.net . Consultado el 22 de abril de 2018 .
  31. ^ "RadeonFeature" . Fundación X.Org . Consultado el 20 de abril de 2018 .
  32. ^ "Especificaciones de AMD Radeon RX 6800 XT" . TechPowerUp . Consultado el 1 de enero de 2021 .
  33. ^ Larabel, Michael (15 de septiembre de 2020). "AMD Radeon Navi 2 / VCN 3.0 admite decodificación de video AV1" . Phoronix . Consultado el 1 de enero de 2021 .
  34. ^ "Arquitectura Vega de próxima generación de Radeon" (PDF) . Grupo de tecnologías Radeon (AMD). Archivado desde el original (PDF) el 2018-09-06 . Consultado el 13 de junio de 2017 .
  35. ^ Larabel, Michael (7 de diciembre de 2016). "Las mejores características del kernel de Linux 4.9" . Phoronix . Consultado el 7 de diciembre de 2016 .
  36. ^ "HandBrake rechazó la solicitud de extracción de VCE" . 2016-12-08 . Consultado el 15 de agosto de 2017 .
  37. ^ a b "HandBrake agregó compatibilidad con VCE en v1.2.0" . 2018-12-22 . Consultado el 31 de diciembre de 2018 .
  38. ^ König, Christian (4 de febrero de 2014). "soporte inicial de VCE" . mesa-dev (lista de correo) . Consultado el 28 de noviembre de 2015 .
  39. ^ König, Christian (24 de octubre de 2013). "Rastreador de estado OpenMAX" . mesa-dev (lista de correo) . Consultado el 28 de noviembre de 2015 .
  40. ^ "Código de motor de codificación de vídeo VCE de fuentes abiertas de AMD" . Phoronix . 2014-02-04 . Consultado el 20 de mayo de 2017 .
  41. ^ "st / omx / enc: implementar soporte de nivel h264" . 2014-06-12 . Consultado el 20 de mayo de 2017 .
  42. ^ "Benchmark de transcodificación de vídeo de MediaShow Espresso" . 2014-01-14 . Consultado el 20 de mayo de 2017 .
  43. ^ "La actualización de mantenimiento de XSplit Broadcaster 1.3 incluye principalmente mejoras de rendimiento y correcciones de mantenimiento, incluidas características tan notables como la compatibilidad con el codificador de hardware VCE H.264 de AMD" . Archivado desde el original el 22 de julio de 2014.
  44. ^ "Rama de OBS con soporte AMD VCE" . 2 de mayo de 2014 . Consultado el 20 de mayo de 2017 .
  45. ^ "Notas de la versión 16.12.1 de Radeon Software Crimson ReLive Edition" . Consultado el 20 de mayo de 2017 .
  46. ^ Larabel, Michael (17 de noviembre de 2017). "El soporte de codificación Radeon VCN aterriza en Mesa 17.4 Git" . Phoronix . Consultado el 20 de noviembre de 2017 .