Video Coding Engine: Difference between revisions

Content deleted Content added
m General fixes, typo(s) fixed: Vega based → Vega-based
mNo edit summary
Line 5:
As of [[Ryzen#APUs: Raven Ridge|Raven Ridge]] VCE has been succeeded by [[Video Core Next|VCN]].
 
== Overview ==
[[File:AMD VCE fixed mode.svg|thumb|In ''"full-fixed mode"'' the entire computation is done by the fixed-function VCE unit. Full-fixed mode can be accessed through the OpenMAX IL API.]]
[[File:AMD VCE hybrid mode.svg|thumb|The entropy encoding block of the VCE ASIC is also separately accessible, enabling ''"hybrid mode"''. In ''"hybrid mode"'' most of the computation is done by the 3D engine of the GPU. Using [[AMD APP SDK|AMD's Accelerated Parallel Programming SDK]] and [[OpenCL]] developers can create hybrid encoders that pair custom motion estimation, inverse discrete cosine transform and motion compensation with the hardware entropy encoding to achieve faster than real-time encoding.]]
Line 18:
As of April 2014, there are two versions of VCE.<ref name="amd-introducing">https://web.archive.org/web/20160604071338/http://developer.amd.com/community/blog/2014/02/19/introducing-video-coding-engine-vce/</ref> Version 1.0 supports H.264 YUV420 (I & P frames), H.264 SVC Temporal Encode VCE, and ''Display Encode Mode'' (DEM).
 
It can be found on:
* [[Piledriver (microarchitecture)|Piledriver]]-based
** Trinity APUs (Ax-5xxx, e.g. A10-5800K)
Line 35:
** FirePro cards with 1st Generation GCN (GCN1)
 
==={{Anchor|2.0}}VCE 2.0 ===
Compared to the first version, VCE 2.0 adds H.264 YUV444 (I-Frames), B-frames for H.264 YUV420, and improvements to the DEM (Display Encode Mode), which results in a better encoding quality.
 
It can be found on:
* [[Steamroller (microarchitecture)|Steamroller]]-based
** Kaveri APUs (Ax-7xxx, e.g. A10-7850K)
Line 56:
** FirePro cards with 2nd Generation GCN (GCN2)
 
==={{Anchor|3.0}}VCE 3.0 ===
Video Code Engine 3.0 (VCE&nbsp;3.0) technology features a new high-quality video scaling and [[High Efficiency Video Coding]] (HEVC/H.265).<ref>http://lists.freedesktop.org/archives/dri-devel/2015-June/084083.html [pull] amdgpu drm-next-4.2</ref>
 
Line 66:
* Polaris: RX 460, 470, 480; RX 550, 560, 570, 580; Radeon Pro Duo (2017)
 
==={{Anchor|4.0}}VCE 4.0 ===
The Video Code Engine&nbsp;4.0 encoder and UVD&nbsp;7.0 decoder are included in the Vega-based GPUs.<ref name='TR_vega' /><ref>{{cite news |last1=Larabel |first1=Michael |title=AMD Sends Out 100 Patches, Enabling Vega Support In AMDGPU DRM |url=https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-Vega-10-Support |accessdate=25 August 2017 |publisher=Phoronix |date=20 March 2017}}</ref>
 
==== VCE 4.1 ====
AMD's Vega20 GPU, present in the Instinct Mi50, Instinct Mi60 and Radeon VII cards, include VCE 4.1 and two UVD 7.2 instances.<ref>{{Cite web|url=https://lists.freedesktop.org/archives/amd-gfx/2018-May/022291.html|title=[PATCH 50/57] drm/amdgpu/vg20:Enable the 2nd instance IRQ for uvd 7.2|last=Deucher|first=Alex|date=15 May 2018|accessdate=2019-01-13}}</ref><ref>{{Cite web|url=https://lists.freedesktop.org/archives/amd-gfx/2018-May/022282.html|title=[PATCH 42/57] drm/amd/include/vg20: adjust VCE_BASE to reuse vce 4.0 header files|last=Deucher|first=Alex|date=15 May 2018|accessdate=2019-01-13}}</ref>
 
=== Feature overview ===
 
====APUs====
{{AMD APU features}}
Line 79 ⟶ 80:
{{AMD GPU features}}
 
== Operating system support ==
The VCE SIP core needs to be supported by the [[device driver]]. The device driver provides one or multiple [[Application programming interface|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,<ref>{{cite web |url=https://github.com/HandBrake/HandBrake/pull/88 |title=HandBrake rejected VCE pull request |date=2016-12-08 |accessdate=2017-08-15}}</ref> but added it in December 2018 <ref>{{cite web |url=https://forum.handbrake.fr/viewtopic.php?f=33&t=38539#p181659 |title=HandBrake added VCE support in v1.2.0|date=2018-12-22 |accessdate=2018-12-31}}</ref>), to access the VCE hardware and make use of it.
 
Line 86 ⟶ 87:
===Linux===
[[File:Linux AMD graphics stack.svg|thumb|Support for the VCE [[Application-specific integrated circuit|ASIC]] is contained in the [[Linux kernel]] device driver ''amdgpu''.]]
 
{{Main|AMD Catalyst|Free and open-source graphics device driver#ATI/AMD|l1=AMD Catalyst for Linux|l2=Free Radeon driver}}
 
* Initial VCE support has been added on {{date|2014-02-04}} by Christian König of AMD to the free radeon driver.<ref>{{cite mailing list |url=http://lists.freedesktop.org/archives/mesa-dev/2014-February/053203.html |title=initial VCE support |date=4 February 2014 |accessdate=28 November 2015 |mailing-list=mesa-dev |last=König |first=Christian}}</ref>
* [[Gallium3D|Gallium3D state tracker]] for [[OpenMAX]] was added {{date|2013-10-24}} to [[Mesa 3D]].<ref>{{cite mailing list |url=http://lists.freedesktop.org/archives/mesa-dev/2013-October/046943.html |title=OpenMAX state tracker |date=24 October 2013 |accessdate=28 November 2015 |mailing-list=mesa-dev |last=König |first=Christian}}</ref>
Line 92 ⟶ 95:
* AMD employee Leo Liu implemented [[H.264/MPEG-4 AVC#Levels|h264 level support]] into the Mesa 3D state tracker.<ref>{{cite web |url=http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2db7c10d63399b6a34ba5fa56ce9e1eac402416 |title=st/omx/enc: implement h264 level support |date=2014-06-12 |accessdate=2017-05-20}}</ref>
 
=== Windows ===
The software "MediaShow Espresso Video Transcoding" seems to utilize VCE and UVD to the fullest extent possible.<ref>{{cite web |url=http://www.guru3d.com/articles_pages/amd_a8_7600_apu_review,13.html |title=MediaShow Espresso Video Transcoding Benchmark |date=2014-01-14 |accessdate=2017-05-20}}</ref>
 
Line 101 ⟶ 104:
[[AMD Radeon Software Crimson|AMD Radeon Software]] supports VCE with built in game capture ("Radeon ReLive") and use AMD AMF/VCE on APU or Radeon Graphics card to reduce FPS drop when capturing game or video content.<ref>{{cite web |url=http://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-Crimson-ReLive-Edition-16.12.1-Release-Notes.aspx |title=Radeon Software Crimson ReLive Edition 16.12.1 Release Notes |accessdate=2017-05-20}}</ref>
 
== Successor ==
{{Main|Video Core Next}}
 
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).<ref>{{cite news|last1=Larabel|first1=Michael|title=Radeon VCN Encode Support Lands In Mesa 17.4 Git|url=https://www.phoronix.com/scan.php?page=news_item&px=Radeon-VCN-Encode-Lands|accessdate=20 November 2017|publisher=Phoronix|date=17 November 2017}}</ref>
 
== See also ==
* [[Intel Quick Sync Video]], Intel's equivalent SIP core
* [[Nvidia NVENC]], Nvidia's equivalent SIP core
 
== References ==
{{reflistReflist|30em}}
 
{{AMD graphics}}