Video Code Engine (VCE; earlier referred to as Video Coding Engine, Video Compression Engine or Video Codec Engine in official documentation) is AMD's video encoding application-specific integrated circuit implementing the video codec H.264/MPEG-4 AVC. Since 2012 it was integrated into all of their GPUs and APUs except Oland.
VCE was introduced with the Radeon HD 7000 series on 22 December 2011. VCE occupies a considerable amount of the die surface at the time of its introduction and is not to be confused with AMD's Unified Video Decoder (UVD).
As of AMD Raven Ridge (released January 2018), UVD and VCE were succeeded by Video Core Next (VCN).
N/a
AM4 |
—N/a |
| Basic |
—N/a |
FP5 |
—N/a |
| Fab. (nm) |
GF 32SHP (HKMG SOI) |
GF 28SHP (HKMG bulk) |
GF 14LPP (FinFET bulk) |
GF 12LP (FinFET bulk) |
TSMC N7 (FinFET bulk) |
TSMC N6 (FinFET bulk) |
CCD: TSMC N5 (FinFET bulk) cIOD: TSMC N6 (FinFET bulk) |
TSMC 4nm (FinFET bulk) |
TSMC N40 (bulk) |
TSMC N28 (HKMG bulk) |
GF 28SHP (HKMG bulk) |
GF 14LPP (FinFET bulk) |
GF 12LP (FinFET bulk) |
TSMC N6 (FinFET bulk) |
| Die area (mm) | 228 | 246 | 245 | 245 | 250 | 210 | 156 |
180 | 210 | CCD: (2x) 70 cIOD: 122 |
178 | 75 (+ 28 FCH) | 107 | ? | 125 | 149 | | | ~100 |
| Min TDP (W) | 35 | 17 | 12 | 10 | 15 | 65 | 35 | 4.5 | 4 | 3.95 | 10 | 6 | 12 | 8 |
| Max APU TDP (W) | 100 | 95 | 65 | 45 | 170 | 54 | 18 | 25 | 6 | 54 | 15 |
| Max stock APU base clock (GHz) | 3 | 3.8 | 4.1 | 4.1 | 3.7 | 3.8 | 3.6 | 3.7 | 3.8 | 4.0 | 3.3 | 4.7 | 4.3 | 1.75 | 2.2 | 2 | 2.2 | 3.2 | 2.6 | 1.2 | 3.35 | 2.8 |
| Max APUs per node | 1 | 1 |
| Max core dies per CPU | 1 | 2 | 1 | 1 |
| Max CCX per core die | 1 | 2 | 1 | 1 |
| Max cores per CCX | 4 | 8 | 2 | 4 | 2 | 4 |
| Max CPU cores per APU | 4 | 8 | 16 | 8 | 2 | 4 | 2 | 4 |
| Max threads per CPU core | 1 | 2 | 1 | 2 |
| Integer pipeline structure | 3+3 | 2+2 | 4+2 | 4+2+1 | 1+3+3+1+2 | 1+1+1+1 | 2+2 | 4+2 | 4+2+1 |
| i386, i486, i586, CMOV, NOPL, i686, PAE, NX bit, CMPXCHG16B, AMD-V, RVI, ABM, and 64-bit LAHF/SAHF | N/a | v2 | v1 | v2 |
| BMI1, AES-NI, CLMUL, and F16C |
|
| MOVBE | —N/a | |
—N/a | |
| MPK, VAES | —N/a |
| SGX | —N/a |
— |
| GFNI | —N/a |
| AMX | — | — | — |
| AMD XDNA | —N/a |
| L1 data cache per core (KiB) | 64 | 16 | 32 | 32 |
| L1 data cache associativity (ways) | 2 | 4 | 8 | 8 |
| L1 instruction caches per core | 1 | 0.5 | 1 |
1 | 0.5 | 1 |
| Max APU total L1 instruction cache (KiB) | 256 | 128 | 192 | 256 | 512 | 256 |
64 | 128 |
96 |
128 |
| L1 instruction cache associativity (ways) | 2 | 3 | 4 | 8 |
2 |
3 |
4 |
8 |
| L2 caches per core | 1 | 0.5 | 1 | 1 | 0.5 | 1 |
| Max APU total L2 cache (MiB) | 4 | 2 | 4 | 16 | | 1 | 2 | 1 | 2 |
| L2 cache associativity (ways) | 16 | 8 | 16 | 8 |
| Max on-die L3 cache per CCX (MiB) | —N/a | 64 | —N/a | 64 | —N/a | —N/a |
| Max stock DRAM support | DDR3-1866 | DDR3-2133 | DDR3-2133, DDR4-2400 | DDR4-2400 | DDR4-2933 | DDR4-3200, LPDDR4-4266 | DDR5-4800, LPDDR5-6400 | DDR5-5200 | DDR5-5600, LPDDR5x-7500 | DDR3L-1333 | DDR3L-1600 | DDR3L-1866 | DDR3-1866, DDR4-2400 | DDR4-2400 | DDR4-1600 | DDR4-3200 | LPDDR5-5500 |
| Max DRAM channels per APU | 2 | 1 | 2 | 1 | 2 |
| Max stock DRAM bandwidth (GB/s) per APU | 29.866 | 34.132 | 38.400 | 46.932 | 68.256 | 102.400 | 83.200 | 120.000 |
10.666 | 12.800 | 14.933 | 19.200 | 38.400 | 12.800 | 51.200 | 88.000 |
| GPU microarchitecture | TeraScale 2 (VLIW5) | TeraScale 3 (VLIW4) | GCN 2nd gen | GCN 3rd gen | GCN 5th gen | RDNA 2 | RDNA 3 | TeraScale 2 (VLIW5) | GCN 2nd gen | GCN 3rd gen | GCN 5th gen | RDNA 2 |
| GPU instruction set | TeraScale instruction set | GCN instruction set | RDNA instruction set | TeraScale instruction set | GCN instruction set | RDNA instruction set |
| Max stock GPU base clock (MHz) | 600 | 800 | 844 | 866 | 1108 | 1250 | 1400 | 2100 | 2400 | 400 | |
538 | 600 | ? | 847 | 900 | 1200 | 600 | 1300 | 1900 |
| Max stock GPU base GFLOPS | 480 | 614.4 | 648.1 | 886.7 | 1134.5 | 1760 | 1971.2 | 2150.4 | 3686.4 | 102.4 | |
86 | ? | ? | ? | 345.6 | 460.8 | 230.4 | 1331.2 | 486.4 |
| 3D engine | Up to 400:20:8 | Up to 384:24:6 | Up to 512:32:8 | Up to 704:44:16 | Up to 512:32:8 | 768:48:8 | 128:8:4 | | 80:8:4 | 128:8:4 | Up to 192:12:8 | Up to 192:12:4 | 192:12:4 | Up to 512:?:? | 128:?:? |
| IOMMUv1 | IOMMUv2 | IOMMUv1 | ? | IOMMUv2 |
| Video decoder | UVD 3.0 | UVD 4.2 | UVD 6.0 | VCN 1.0 | VCN 2.1 |
VCN 2.2 | VCN 3.1 | ? | UVD 3.0 | UVD 4.0 | UVD 4.2 | UVD 6.2 | VCN 1.0 | VCN 3.1 |
| Video encoder | — |
|
N/a | |
| FreeSync | 1 2 |
1 2 |
| HDCP | ? | 1.4 | 2.2 | 2.3 | ? | 1.4 | 2.2 | 2.3 |
| PlayReady | — | —N/a |
| /drm/amdgpu | —N/a | The following table shows features of AMD/ATI's GPUs (see also: List of AMD graphics processing units). |
| Kind |
2D |
3D |
| Instruction set architecture |
Not publicly known |
Multiple |
TeraScale instruction set |
GCN instruction set |
RDNA instruction set |
| Microarchitecture |
Not publicly known |
GFX1 |
GFX2 |
TeraScale 1 (VLIW5) (GFX3) |
TeraScale 2 (VLIW5) (GFX4) |
TeraScale 2 (VLIW5) up to 68xx (GFX4) |
TeraScale 3 (VLIW4) in 69xx (GFX5) |
GCN 1st gen (GFX6) |
GCN 2nd gen (GFX7) |
GCN 3rd gen (GFX8) |
GCN 4th gen (GFX8) |
GCN 5th gen (GFX9) |
RDNA (GFX10.1) |
RDNA 2 (GFX10.3) |
RDNA 3 (GFX11) |
RDNA 4 (GFX12) |
| Type |
Fixed pipeline |
Programmable pixel & vertex pipelines |
Unified shader model |
| Direct3D |
—N/a |
1.1 |
1.2 |
1.3 |
1.5 |
3.3 |
4.5 (Windows), 4.6 (Linux Mesa 25.2+) |
4.6 |
| Vulkan |
—N/a |
N/a |
VCE 1.0 |
VCE 2.0 |
VCE 3.0 or 3.1 |
VCE 3.4 |
VCE 4.0 |
| Fluid Motion |
|
? |
| Power saving |
? |
PowerPlay |
PowerTune |
PowerTune & ZeroCore Power |
? |
| TrueAudio |
—N/a |
? |
1.4 |
2.2 |
2.3 |
| PlayReady |
— |
— Kernel 6.19+ |
- ↑ R500 has two instruction sets. Vertex shader cores: "PVS instruction set". Pixel shader cores: "US instruction set".
- ↑ The Radeon R100 Series has programmable pixel shaders, but do not fully comply with DirectX 8 or Pixel Shader 1.0. See article on R100's pixel shaders.
- ↑ R300, R400 and R500 based cards do not fully comply with OpenGL 2+ as the hardware does not support all types of non-power of two (NPOT) textures.
- 1 2 OpenGL 4+ compliance requires supporting FP64 shaders and these are emulated on some TeraScale chips using 32-bit hardware.
- ↑ Vulkan support is theoretically possible but has not been implemented in a stable driver.
- ↑ Vulkan support in Linux relies on the AMDgpu kernel driver, the radeon driver does not support Vulkan.
- 1 2 3 The UVD and VCE were replaced by the Video Core Next (VCN) ASIC in the Raven Ridge APU implementation of Vega.
- ↑ Video processing for video frame rate interpolation technique. In Windows it works as a DirectShow filter in your player. In Linux, there is no support on the part of drivers and / or community.
- 1 2 To play protected video content, it also requires card, operating system, driver, and application support. A compatible HDCP display is also needed for this. HDCP is mandatory for the output of certain audio formats, placing additional constraints on the multimedia setup.
- ↑ More displays may be supported with native DisplayPort connections, or splitting the maximum resolution between multiple monitors with active converters.
- 1 2 DRM (Direct Rendering Manager) is a component of the Linux kernel. AMDgpu is the Linux kernel module. Support in this table refers to the most current version.
Operating system supportedit
The VCE SIP core needs to be supported by the device driver. The device driver provides one or multiple interfaces, e. g. OpenMAX IL. One of these interfaces is then used by end-user software, like GStreamer or HandBrake (HandBrake rejected VCE support in December 2016, but added it in December 2018), to access the VCE hardware and make use of it.
AMD's proprietary device driver AMD Catalyst is available for multiple operating systems and support for VCE was added to it
The VCE was succeeded by AMD Video Core Next in the Raven Ridge series of APUs released in October 2017. The VCN combines both encode (VCE) and decode (UVD).
Video hardware technologiesedit
1 2 "Introducing the Video Coding Engine (VCE) - AMD". developer.amd.com. Archived from the original on 4 June 2016. Retrieved 15 January 2022.
↑ "White Paper AMD UnifiedVideoDecoder (UVD)" (PDF). 2012-06-15. Retrieved 2017-05-20.
↑
↑ "Mailing Lists". lists.freedesktop.org. 4 June 2015. Retrieved 25 September 2023.
↑ "AMDGPU (vi.c)". GitHub.
↑ Larabel, Michael (20 March 2017). "AMD Sends Out 100 Patches, Enabling Vega Support In AMDGPU DRM". Phoronix. Retrieved 25 August 2017.
↑ "AMD Announces the 7th Generation APU: Excavator mk2 in Bristol Ridge and Stoney Ridge for Notebooks". 31 May 2016. Retrieved 3 January 2020.
↑ "AMD VEGA10 and VEGA11 GPUs spotted in OpenCL driver". VideoCardz.com. Retrieved 6 June 2017.
↑ "AMD Ryzen 5000G 'Cezanne' APU Gets First High-Res Die Shots, 10.7 Billion Transistors In A 180mm2 Package". wccftech. Aug 12, 2021. Retrieved August 25, 2021.
↑ "A technical look at AMD's Kaveri architecture". Semi Accurate. Retrieved 6 July 2014.
↑ "Radeon feature matrix". freedesktop.org. Retrieved 10 January 2016.
↑ "Radeon R5xx Acceleration" (PDF). 8 June 2010. Retrieved 3 September 2026.
↑ "NPOT Texture (OpenGL Wiki)". Khronos Group. Retrieved February 10, 2021.
↑ "Conformant Products". Khronos Group. Retrieved 2024-12-02.
↑ "AMD Radeon RX 6800 XT Specs". TechPowerUp. Retrieved January 1, 2021.
↑ Larabel, Michael (September 15, 2020). "AMD Radeon Navi 2 / VCN 3.0 Supports AV1 Video Decoding". Phoronix. Retrieved January 1, 2021.
↑ "HandBrake rejected VCE pull request". GitHub. 2016-12-08. Retrieved 2017-08-15.
1 2 König, Christian (24 October 2013). "OpenMAX state tracker". mesa-dev (Mailing list). Retrieved 28 November 2015.
↑ "MediaShow Espresso Video Transcoding Benchmark". 2014-01-14. Archived from the original on 2022-03-04. Retrieved 2017-05-20.
↑ "OBS branch with AMD VCE support". May 2, 2014. Retrieved 2017-05-20.
↑
|