Just a general question: suppose I can chose between dealing with planar image data (4:4:4 YCbCr) or a standard interleaved RGB or BGR image.
From a processing performance perspective, does the planar data offers better performance potential than the interleaved data?
With planar data, it occurs to me that I could run three single-plane IPP operations ("C1") at once using tbb:parallel_invoke, would this be faster than with a single call to the corresponding interleaved ("C3") IPP operation?
Does that even make sense? If I have, say, 4:2:2 data, I assume planar w/TBB would win against RGB as there is less data to process to begin with?
I believe it is hard to tell which of the two methodes is always better for every process.
It should depend on what kind of process you try to do and what type of color format you are working on.
RGB pixel data is typically stored in both the planar and interleaved memory layout and YCbCr is sometimes planar and sometimes semi-planar.
But you can of course use TBB to take advantage of parallel programming.
For further information about 'Pixel and Planar Image Formats in IPP' , please refer here : https://software.intel.com/en-us/node/503876
Thanks Jon and Adriaan!
I see there is some planar data support in IPP and you convinced my to give it a try if I can find what I need in term of processing functions. Among other things, I'd like to see if sharpening the three planes in YCbCr 4:2:2 gives me a sharper image when the data is eventually upsampled then converted to RGB.
Thank you again both!