<?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 Fastest way to do CFA-&amp;gt;RGB Conversion in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227608#M27468</link>
    <description>&lt;P&gt;Hi experts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Filters and Convolutions works well and much faster than my code with AVX2.&lt;/P&gt;
&lt;P&gt;So I have decided to use some IPP functions but, color conversion seems like not easy...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I'm trying to find a fastest way to convert CFA Conversion.&lt;/P&gt;
&lt;P&gt;(separating colors. like 1 CFA Image to 4 RGGB Image)&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Not only bayer, I have different kind of&amp;nbsp; formats to be transformed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried "&lt;SPAN&gt;ippiCFAToBGRA_VNG_16u_C1C4R" for bayer, too slow even in parallel with omp.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So I tried to make some combinations of RoiShift and AND(OR) and&lt;/P&gt;
&lt;P&gt;it takes about 50ms per image with i7-7700 to convert 24M Pixel Image.&lt;/P&gt;
&lt;P&gt;I'm not still satisfied with the result, hopefully I can shrink this in half.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The pixel values are 16bit so "Ipp16u" is type of original image.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 12 Nov 2020 01:10:56 GMT</pubDate>
    <dc:creator>JosephKim</dc:creator>
    <dc:date>2020-11-12T01:10:56Z</dc:date>
    <item>
      <title>Fastest way to do CFA-&gt;RGB Conversion</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227608#M27468</link>
      <description>&lt;P&gt;Hi experts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Filters and Convolutions works well and much faster than my code with AVX2.&lt;/P&gt;
&lt;P&gt;So I have decided to use some IPP functions but, color conversion seems like not easy...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I'm trying to find a fastest way to convert CFA Conversion.&lt;/P&gt;
&lt;P&gt;(separating colors. like 1 CFA Image to 4 RGGB Image)&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Not only bayer, I have different kind of&amp;nbsp; formats to be transformed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried "&lt;SPAN&gt;ippiCFAToBGRA_VNG_16u_C1C4R" for bayer, too slow even in parallel with omp.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So I tried to make some combinations of RoiShift and AND(OR) and&lt;/P&gt;
&lt;P&gt;it takes about 50ms per image with i7-7700 to convert 24M Pixel Image.&lt;/P&gt;
&lt;P&gt;I'm not still satisfied with the result, hopefully I can shrink this in half.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The pixel values are 16bit so "Ipp16u" is type of original image.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 01:10:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227608#M27468</guid>
      <dc:creator>JosephKim</dc:creator>
      <dc:date>2020-11-12T01:10:56Z</dc:date>
    </item>
    <item>
      <title>Re: Fastest way to do CFA-&gt;RGB Conversion</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227736#M27471</link>
      <description>&lt;P&gt;Hi Joseph!&lt;/P&gt;
&lt;P&gt;Could you try please combination&lt;/P&gt;
&lt;P&gt;ippiCFAToRGB_16u_C1C3R+ippiCopy_16u_C3AC4R?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 08:45:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227736#M27471</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2020-11-12T08:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: Fastest way to do CFA-&gt;RGB Conversion</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227961#M27476</link>
      <description>&lt;P&gt;Hi Andrey,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried run&amp;nbsp;&lt;SPAN&gt;ippiCFAToRGB_16u_C1C3R+ippiCopy_16u_C3AC4R,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;before checking the performance,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;IppiSize szDst = { Width, Height };&lt;BR /&gt;IppiRect Rect1 = { 0, 0, Width, Height };&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pSrc[0] = 1;&lt;BR /&gt;pSrc[1] = 2;&lt;BR /&gt;pSrc[2] = 3;&lt;BR /&gt;pSrc[3] = 4;&lt;BR /&gt;pSrc[0 + szDst.width] = 5;&lt;BR /&gt;pSrc[1 + szDst.width] = 6;&lt;BR /&gt;pSrc[2 + szDst.width] = 7;&lt;BR /&gt;pSrc[3 + szDst.width] = 8;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;// 1 2 3 4&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;// 5 6 7 8&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;// left top should be like above.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;ippiCFAToRGB_16u_C1C3R((const Ipp16u*)pSrc, Rect1 , szDst8, cStep, (Ipp16u*)pDst2, cStep, ippiBayerBGGR, 0);&lt;BR /&gt;ippiCopy_16u_C3AC4R((const Ipp16u*)pDst2, cStep / 2, (Ipp16u*)pDst3, cStep, szDst);&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and I checked the pDst3, doesn't looke like C4R...&lt;/P&gt;
&lt;P&gt;what is expected matrix values on pDst3 in this case?&lt;/P&gt;
&lt;P&gt;I got&amp;nbsp;pDst3[0] =6,&amp;nbsp;pDst3[1] =4,&amp;nbsp;pDst3[2] =1,&amp;nbsp; pDst3[3] =0,&amp;nbsp;&amp;nbsp;pDst3[4] =6,&amp;nbsp;&amp;nbsp;pDst3[5] =2,&amp;nbsp;&amp;nbsp;pDst3[6] =2 and so on .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;
&lt;P&gt;Joseph.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Nov 2020 01:10:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1227961#M27476</guid>
      <dc:creator>JosephKim</dc:creator>
      <dc:date>2020-11-13T01:10:48Z</dc:date>
    </item>
    <item>
      <title>Re: Fastest way to do CFA-&gt;RGB Conversion</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1228063#M27477</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;
&lt;P&gt;C3 means 3 channels, AC4- means 4(3 color and 1 alpha), i.e.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pSrc - RGB(3 channels)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pSrc[0] = 1;&lt;BR /&gt;pSrc[1] = 2;&lt;BR /&gt;pSrc[2] = 3;&lt;BR /&gt;pSrc[0 + szDst.width] = 4;&lt;BR /&gt;pSrc[1 + szDst.width] = 5;&lt;BR /&gt;pSrc[2 + szDst.width] = 6;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pDst (4 channels, 3RGB+alpha)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pDst = malloc()&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;pDst[0] = 7;&lt;BR /&gt;pDst[1] = 8;&lt;BR /&gt;pDst[2] = 9;&lt;BR /&gt;pDst[3] = xx;&lt;BR /&gt;pDst[0 + szDst.width] = 10;&lt;BR /&gt;pDst[1 + szDst.width] = 11;&lt;BR /&gt;pDst[2 + szDst.width] = 12;&lt;BR /&gt;pDst[3 + szDst.width] = yy;&lt;/P&gt;
&lt;P&gt;after&amp;nbsp;&lt;SPAN&gt;ippiCopy_16u_C3AC4R(pSrc,..,pDst)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;pDst will be&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;pDst[0] = 1;&lt;BR /&gt;pDst[1] = 2;&lt;BR /&gt;pDst[2] = 3;&lt;BR /&gt;pDst[3] = xx;&lt;BR /&gt;pDst[0 + szDst.width] = 4;&lt;BR /&gt;pDst[1 + szDst.width] = 5;&lt;BR /&gt;pDst[2 + szDst.width] = 6;&lt;BR /&gt;pDst[3 + szDst.width] = yy;&lt;/P&gt;
&lt;P&gt;Check please if all pointers and srcStep/dstStep are correct because steps in bytes, not elements.&lt;/P&gt;
&lt;P&gt;Thanks&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Nov 2020 09:57:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Fastest-way-to-do-CFA-gt-RGB-Conversion/m-p/1228063#M27477</guid>
      <dc:creator>Andrey_B_Intel</dc:creator>
      <dc:date>2020-11-13T09:57:59Z</dc:date>
    </item>
  </channel>
</rss>

