O Video Code Engine (VCE, anteriormente conhecido como Video Coding Engine, Video Compression Engine ou Video Codec Engine na documentação oficial da AMD) é um circuito integrado específico para aplicação de codificação de vídeo da AMD que implementa o codec de vídeo H.264/MPEG-4 AVC. Desde 2012, ele foi integrado a todas as suas GPUs e APUs, exceto Oland.

O VCE foi introduzido com a série Radeon HD 7000 em 22 de dezembro de 2011. O VCE ocupa uma quantidade considerável da superfície do die no momento de sua introdução e não deve ser confundido com o Unified Video Decoder (UVD) da AMD.

A partir do AMD Raven Ridge (lançado em janeiro de 2018), o UVD e o VCE foram substituídos pelo Video Core Next (VCN).

Visão geral miniaturadaimagem|No "modo totalmente fixo" ("full-fixed mode"), todo o cálculo é feito pela unidade VCE de função fixa. O modo totalmente fixo pode ser acessado por meio da API OpenMAX IL. miniaturadaimagem| O bloco de codificação de entropia do VCE ASIC também é acessível separadamente, habilitando o "modo híbrido" ("hybrid mode"). No "modo híbrido", a maior parte da computação é feita pelo mecanismo 3D da GPU. Usando o SDK de Programação Paralela Acelerada da AMD e o OpenCL, os desenvolvedores podem criar codificadores híbridos que combinam estimativa de movimento personalizada, transformação discreta inversa de cosseno e compensação de movimento com codificação de entropia de hardware para obter uma codificação mais rápida do que em tempo real. O tratamento de dados de vídeo envolve o cálculo de algoritmos de compressão de dados e possivelmente de algoritmos de processamento de vídeo. Como mostram os métodos de compressão de modelo, os algoritmos de compressão de vídeo com perdas envolvem as etapas: estimativa de movimento (Motion compensation, ME), discrete Cosine Transform (DCT) e codificação de entropia (Entropy coding, EC).

O AMD Video Code Engine (VCE) é uma implementação de hardware completa do codec de vídeo H.264/MPEG-4 AVC. Ele é capaz de fornecer 1080p a 60 quadros/seg. Como seu bloco de codificação de entropia também é um mecanismo de codec de vídeo acessível separadamente, ele pode ser operado em dois modos: modo totalmente fixo e modo híbrido.

Ao empregar o AMD APP SDK, disponível para Linux e Microsoft Windows, os desenvolvedores podem criar codificadores híbridos que combinam estimativa de movimento personalizada, transformação discreta inversa de cosseno e compensação de movimento com codificação de entropia de hardware para obter uma codificação mais rápida do que em tempo real. No modo híbrido, apenas o bloco de codificação de entropia da unidade VCE é usado, enquanto a computação restante é transferida para o mecanismo 3D da GPU, de modo que a computação é dimensionada com o número de unidades de computação (CUs) disponíveis.

VCE 1.0 VCE versão 1.0 oferece suporte a H.264 YUV420 (quadros I e P), codificação temporal H.264 SVC VCE e modo de codificação de exibição (DEM).

Pode ser encontrado em:

Baseado em Piledriver APUs Trinity (Ax-5xxx, por exemplo, A10-5800K) APUs Richland (Ax-6xxx, por exemplo A10-6800K) GPUs da geração das Ilhas do Sul (GCN1: CAYMAN, ARUBA (Trinity/Richland), CABO VERDE, PITCAIRN, TAHITI). Estes são Série Radeon HD 7700 (exceto HD 7790 com VCE 2.0) Série Radeon HD 7800 Série Radeon HD 7900 Radeon HD 8570 a 8990 (exceto HD 8770 com VCE 2.0) Radeon R7 250E, 250X, 265 / R9 270, 270X, 280, 280X Radeon R7 360, 370, 455 / R9 370, 370X Radeon Mobile HD 77x0M para HD 7970M Radeon Mobile série HD 8000 Série Mobile Radeon Rx M2xx (exceto R9 M280X com VCE 2.0 e R9 M295X com VCE 3.0) Radeon Mobile R5 M330 para R9 M390 Placas FirePro com GCN de 1ª geração (GCN1) (exceto W2100, que é Oland XT)

VCE 2.0 Comparado à primeira versão, o VCE 2.0 adiciona H.264 YUV444 (I-Frames), B-frames para H.264 YUV420 e melhorias no DEM (Display Encode Mode), o que resulta em uma melhor qualidade de codificação.

Pode ser encontrado em:

Baseado em Steamroller APUs Kaveri (Ax-7xxx, por exemplo A10-7850K) APUs Godavari (Ax-7xxx, por exemplo A10-7890K) Baseado em Jaguar APUs Kabini (por exemplo, Athlon 5350, Sempron 2650) APUs Temash (por exemplo, A6-1450, A4-1200) Baseado em Puma Beema e Mullins GPUs da geração Sea Islands, bem como GPUs Bonaire ou Hawaii (2ª Geração Graphics Core Next), como Radeon HD 7790, 8770 Radeon R7 260, 260X / R9 290, 290X, 295X2 Radeon R7 360 / R9 390, 390X Radeon R9 M280X Mobile Radeon Mobile R9 M385, M385X Radeon Mobile R9 M470, M470X FirePro W4300, W5100, W8100, W9100, S9100, S9150, S9170 Mobile FirePro M6100, W6150M, W6170M

VCE 3.0 Motor de código de vídeo 3.0 (VCE 3.0) a tecnologia apresenta um novo dimensionamento de vídeo de alta qualidade e - desde a versão 3.4 - High Efficiency Video Coding (HEVC/H.265).

Ele, junto com o UVD 6.0, pode ser encontrado na 3ª geração do Graphics Core Next (GCN3) com hardware de controlador gráfico baseado em "Tonga" e "Fiji" (VCE 3.0), que agora é usado pela série AMD Radeon Rx 300 (família de GPU Pirate Islands) e VCE 3.4 pelas atuais séries AMD Radeon Rx 400 e AMD Radeon 500 (ambas da família de GPU Polaris).

Tonga: Radeon R9 285, 380, 380X; Mobile Radeon R9 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)

A plataforma Carrizo da AMD apresenta o VCE 3.1, mantendo os mesmos recursos do VCE encontrado em "Fiji" e "Tonga".

Stoney Ridge apresenta uma versão reduzida do VCE 3.4 sem codificação HEVC/H.265 e é acompanhado por um mecanismo UVD 6.2.

O VCE 3.0 remove o suporte para quadros B H.264.

VCE 4.0 O mecanismo de Video Code Engine 4.0 e o decodificador UVD 7.0 está incluído nas GPUs baseadas em Vega.

VCE 4.1 A GPU Vega20 da AMD, presente nas placas Instinct Mi50, Instinct Mi60 e Radeon VII, inclui VCE 4.1 e duas instâncias UVD 7.2.

Visão geral dos recursos APUs

GPUs

Suporte ao sistema operacional O núcleo VCE SIP precisa ser suportado pelo driver de dispositivo. O driver do dispositivo fornece uma ou várias interfaces, por exemplo, OpenMAX IL. Uma dessas interfaces é então usada pelo software do usuário final, como GStreamer ou HandBrake (HandBrake rejeitou o suporte VCE em dezembro de 2016, mas o adicionou em dezembro de 2018), para acessar o hardware VCE e fazer uso dele.

O driver de dispositivo proprietário da AMD, AMD Catalyst, está disponível para vários sistemas operacionais e o suporte para VCE foi adicionado a ele. Além disso, um driver de dispositivo gratuito está disponível. Este driver também suporta o hardware VCE.

Linux miniaturadaimagem| O suporte para o VCE ASIC está contido no driver de dispositivo do kernel Linux amdgpu.

O suporte VCE inicial foi adicionado em 4 de fevereiro de 2014 por Christian König da AMD ao driver radeon gratuito. O rastreador de estado Gallium3D para OpenMAX foi adicionado em 24 de outubro de 2013 ao Mesa 3D. O driver Radeon gratuito e de código aberto foi adaptado para usar o OpenMAX com o suporte GStreamer OpenMAX (gst-omx) para expor o mecanismo de codificação de vídeo VCE. O funcionário da AMD, Leo Liu, implementou suporte de nível h264 no rastreador de estado Mesa 3D.

Windows O software "MediaShow Espresso Video Transcoding" parece utilizar VCE e UVD na maior extensão possível.

O XSplit Broadcaster oferece suporte ao VCE a partir da versão 1.3.

O Open Broadcaster Software (OBS Studio) suporta VCE para gravação e streaming. O Open Broadcaster Software (OBS) original requer uma construção de fork para habilitar o VCE.

O software AMD Radeon oferece suporte a VCE com captura de jogo integrada ("Radeon ReLive") e usa AMD AMF/VCE na APU ou placa de vídeo Radeon para reduzir a queda de FPS ao capturar conteúdo de jogo ou vídeo.

O HandBrake adicionou suporte ao mecanismo de codificação de vídeo na versão 1.2.0 em dezembro de 2018.

Sucessor

O VCE foi sucedido pelo AMD Video Core Next na série de APUs Raven Ridge lançada em outubro de 2017. O VCN combina codificação (VCE) e decodificação (UVD).

Ver também Tecnologias de hardware de vídeo AMD Video Core Next - AMD Unified Video Decoder - AMD

Outros Intel Quick Sync Video – núcleo SIP equivalente da Intel