Video Core Next
Video Core Next is AMD's brand for its dedicated video encoding and decoding hardware core. It is a family of hardware accelerator designs for encoding and decoding video, and is built into AMD's GPUs and APUs since AMD Raven Ridge, released January 2018.
Background
[edit | edit source]Video Core Next is AMD's successor to both the Unified Video Decoder and Video Coding Engine designs,[1] which are hardware accelerators for video decoding and encoding, respectively. It can be used to decode, encode and transcode ("sync") video streams, for example, a DVD or Blu-ray Disc to a format appropriate to, for example, a smartphone. Unlike video encoding on a CPU or a general-purpose GPU, Video Core Next is a dedicated hardware core on the processor die. This application-specific integrated circuit (ASIC) allows for more power-efficient video processing.[2][3]
Feature set
[edit | edit source]All versions of VCN support: MPEG-2 Decode, MPEG-4 Decode, H.264/MPEG-4 AVC Encode/Decode, HEVC (H.265) Encode/Decode, and VP9 Decode. 10-bit color depth in the P010 format is supported. VCN 1.0 supports up to 4K resolution. VCN 2.0 and beyond supports up to 8K.[4] Support for H.264 and H.265 Encode methods differ among generations (see below). VC-1 Decode is supported since VCN 3.0, excepting 3.0.33.[4]
VCN 2.0 is implemented with Navi products and the Renoir APU. The feature set remains the same as VCN 1.0.[4]
VCN 3.0 is implemented with Navi 2 products.[5] VCN 3.0 implements H.264 B-frames, which was present in Video Coding Engine 2.0 but taken out with VCE 3.0.[6]
VCN 4.0 adds AV1 encode.[7] H.264 quality is higher with VCN 4.0 (as part of RDNA 3) compared to previous generations, but still lags behind Intel and Nvidia hardware codecs.[8]
There is no support for encoding or decoding in YUV422 and YUV444 in H.264 and H.265.
| VCN Generation |
GPU code name | JPEG | H.262 (MPEG-2) |
VC-1/WMV 9 | H.264 (MPEG-4 AVC) |
H.265 (HEVC) |
VP9 | AV1 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Decode | Decode | Decode | Decode | Encode | Decode | Encode | Decode | Decode | Encode | |||||
| B-frame[a] | Pre-analysis[b] | Resolution, color depth | Chroma | Resolution,
color depth |
||||||||||
| VCN 1.0 | Raven, Picasso | ? | 4K @ 10b | 4K @ 10b | ||||||||||
| VCN 2.0 | Navi 1x | 8K @ 10b | 8K @ 10b | |||||||||||
| VCN 2.2 | Renoir, Lucienne, Cezanne, Barcelo | |||||||||||||
| VCN 2.5 | Arcturus | |||||||||||||
| VCN 2.6 | Aldebaran[12] | |||||||||||||
| VCN 3.0[13] | Navi 21, Navi 22, Navi 23 | |||||||||||||
| VCN 3.0.33 | Navi 24 | |||||||||||||
| VCN 3.1.0 | Van Gogh[14] | 8K @ 10b | 8K @ 10b | |||||||||||
| VCN 3.1.1 | Rembrandt,[15] Mendocino | |||||||||||||
| VCN 3.1.2[16] | Raphael, Dragon Range | |||||||||||||
| VCN 4.0[17][18] | Navi 3x, Phoenix | |||||||||||||
| VCN 5.0 | Navi 4x | |||||||||||||
Quality
[edit | edit source]Early versions of AMD VCN had lower overall quality (VMAF) compared to offerings from Intel and Nvidia. B-frame support narrowed the gap, but did not eliminate it;[8] further improvements, including pre-analysis, resulted in nearly equivalent performance to competitors at the release of VCN 4.0.[9][19]
Despite a lack of B-frame support, H.265 provides better quality (VMAF) and near-identical speed for the same bitrate compared to H.264 on VCN 2.0, 3.0, and 4.0.[20]
See also
[edit | edit source]Video hardware technologies
[edit | edit source]Nvidia
[edit | edit source]- PureVideo - Nvidia
- GeForce 256's Motion Compensation
- High-Definition Video Processor
- Video Processing Engine
- Nvidia NVENC
- Nvidia NVDEC
AMD
[edit | edit source]- Video Core Next - AMD
- Video Coding Engine - AMD
- Unified Video Decoder - AMD
- Video Shader - ATI
Intel
[edit | edit source]Qualcomm
References
[edit | edit source]- ^ B-frames allow for higher-quality I and P frame to be used, improving the overall video quality in high-motion sections. There is no B-frame support for H.265 at any version.[6]
- ^ Pre-analysis improves quality in high motion scenes at the cost of latency.[9][10] This pass works in both H.264 and H.265.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). – See explanation by rhutsAMD.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- AMF, AMD's software API for VCN and earlier media functions. Release notes indicates feature additions without mentioning hardware versions.
- VCEEnc, a command-line program exposing most configurable options from AMF. Allows HDR10+ with VCN H.265.
- FastFlix, a graphical frontend for VCEEnc and other encoders.