<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Confused with planar images in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806472#M3648</link>
    <description>Hi!&lt;DIV&gt;Thanks for the reply. I have already seen the top link. However, it did not answer my question and I can't see the second link. Is possible to repost the second link please?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Fri, 08 Jun 2012 18:32:53 GMT</pubDate>
    <dc:creator>vetroxl</dc:creator>
    <dc:date>2012-06-08T18:32:53Z</dc:date>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806470#M3646</link>
      <description>Hi,&lt;DIV&gt;I have searched the forums and docs but I'm still confused with planar images. My specific question is about a 3 plane 4:1:1 image construct.  How is this layed out in memory? Is the Y plane 4 bytes long? Is it y1, y2 , y3, y4? &lt;/DIV&gt;&lt;DIV&gt;I am usingippiYCbCr422ToYCbCr411_8u_C2P3R to convert.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;this is how i'm creating my 4:1:1 image;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;[cpp]				m_numChannels = 3;	
				IppiSize chromaSize = { m_size.width/4, m_size.height };

				m_channels[0] = ippiMalloc_8u_C4( m_size.width, m_size.height, &amp;amp;(m_stepBytes[0]) );
				m_channelSize[0] = m_size;

				m_channels[1] = ippiMalloc_8u_C1( chromaSize.width, chromaSize.height, &amp;amp;(m_stepBytes[1]) );
				m_channelSize[1] = chromaSize;

				m_channels[2] = ippiMalloc_8u_C1( chromaSize.width, chromaSize.height, &amp;amp;(m_stepBytes[2]) );
				m_channelSize[2] = chromaSize;[/cpp] &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks!&lt;/DIV&gt;</description>
      <pubDate>Thu, 07 Jun 2012 20:12:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806470#M3646</guid>
      <dc:creator>vetroxl</dc:creator>
      <dc:date>2012-06-07T20:12:57Z</dc:date>
    </item>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806471#M3647</link>
      <description>have a look in documentation as:&lt;BR /&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/ch6_pixel_and_planar_image_formats.html" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/ch6_pixel_and_planar_image_formats.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;and&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/ch6_image_downsampling.html" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch6/ch6_image_downsampling.html&lt;/A&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 08 Jun 2012 11:20:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806471#M3647</guid>
      <dc:creator>Maxym_D_Intel</dc:creator>
      <dc:date>2012-06-08T11:20:07Z</dc:date>
    </item>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806472#M3648</link>
      <description>Hi!&lt;DIV&gt;Thanks for the reply. I have already seen the top link. However, it did not answer my question and I can't see the second link. Is possible to repost the second link please?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Jun 2012 18:32:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806472#M3648</guid>
      <dc:creator>vetroxl</dc:creator>
      <dc:date>2012-06-08T18:32:53Z</dc:date>
    </item>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806473#M3649</link>
      <description>Hi, ok, thanks, I found it in the help and I have already read it. My question remains.  Should I be allocting this way?&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;[bash]m_numChannels = 3;	
				IppiSize chromaSize = { m_size.width, m_size.height };

				m_channels[0] = ippiMalloc_8u_C4( m_size.width, m_size.height, &amp;amp;(m_stepBytes[0]) );
				m_channelSize[0] = m_size;

				m_channels[1] = ippiMalloc_8u_C2( m_size.width/4, m_size.height, &amp;amp;(m_stepBytes[1]) );
				m_channelSize[1] = chromaSize;

				m_channels[2] = ippiMalloc_8u_C2( m_size.width/4, m_size.height, &amp;amp;(m_stepBytes[2]) );
				m_channelSize[2] = chromaSize;[/bash] &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 08 Jun 2012 18:53:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806473#M3649</guid>
      <dc:creator>vetroxl</dc:creator>
      <dc:date>2012-06-08T18:53:12Z</dc:date>
    </item>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806474#M3650</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;The Planar (P)and channel (C) descriptors inippiYCbCr422ToYCbCr411_8u_C2P3R means covert 2 channeldata to 3 planar data, which &lt;BR /&gt;Y planar , which is a matrix withm_size.widthx m_size.height&lt;BR /&gt;Cb planar, which is a matrix with m_size.width/4 x m_size.height&lt;BR /&gt;Cr planar, which is a matrix with m_size.width/4 x m_size.height.&lt;BR /&gt;&lt;BR /&gt;If consider tomalloc continousmemory , then 1 planar (widthxheight) image = 1 channel (widthxheigh) image. So if you use ippiMalloc, you can use&lt;BR /&gt;&lt;BR /&gt;m_numChannels = 3; &lt;BR /&gt;IppiSize chromaSize = { m_size.width, m_size.height };&lt;BR /&gt; m_channels[0] = ippiMalloc_8u_C1( m_size.width, m_size.height, &amp;amp;(m_stepBytes[0]) ); m_channels[1] = ippiMalloc_8u_C1( m_size.width/4, m_size.height, &amp;amp;(m_stepBytes]));&lt;BR /&gt;m_channels[2] = ippiMalloc_8u_C1( m_size.width/4, m_size.height, &amp;amp;(m_stepBytes[2]) );&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying &lt;BR /&gt;&lt;BR /&gt;A similiar example are under ippiMallocin ipp Reference manual. &lt;/P&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;The function ippiMalloc is declared in the ippi.h file. This function allocates a memory block aligned to a 32-byte boundary for elements of different data types. Every line of the image is aligned in accordance with the pStepBytes parameter, which is calculated by the ippiMalloc function and returned for further use.&lt;/P&gt;&lt;P MSHELP="http://www.microsoft.com/MSHelp/"&gt;The function ippiMalloc allocates one continuous memory block, whereas functions that operate on planar images require an array of separate pointers (&lt;SAMP class="codeph"&gt;IppType* plane[3]&lt;/SAMP&gt;) to each plane as input. The ippiMalloc function should be called three times in this case. The code ExampleSetting Values to Pointers to Image Planes demonstrates how to construct such an array and set correct values to the pointers to use the allocated memory block with the Intel IPP functions operating on planar images. Note that pStepBytes should be specified for each plane. The example is given for 8u data type.&lt;/P&gt;&lt;DIV class="example" id="ex3-3"&gt;&lt;A MSHELP="http://www.microsoft.com/MSHelp/" name="ex3-3"&gt;&lt;!-- --&gt;&lt;/A&gt;&lt;H2 class="sectiontitle"&gt;Setting Values to Pointers to Image Planes&lt;/H2&gt;&lt;PRE&gt;int stepBytes[3];&lt;/PRE&gt;&lt;PRE&gt;Ipp8u* plane[3];&lt;/PRE&gt;&lt;PRE&gt;   plane[0] = ippiMalloc_8u_C1(widthPixels, heightPixels,&lt;/PRE&gt;&lt;PRE&gt;                               &amp;amp;(stepBytes [0]));&lt;/PRE&gt;&lt;PRE&gt;   plane[1] = ippiMalloc_8u_C1(widthPixels/2, heightPixels/2,&lt;/PRE&gt;&lt;PRE&gt;                               &amp;amp;(stepBytes [1]));&lt;/PRE&gt;&lt;PRE&gt;   plane[2] = ippiMalloc_8u_C1(widthPixels/2, heightPixels/2,&lt;/PRE&gt;&lt;PRE&gt;                               &amp;amp;(stepBytes [2]));&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 11 Jun 2012 06:32:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806474#M3650</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2012-06-11T06:32:15Z</dc:date>
    </item>
    <item>
      <title>Confused with planar images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806475#M3651</link>
      <description>Thanks for the clarification!</description>
      <pubDate>Tue, 12 Jun 2012 23:36:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Confused-with-planar-images/m-p/806475#M3651</guid>
      <dc:creator>vetroxl</dc:creator>
      <dc:date>2012-06-12T23:36:48Z</dc:date>
    </item>
  </channel>
</rss>

