AMD Video Code Engine (VCE) es una implementación de hardware completa del códec de video H.264/MPEG-4 AVC. Es capaz de entregar 1080p a 60 cuadros por segundo. 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.[6][7]
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 usa el bloque de codificación de entropía de la unidad VCE, mientras que el cómputo restante se descarga al motor 3D de la GPU, por lo que el cómputo se escala con la cantidad de unidades de cómputo (CU) disponibles.
VCE 1.0
editar
A partir de abril de 2014, hay dos versiones de VCE.[1] La versión 1.0 admite H.264 YUV420 (marcos I & P), H.264 SVC Temporal Encode VCE y Display Encode Mode (DEM).
Serie Mobile Radeon Rx M2xx (excepto R9 M280X con VCE 2.0 y R9 M295X con VCE 3.0)
Mobile 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 en el DEM (Display Encode Mode), lo que da como resultado una mejor calidad de codificación.
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", "Iceland" y "Carrizo" (VCE 3.1), que ahora se utiliza AMD Radeon Rx 300 Series (familia de GPU Pirate Islands) y VCE 3.4 de la serie AMD Radeon RX 400 y AMD Radeon RX 500 (ambas de la familia de GPU Polaris).
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 decodificador UVD 7.0 están incluidos en las GPU basadas en Vega.[9][10]
VCE 4.1
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.[11][12]
Soporte del sistema operativo
editar
El núcleo SIP de VCE debe ser compatible con el controlador del dispositivo. El controlador de dispositivo proporciona una o varias interfaces, por ejemplo OpenMAX IL. El software del usuario final, como GStreamer o HandBrake, utiliza una de estas interfaces (HandBrake rechazó la compatibilidad con VCE en diciembre de 2016,[13] pero la agregó en diciembre de 2018[14]), para acceder al hardware de VCE y utilizarlo. .
El controlador de dispositivo propietario de AMD, AMD Catalyst, está disponible para múltiples sistemas operativos y se le agregó soporte para VCE. Además, hay disponible un controlador de dispositivo gratuito. Este controlador también es compatible con el hardware VCE.
Linux
editar
Christian König de AMD agregó el soporte inicial de VCE el 4 de febrero de 2014 al controlador radeon gratuito.[15]
Open Broadcaster Software (OBS Studio) admite VCE para grabación y transmisión. El Open Broadcaster Software (OBS) original requiere una compilación de bifurcación para habilitar VCE.[21]
El software AMD Radeon admite VCE con captura de juegos integrada ("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 juegos o videos.[22]
HandBrake agregó compatibilidad con Video Coding Engine en la versión 1.2.0 en diciembre de 2018.[14]
Sucesor
editar
El VCE 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).[23]
↑ ab«Introducing the Video Coding Engine (VCE) - AMD». developer.amd.com. Archivado desde el original el 4 de junio de 2016. Consultado el 15 de enero de 2022.
↑«White Paper AMD UnifiedVideoDecoder (UVD)». 15 de junio de 2012. Consultado el 20 de mayo de 2017.
↑«AnandTech Portal | AMD Radeon HD 7970 Review: 28nm And Graphics Core Next, Together As One». Anandtech.com. Consultado el 27 de marzo de 2014.
↑«AMD's Radeon HD 7970 graphics processor - The Tech Report - Page 5». The Tech Report. 3 de enero de 2012. Consultado el 27 de marzo de 2014.
↑«AMD A-Series APU block diagram». 30 de junio de 2011. Consultado el 22 de enero de 2015.
↑«Video & Movies: The Video Codec Engine, UVD3, & Steady Video 2.0». AnandTech. 22 de diciembre de 2011. Consultado el 20 de mayo de 2017.
↑«Radeon HD 8900 Specs». AMD. Consultado el 18 de julio de 2016.
↑Deucher, Alex (Wed Jun 3 18:48:31 PDT 2015). «[pull] amdgpu drm-next-4.2». Consultado el 25 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.
↑Zak Killian (22 de marzo de 2017). «AMD publishes patches for Vega support on Linux». 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.
↑«HandBrake rejected VCE pull request». GitHub. 8 de diciembre de 2016. Consultado el 15 de agosto de 2017.
↑ ab«HandBrake added VCE support in v1.2.0». 22 de diciembre de 2018. Consultado el 31 de diciembre de 2018.
↑König, Christian (2014-2-4), «initial VCE support», https://lists.freedesktop.org/archives/mesa-dev/2014-February/053203.html, consultado el 2015-11-28.
↑König, Christian (2013-10-24), «OpenMAX state tracker», https://lists.freedesktop.org/archives/mesa-dev/2013-October/046943.html, consultado el 2015-11-28.
↑«AMD Open-Sources VCE Video Encode Engine Code». Phoronix. 4 de febrero de 2014. Consultado el 20 de mayo de 2017.
↑«st/omx/enc: implement h264 level support». 12 de junio de 2014. Consultado el 20 de mayo de 2017.
↑«MediaShow Espresso Video Transcoding Benchmark». 14 de enero de 2014. Archivado desde el original el 4 de marzo de 2022. Consultado el 20 de mayo de 2017.
↑«XSplit Broadcaster 1.3 maintenance update includes mainly performance enhancements and maintenance fixes including such noteworthy features such as support for AMD's VCE H.264 hardware encoder». Archivado desde el original el 22 de julio de 2014.
↑«OBS branch with AMD VCE support». 2 de mayo de 2014. Consultado el 20 de mayo de 2017.
↑«Radeon Software Crimson ReLive Edition 16.12.1 Release Notes». Consultado el 20 de mayo de 2017.
↑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.