Understanding PowerVR Series5XT: YUV colour space conversions and the 2D core

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

Simple 2D operations continue to be very common in embedded systems. But as modern embedded GPUs increasingly become GFLOPS monsters to handle advanced functionality such as complex 3D graphics and compute, they become increasingly less efficient at handling simple 2D data movement operations.

Data handling with PowerVR’s dedicated 2D core

Staying true to the concept of ‘the right core for the right job’, PowerVR SGX544MP designs include a 2D data movement core for handling simple operations with minimal power consumption. Typical usage scenarios for this data movement core include the upload of texture data from the OpenGL ES client side (the application) and the server side (the driver / GPU side).

This copy operation is an inherent requirement of how the OpenGL ES API works, and it can be handled most efficiently through the 2D core.

Competitor designs frequently use the 3D core for such copies, or even worse use the CPU. Both of these approaches lead to performance loss (synchronisation cost between different components) and increased power consumption at the system level.

YUV colour space conversions made easy

A similar example of using the right resources for specific tasks relates to YUV colour space handling. Modern GPU cores operate in the RGBA space, where video cores and camera interfaces typically use a YUV colour space (lossy compressed). Conversion between these colour spaces is possible using shader operations; however this will typically cost between 2 and 3 cycles on most GPU instruction sets, depending on the YUV format (e.g. interleaved, semi-planer or full planar).

On today’s mobile devices, YUV texturing using the GPU is increasingly common for accelerated camera interfaces and augmented reality applications.


However at Retina resolutions of 2560×1600 (4MPixels) at 60 FPS, this becomes a highly significant workload for 2 instruction slots. If you go down the path of not including a 2D core, you could effectively be using up a typical whole 500MHz GPU core just to handle the colour space conversion shader load.

Obviously this is highly inefficient, and again our architects recognised the need for efficiency and hence PowerVR SGX544 cores contain dedicated power-optimised logic (the right level of precision is used) which can handle this colour space operation for free as part of our texturing hardware.

Both the 2D hardware and YUV colour space conversion hardware help to keep power consumption down while maximising usage of the 3D core GFLOPS operations for useful scenarios (e.g. image enhancement processing rather than just colour space conversion).

In the next blog post, I will discuss how PowerVR GPUs achieve market leading fillrate efficiency.

If you have any questions or feedback about Imagination’s graphics IP, please use the comments box below. To keep up to date with the latest developments on PowerVR, follow us on Twitter (@GPUCompute, @PowerVRInsider and @ImaginationTech) and subscribe to our blog feed.

‘Understanding PowerVR’ is an on-going, multi-part series of blog posts from Kristof Beets, Imagination’s Senior Business Development Manager for PowerVR. These articles not only focus on the features that make PowerVR GPUs great, but also provide a detailed look at graphics hardware architectures and software ecosystems in mobile markets.

If you’ve missed any of the posts, here are some backlinks:

Kristof Beets

Kristof Beets

Kristof Beets is Senior Business Development Manager for PowerVR Graphics at Imagination Technologies where he leads the in-house demo development team and works on product messaging. He has a background in electrical engineering and received a master's degree in artificial intelligence. Prior to joining the Business Development Group he worked on SDKs and tools for both PC and mobile products as a member of the PowerVR Developer Relations Team. Previous work has been published in ShaderX2, X5 & X6, ARM IQ Magazine, and online by the Khronos Group, Beyond3D and 3Dfx Interactive. Kristof has spoken at GDC, SIGGRAPH, Embedded Technology, MWC and too many other conferences to remember.

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom

Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

render post explosion e1563894063735

Sorting Objects and Geometry on PowerVR Hardware

It can be tough trying to figure out the best way to optimise your applications for the hardware during development. Luckily, we’re here to help and – this is the first of an ongoing series of blog posts highlighting useful tips and tricks from our brand-new documentation website.

Read More »


Sign up to receive the latest news and product updates from Imagination straight to your inbox.

  • This field is for validation purposes and should be left unchanged.

Subscribe to our newsletter

Sign up and receive the latest posts and articles from Imagination Technologies.
  • This field is for validation purposes and should be left unchanged.