Video Code Engine (VCE, anteriorment s'anomenava Video Coding Engine,[1] Video Compression Engine [2] o Video Codec Engine [3] a la documentació oficial d'AMD) és el circuit integrat específic de l'aplicació de codificació de vídeo d'AMD que implementa el còdec de vídeo H..264/MPEG-4 AVC. Des del 2012 es va integrar a totes les seves GPU i APU excepte Oland.
VCE es va presentar amb la sèrie Radeon HD 7000 el 22 de desembre de 2011.[4][5][6] VCE ocupa una quantitat considerable de la superfície de la matriu en el moment de la seva introducció [7] i no s'ha de confondre amb el descodificador de vídeo unificat (UVD) d'AMD.
A partir d'AMD Raven Ridge (publicat el gener de 2018), UVD i VCE van ser succeïts per Video Core Next (VCN).
El maneig de dades de vídeo implica el càlcul d'algoritmes de compressió de dades i possiblement d'algoritmes de processament de vídeo. Com mostren els mètodes de compressió de plantilles, els algorismes de compressió de vídeo amb pèrdues inclouen els passos: estimació de moviment (ME), transformada de cosinus discret (DCT) i codificació d'entropia (EC).
AMD Video Code Engine (VCE) és una implementació de maquinari completa del còdec de vídeo H.264/MPEG-4 AVC. És capaç de lliurar 1080p a 60 fotogrames/s. Com que el seu bloc de codificació d'entropia també és un motor de còdec de vídeo accessible per separat, es pot operar en dos modes: mode fix complet i mode híbrid.[8][9]
Mitjançant l'ús d'AMD APP SDK, disponible per a Linux i Microsoft Windows, els desenvolupadors poden crear codificadors híbrids que emparellen l'estimació de moviment personalitzada, la transformació de cosinus discret inversa i la compensació de moviment amb la codificació d'entropia del maquinari per aconseguir una codificació més ràpida que en temps real. En el mode híbrid, només s'utilitza el bloc de codificació d'entropia de la unitat VCE, mentre que el càlcul restant es descarrega al motor 3D de la GPU, de manera que la computació escala amb el nombre d'unitats de càlcul disponibles (CU).
El nucli SIP de VCE ha de ser compatible amb el controlador del dispositiu. El controlador del dispositiu proporciona una o diverses interfícies, per exemple, OpenMAX IL. Una d'aquestes interfícies és utilitzada pel programari d'usuari final, com GStreamer o HandBrake (HandBrake va rebutjar el suport de VCE el desembre de 2016,[10] però la va afegir el desembre de 2018 [11]), per accedir al maquinari VCE i fer-ne ús.
El controlador de dispositiu propietari d'AMD AMD Catalyst està disponible per a diversos sistemes operatius i s'hi ha afegit suport per a VCE. A més, hi ha disponible un controlador de dispositiu gratuït. Aquest controlador també és compatible amb el maquinari VCE.
El programari "MediaShow Espresso Video Transcoding" sembla utilitzar VCE i UVD en la màxima mesura possible.[12]
XSplit Broadcaster admet VCE des de la versió 1.3.[13]
El programari Open Broadcaster (OBS Studio) admet VCE per a la gravació i la transmissió. El programari original d'Open Broadcaster (OBS) requereix una construcció de bifurcació per habilitar VCE.[14]
El programari AMD Radeon admet VCE amb captura de jocs integrada ("Radeon ReLive") i utilitza AMD AMF/VCE a la targeta gràfica APU o Radeon per reduir la caiguda d'FPS quan es captura contingut de joc o vídeo.[15]