<?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 Hi Andrey, in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129164#M25729</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;Hi Andrey,&lt;/SPAN&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;So which one is your case? If second then you can call&amp;nbsp;ippiAlphaCompC_8u_C1R 3 times for every plane. If first -&amp;nbsp; we need to think further.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;I was looking to use the first variation (&lt;SPAN style="font-size: 12px;"&gt;ippiAlphaComp_8u_AC4R)&lt;/SPAN&gt;.&lt;/P&gt;

&lt;P&gt;A bit&amp;nbsp;more background. I'm looking to composite (decoded) PNG images which by default are in a packed ARGB format (or similar variant) onto YUV (or AYUV) which is in a&amp;nbsp;planar format. I'm looking to do this in real-time of the video (which can be up to about 60fps).&lt;BR /&gt;
	&lt;BR /&gt;
	Gavin.&lt;/P&gt;</description>
    <pubDate>Tue, 29 May 2018 13:55:33 GMT</pubDate>
    <dc:creator>Gavin_S_</dc:creator>
    <dc:date>2018-05-29T13:55:33Z</dc:date>
    <item>
      <title>AlphaComp - YUV</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129160#M25725</link>
      <description>&lt;P&gt;I'm quite new to Intel's IPP so forgive me if the answers to my questions are obvious.&amp;nbsp;&amp;nbsp;&lt;SPAN style="font-size: 1em;"&gt;There is a function that is of particular interest - AlphaComp.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;1. Firstly, I would like confirmation that I can use AlphaComp with &lt;U&gt;planar&lt;/U&gt; YCbCr 422 and YUV 422 (both with alpha). There is an &lt;A href="https://software.intel.com/en-us/forums/intel-integrated-performance-primitives/topic/288812"&gt;existing post&lt;/A&gt; from 2010 that affirms that it is possible.&amp;nbsp; The current documentation states:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="color: rgb(85, 85, 85); font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 15px;"&gt;This function performs an image compositing operation on RGBA images using alpha values of both images.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;I find it difficult to believe (if it is supported)&amp;nbsp;that after 8 years the documentation has not been updated? For the record that is not a criticism.&lt;/P&gt;

&lt;P&gt;2. Secondly, if using a format that uses chroma subsampling how does one set the 'srcStep' or 'dstStep' (if the luma does not use subsampling)? This is one of the reasons for my scepticism for YCbCr/YUV being supported :) Note: I appreciate how the value would be set for RGB pixel format variants.&lt;/P&gt;

&lt;P&gt;3. Can I mix different formats as inputs to the function (ie.&amp;nbsp;ARGB composited on YUV)?&lt;/P&gt;</description>
      <pubDate>Wed, 23 May 2018 21:40:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129160#M25725</guid>
      <dc:creator>Gavin_S_</dc:creator>
      <dc:date>2018-05-23T21:40:27Z</dc:date>
    </item>
    <item>
      <title>Hi Gavin.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129161#M25726</link>
      <description>&lt;P&gt;Hi Gavin.&lt;/P&gt;

&lt;P&gt;Welcome to IPP.&lt;/P&gt;

&lt;P&gt;Just to clarify YUV IPP formats in memory:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;YUV or YUV444  
 line 0 Y00 U00 V00   Y01 U01 V01 ..
 line 1 Y10 U10 V10   Y11 U11 V11 ..

YUV422   
 line 0 Y00 U0_01  Y01 V0_01 .. where U0_01 = (U00+U01) / 2 from YUV444 
 line 1 Y10 U1_01  Y11 V1_01 ..

Could you please describe your data format in memory?
Thanks.
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 May 2018 14:08:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129161#M25726</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2018-05-24T14:08:49Z</dc:date>
    </item>
    <item>
      <title>Hi Andrey,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129162#M25727</link>
      <description>&lt;P&gt;Hi Andrey,&lt;/P&gt;

&lt;P&gt;Thanks for the reply/welcome!&lt;/P&gt;

&lt;P&gt;At the moment, the video is decoded to a &lt;U&gt;planar&lt;/U&gt; YUV 422 format (BT.601 or 709).&amp;nbsp; The memory layout matches the format described in '&lt;A href="https://software.intel.com/en-us/ipp-dev-reference-pixel-and-planar-image-formats#FIG6-15"&gt;Pixel and Planar Image Formats&lt;/A&gt;'&amp;nbsp; -&amp;gt; 4:2:2 YUV and Figure b.&lt;/P&gt;

&lt;P&gt;I have the freedom to choose the format of the overlay.&lt;/P&gt;

&lt;P&gt;Gavin.&lt;/P&gt;</description>
      <pubDate>Fri, 25 May 2018 22:34:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129162#M25727</guid>
      <dc:creator>Gavin_S_</dc:creator>
      <dc:date>2018-05-25T22:34:18Z</dc:date>
    </item>
    <item>
      <title>Hi Gavin.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129163#M25728</link>
      <description>&lt;P&gt;Hi Gavin.&lt;/P&gt;

&lt;P&gt;IPP has 2 classes of AlphaComp API:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;1. ippiAlphaComp_8u_AC4R&lt;/P&gt;

&lt;P&gt;&amp;nbsp;2.&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;ippiAlphaCompC_8u_C4R.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;First one&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;ippiAlphaComp&lt;/STRONG&gt;_8u_&lt;STRONG&gt;A&lt;/STRONG&gt;C4R&amp;nbsp;uses alpha channel values of two input pixel to get final alpha combination of destination pixel.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;The second variant&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;ippiAlphaCompC &lt;/STRONG&gt;uses input arguments&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;alpha1 and alpha2 for whole image.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;So which one is your case? If second then you can call&amp;nbsp;ippiAlphaCompC_8u_C1R 3 times for every plane. If first -&amp;nbsp; we need to think further.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 May 2018 15:05:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129163#M25728</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2018-05-28T15:05:49Z</dc:date>
    </item>
    <item>
      <title>Hi Andrey,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129164#M25729</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;Hi Andrey,&lt;/SPAN&gt;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;So which one is your case? If second then you can call&amp;nbsp;ippiAlphaCompC_8u_C1R 3 times for every plane. If first -&amp;nbsp; we need to think further.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P&gt;I was looking to use the first variation (&lt;SPAN style="font-size: 12px;"&gt;ippiAlphaComp_8u_AC4R)&lt;/SPAN&gt;.&lt;/P&gt;

&lt;P&gt;A bit&amp;nbsp;more background. I'm looking to composite (decoded) PNG images which by default are in a packed ARGB format (or similar variant) onto YUV (or AYUV) which is in a&amp;nbsp;planar format. I'm looking to do this in real-time of the video (which can be up to about 60fps).&lt;BR /&gt;
	&lt;BR /&gt;
	Gavin.&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 13:55:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129164#M25729</guid>
      <dc:creator>Gavin_S_</dc:creator>
      <dc:date>2018-05-29T13:55:33Z</dc:date>
    </item>
    <item>
      <title>So you can call</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129165#M25730</link>
      <description>&lt;P&gt;So you can call&lt;/P&gt;

&lt;P&gt;ippiAlphaComp_8u_AC4R&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;ippiCopy_8u_AC4C3R&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;ippiRGBToYCbCr422_8u_C3C2R or&amp;nbsp;ippiRGBToYCbCr422_8u_C3P3R&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;If you work with big enough images (sum of source and dest more than L3 cache ) you can try to split on small slices to maximize reuse data in cache.&lt;/P&gt;

&lt;P&gt;Unfortunately looks like that we don't have direct conversion&amp;nbsp;RGBToYCbCr422 from 4 input channels .&lt;/P&gt;

&lt;P&gt;Thanks.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 May 2018 22:07:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129165#M25730</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2018-05-29T22:07:29Z</dc:date>
    </item>
    <item>
      <title>Hi Andrey,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129166#M25731</link>
      <description>&lt;P&gt;Hi Andrey,&lt;/P&gt;

&lt;P&gt;Thanks again for your time.&lt;/P&gt;

&lt;P&gt;As I understand it from those function calls, I get ARGB on the output from '&lt;SPAN style="font-size: 12px;"&gt;ippiAlphaComp_8u_AC4R' (&lt;/SPAN&gt;and then convert it to YCbCr in the other calls).&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Am I correct in my understanding that I would need to feed '&lt;SPAN style="font-size: 12px;"&gt;ippiAlphaComp_8u_AC4R&lt;/SPAN&gt;' an ARGB pixel format?&amp;nbsp; So I need to convert my planar YUYV to ARGB?&lt;BR /&gt;
	&lt;BR /&gt;
	Gavin.&lt;/P&gt;</description>
      <pubDate>Wed, 30 May 2018 14:30:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129166#M25731</guid>
      <dc:creator>Gavin_S_</dc:creator>
      <dc:date>2018-05-30T14:30:07Z</dc:date>
    </item>
    <item>
      <title>Hi.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129167#M25732</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;

&lt;P&gt;AC4R means 3 color channels&amp;nbsp; followed by alpha channel.&amp;nbsp;&lt;SPAN style="font-size: 1em;"&gt;I.e in memory&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;RGBA RGBA ...&amp;nbsp;&lt;/SPAN&gt;Looks like that needs additional call ippiSwapChannels_8u_C4R before&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;ippiAlphaComp_8u_AC4R.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 31 May 2018 14:56:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129167#M25732</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2018-05-31T14:56:02Z</dc:date>
    </item>
    <item>
      <title>Thanks Andrey. Admittedly, it</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129168#M25733</link>
      <description>&lt;P&gt;Thanks Andrey. Admittedly, it requires a few more pixel format conversions than I wanted to perform, but I'll measure performance before I draw any conclusions.&lt;BR /&gt;
	&lt;BR /&gt;
	Thanks for your time and patience.&lt;/P&gt;

&lt;P&gt;Gavin.&lt;/P&gt;</description>
      <pubDate>Thu, 31 May 2018 22:46:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AlphaComp-YUV/m-p/1129168#M25733</guid>
      <dc:creator>Gavin_S_</dc:creator>
      <dc:date>2018-05-31T22:46:16Z</dc:date>
    </item>
  </channel>
</rss>

