<?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 Really the rgb has lightly in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942210#M17742</link>
    <description>&lt;P&gt;Really the rgb has lightly different color from original picture. I see the same distinction when used my code for convert 4:2:0 in 4:2:2 (includied at cc_ss_decoder.c)&amp;nbsp; like this&lt;/P&gt;
&lt;P&gt;OWNFUN(void) MY_YCbCr_420_to_YCbCr_422(&lt;BR /&gt;&amp;nbsp; JPEG_PROPERTIES* jprops,&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curxMCU,&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curyMCU)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; short*&amp;nbsp;&amp;nbsp; inptr = (short*)jprops-&amp;gt;MCUBuf;&lt;BR /&gt;&amp;nbsp; Ipp8u*&amp;nbsp;&amp;nbsp; outptr;&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineoffset = jprops-&amp;gt;DIBLineBytes;&lt;BR /&gt;&amp;nbsp; IJL_RECT dibrect;&lt;BR /&gt;&amp;nbsp; IJLERR&amp;nbsp;&amp;nbsp; jerr;&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;LX;&lt;BR /&gt;&amp;nbsp; short d; &lt;BR /&gt;FILE* ifpBmp = NULL;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;jerr = CalcDIBRoi(&amp;amp;jprops-&amp;gt;roi,16,16, curxMCU, curyMCU, 2, jprops-&amp;gt;DIBWidth*2, jprops-&amp;gt;DIBBytes, jprops-&amp;gt;DIBWidth,jprops-&amp;gt;DIBHeight,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;(jprops-&amp;gt;state.DIB_ptr), &amp;amp;dibrect);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(IJL_OK != jerr)&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;IppiSize roi;&lt;BR /&gt;&amp;nbsp;Ipp8u buf[16*16*3 + CPU_CACHE_LINE-1];&amp;nbsp;// CPU_CACHE_LINE = 32&lt;BR /&gt;&amp;nbsp;const Ipp16s* pSrc[3];&lt;/P&gt;
&lt;P&gt;Ipp8u* pDst = OWN_ALIGN_PTR(buf,CPU_CACHE_LINE);&lt;/P&gt;
&lt;P&gt;roi.width&amp;nbsp; = dibrect.right;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;roi.height = dibrect.bottom;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;pSrc[0] = &amp;amp;inptr[DCTSIZE2*0];&lt;BR /&gt;pSrc[1] = &amp;amp;inptr[DCTSIZE2*4];&lt;BR /&gt;pSrc[2] = &amp;amp;inptr[DCTSIZE2*5];&lt;/P&gt;
&lt;P&gt;ippiSampleUp411LS_MCU_16s8u_P3C3R(pSrc,pDst,16*3);&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;... my code convert 3 components to 4:2:2 ....&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;if(lineoffset &amp;lt; 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineoffset = -lineoffset;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr - (dibrect.bottom - 1)*lineoffset;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ippiMirror_8u_C3R(pDst,16*3,outptr,lineoffset,roi,ippAxsHorizontal);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ippiCopy_8u_C3R(pDst,16*3,outptr,lineoffset,roi);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;*/&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;return;&lt;BR /&gt;} /* MY_YCbCr_411_to_YCbCr_422() */&lt;/P&gt;
&lt;P&gt;I thing that the difference produced&amp;nbsp;in the IDTC ipp function, because&amp;nbsp;the output coefficients can't be out of range [-128..128] .&amp;nbsp;For this case we have&amp;nbsp;[-150..208]. THis is wrong.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;
&lt;P&gt;ps&lt;/P&gt;
&lt;P&gt;With my point need check ipp IDCT with nonstandart Quant matrix which for my picture is&lt;/P&gt;
&lt;P&gt;27, 18, 17, 27, 40, 66, 85, 101, &lt;BR /&gt;20, 20, 23, 32, 43, 96, 100, 91, &lt;BR /&gt;23, 22, 27, 40, 66, 95, 115, 93, &lt;BR /&gt;23, 28, 37, 48, 85, 144, 133, 103, &lt;BR /&gt;30, 37, 61, 93, 113, 181, 171, 128, &lt;BR /&gt;40, 58, 91, 106, 134, 173, 188, 153, &lt;BR /&gt;81, 106, 129, 144, 171, 201, 199, 168, &lt;BR /&gt;120, 153, 158, 163, 186, 166, 171, 164&lt;/P&gt;</description>
    <pubDate>Thu, 04 Jul 2013 11:33:00 GMT</pubDate>
    <dc:creator>Vladimir_L_</dc:creator>
    <dc:date>2013-07-04T11:33:00Z</dc:date>
    <item>
      <title>The problem with  ippiDCT8x8Inv_16s_C1I</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942203#M17735</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt;I use ipp function for decoding JPEG&amp;nbsp;4:1:1 and have the next problem.&lt;/P&gt;
&lt;P&gt;From ijl source code&lt;/P&gt;
&lt;P&gt;the ippi function ippiDCT8x8Inv_16s_C1I&amp;nbsp; has input data range [-256, 255] and depending on the quant matrix the result may be more 128.&lt;/P&gt;
&lt;P&gt;but for example ippiYCbCr411ToRGBLS_MCU_16s8u_P3C3R which call after this need input data range [-128..127]&lt;/P&gt;
&lt;P&gt;The data from real jpeg picture.&lt;/P&gt;
&lt;P&gt;pSrcDst:&lt;/P&gt;
&lt;P&gt;-135, 72, 17, 108, 40, -198, -170, 101, &lt;BR /&gt;-180, -20, 69, -96, -43, 192, 100, -91, &lt;BR /&gt;-115, 44, -81, 40, 66, 0, 115, 0, &lt;BR /&gt;69, -112, -37, 0, 0, 0, 0, 0, &lt;BR /&gt;30, -37, 0, -93, -113, 0, -171, 0, &lt;BR /&gt;-80, 116, 0, 0, 0, 0, 0, 0, &lt;BR /&gt;0, 0, 0, 0, 0, 0, 0, 0, &lt;BR /&gt;120, 0, 158, 0, 186, 166, 0, 164&lt;/P&gt;
&lt;P&gt;ippiDCT8x8Inv_16s_C1I(pSrcDst);&lt;/P&gt;
&lt;P&gt;pSrcDst:&lt;/P&gt;
&lt;P&gt;-52, -64, -46, -33, -74, -87, -32, -65, &lt;BR /&gt;-56, -64, -65, -62, -55, 24, -112, -51, &lt;BR /&gt;151, -58, -41, -67, -30, -131, -31, -13, &lt;BR /&gt;-150, 197, -64, -70, -38, -54, -25, -115, &lt;BR /&gt;45, 76, -38, -19, 124, -97, 208, 111, &lt;BR /&gt;-85, 92, -71, -64, 145, 78, -57, -22, &lt;BR /&gt;126, 8, -50, -75, 174, -68, -89, -38, &lt;BR /&gt;-43, 119, -61, -73, 169, -41, -56, -70&lt;/P&gt;
&lt;P&gt;further&lt;/P&gt;
&lt;P&gt;&amp;nbsp;ippiYCbCr411ToRGBLS_MCU_16s8u_P3C3R or my&amp;nbsp;own kod&amp;nbsp;&amp;nbsp;for convert 4:1:1 to 4:2:2&lt;/P&gt;
&lt;P&gt;This leads to distorted output images (rgb,ycbcr422,...)&lt;/P&gt;
&lt;P&gt;Thank you, Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 13:40:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942203#M17735</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-03T13:40:19Z</dc:date>
    </item>
    <item>
      <title>Hi Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942204#M17736</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;Could you attach an example of JPEG file to test it here?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 14:43:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942204#M17736</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-03T14:43:48Z</dc:date>
    </item>
    <item>
      <title>Hi, Sergey,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942205#M17737</link>
      <description>&lt;P&gt;Hi, Sergey,&lt;/P&gt;
&lt;P&gt;Attached file has 4:2:0/4:1:1 picture.&lt;/P&gt;
&lt;P&gt;Vladimir.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Jul 2013 16:25:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942205#M17737</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-03T16:25:50Z</dc:date>
    </item>
    <item>
      <title>Vladimir, try again)). I see</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942206#M17738</link>
      <description>&lt;P&gt;Vladimir, try again)). I see no attachment.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 03:26:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942206#M17738</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-04T03:26:30Z</dc:date>
    </item>
    <item>
      <title>This is strange but I never</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942207#M17739</link>
      <description>&lt;P&gt;This is strange but I never attached files here (&lt;A href="http://software.intel.com/en-us/forums/topic/401052#"&gt;Add files&lt;/A&gt; and status 0%!).&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 04:45:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942207#M17739</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-04T04:45:20Z</dc:date>
    </item>
    <item>
      <title>I did "add file" but status 0</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942208#M17740</link>
      <description>&lt;P&gt;done&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 05:00:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942208#M17740</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-04T05:00:00Z</dc:date>
    </item>
    <item>
      <title>Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942209#M17741</link>
      <description>&lt;P&gt;Vladimir,&lt;/P&gt;
&lt;P&gt;I see no limitation of input data range for "ippiYCbCr411ToRGBLS_MCU_16s8u_P3C3R" function within the function code. May be the documentation is no so good.&lt;/P&gt;
&lt;P&gt;So, you're saying that output image is bad. Do you use your own application? With uic_transcoder_con the attached image is decoded to BMP without evident problems.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 07:07:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942209#M17741</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-04T07:07:02Z</dc:date>
    </item>
    <item>
      <title>Really the rgb has lightly</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942210#M17742</link>
      <description>&lt;P&gt;Really the rgb has lightly different color from original picture. I see the same distinction when used my code for convert 4:2:0 in 4:2:2 (includied at cc_ss_decoder.c)&amp;nbsp; like this&lt;/P&gt;
&lt;P&gt;OWNFUN(void) MY_YCbCr_420_to_YCbCr_422(&lt;BR /&gt;&amp;nbsp; JPEG_PROPERTIES* jprops,&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curxMCU,&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curyMCU)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; short*&amp;nbsp;&amp;nbsp; inptr = (short*)jprops-&amp;gt;MCUBuf;&lt;BR /&gt;&amp;nbsp; Ipp8u*&amp;nbsp;&amp;nbsp; outptr;&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineoffset = jprops-&amp;gt;DIBLineBytes;&lt;BR /&gt;&amp;nbsp; IJL_RECT dibrect;&lt;BR /&gt;&amp;nbsp; IJLERR&amp;nbsp;&amp;nbsp; jerr;&lt;BR /&gt;&amp;nbsp; int&amp;nbsp;&amp;nbsp;LX;&lt;BR /&gt;&amp;nbsp; short d; &lt;BR /&gt;FILE* ifpBmp = NULL;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;jerr = CalcDIBRoi(&amp;amp;jprops-&amp;gt;roi,16,16, curxMCU, curyMCU, 2, jprops-&amp;gt;DIBWidth*2, jprops-&amp;gt;DIBBytes, jprops-&amp;gt;DIBWidth,jprops-&amp;gt;DIBHeight,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;(jprops-&amp;gt;state.DIB_ptr), &amp;amp;dibrect);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if(IJL_OK != jerr)&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;IppiSize roi;&lt;BR /&gt;&amp;nbsp;Ipp8u buf[16*16*3 + CPU_CACHE_LINE-1];&amp;nbsp;// CPU_CACHE_LINE = 32&lt;BR /&gt;&amp;nbsp;const Ipp16s* pSrc[3];&lt;/P&gt;
&lt;P&gt;Ipp8u* pDst = OWN_ALIGN_PTR(buf,CPU_CACHE_LINE);&lt;/P&gt;
&lt;P&gt;roi.width&amp;nbsp; = dibrect.right;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;roi.height = dibrect.bottom;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;pSrc[0] = &amp;amp;inptr[DCTSIZE2*0];&lt;BR /&gt;pSrc[1] = &amp;amp;inptr[DCTSIZE2*4];&lt;BR /&gt;pSrc[2] = &amp;amp;inptr[DCTSIZE2*5];&lt;/P&gt;
&lt;P&gt;ippiSampleUp411LS_MCU_16s8u_P3C3R(pSrc,pDst,16*3);&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;... my code convert 3 components to 4:2:2 ....&lt;/P&gt;
&lt;P&gt;/*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;if(lineoffset &amp;lt; 0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineoffset = -lineoffset;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr - (dibrect.bottom - 1)*lineoffset;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ippiMirror_8u_C3R(pDst,16*3,outptr,lineoffset,roi,ippAxsHorizontal);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outptr = jprops-&amp;gt;state.DIB_ptr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ippiCopy_8u_C3R(pDst,16*3,outptr,lineoffset,roi);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;*/&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;return;&lt;BR /&gt;} /* MY_YCbCr_411_to_YCbCr_422() */&lt;/P&gt;
&lt;P&gt;I thing that the difference produced&amp;nbsp;in the IDTC ipp function, because&amp;nbsp;the output coefficients can't be out of range [-128..128] .&amp;nbsp;For this case we have&amp;nbsp;[-150..208]. THis is wrong.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;
&lt;P&gt;ps&lt;/P&gt;
&lt;P&gt;With my point need check ipp IDCT with nonstandart Quant matrix which for my picture is&lt;/P&gt;
&lt;P&gt;27, 18, 17, 27, 40, 66, 85, 101, &lt;BR /&gt;20, 20, 23, 32, 43, 96, 100, 91, &lt;BR /&gt;23, 22, 27, 40, 66, 95, 115, 93, &lt;BR /&gt;23, 28, 37, 48, 85, 144, 133, 103, &lt;BR /&gt;30, 37, 61, 93, 113, 181, 171, 128, &lt;BR /&gt;40, 58, 91, 106, 134, 173, 188, 153, &lt;BR /&gt;81, 106, 129, 144, 171, 201, 199, 168, &lt;BR /&gt;120, 153, 158, 163, 186, 166, 171, 164&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 11:33:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942210#M17742</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-04T11:33:00Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...the ippi function</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942211#M17743</link>
      <description>&amp;gt;&amp;gt;...the ippi function ippiDCT8x8Inv_&lt;STRONG&gt;16s&lt;/STRONG&gt;_C1I  has input data range &lt;STRONG&gt;[-256, 255]&lt;/STRONG&gt;...

This is from &lt;STRONG&gt;ippdefs.h&lt;/STRONG&gt; header file:

...
#define IPP_MIN_16S    (-32768 )
#define IPP_MAX_16S    ( 32767 )
...

and I also see a note in &lt;STRONG&gt;ippi.h&lt;/STRONG&gt; header file that:

...
//  Name:      ippiDCT8x8Fwd_16s_C1, ippiDCT8x8Fwd_16s_C1I
//             ippiDCT8x8Inv_16s_C1, ippiDCT8x8Inv_16s_C1I
//             ippiDCT8x8Fwd_16s_C1R
//             ippiDCT8x8Inv_16s_C1R
...
//  Notes:
//     Source data for inverse DCT functions must be the result of the forward DCT
//     of data &lt;STRONG&gt;from the range [-256,255]&lt;/STRONG&gt;
...

This is a strange limitation and I wonder if somebody could explain why is it Not [ -32768, 32767 ]?

IPP functions &lt;STRONG&gt;ippsDCTFwd&lt;/STRONG&gt; and &lt;STRONG&gt;ippsDCTInv&lt;/STRONG&gt; from DSP domain work with single-precision FP values ( allows wider dynamic range ) but if results are converted ( or normalized ) to a 16s range some loss will happen again.</description>
      <pubDate>Thu, 04 Jul 2013 13:03:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942211#M17743</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-07-04T13:03:34Z</dc:date>
    </item>
    <item>
      <title>Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942212#M17744</link>
      <description>&lt;P&gt;Vladimir,&lt;/P&gt;
&lt;P&gt;What I see is:&lt;/P&gt;
&lt;P&gt;1. The IDCT in the attached image is slightly different from what you've provided:&lt;/P&gt;
&lt;P&gt;27 &amp;nbsp;18 &amp;nbsp;20 &amp;nbsp;23 &amp;nbsp;20 &amp;nbsp;17 &amp;nbsp;27 &amp;nbsp;23&lt;BR /&gt;22 &amp;nbsp;23 &amp;nbsp;30 &amp;nbsp;28 &amp;nbsp;27 &amp;nbsp;32 &amp;nbsp;40 &amp;nbsp;66&lt;BR /&gt;43 &amp;nbsp;40 &amp;nbsp;37 &amp;nbsp;37 &amp;nbsp;40 &amp;nbsp;81 &amp;nbsp;58 &amp;nbsp;61&lt;BR /&gt;48 &amp;nbsp;66 &amp;nbsp;96 &amp;nbsp;85 101 100 95 &amp;nbsp;85&lt;BR /&gt;93 &amp;nbsp;91 106 120 153 129 106 113&lt;BR /&gt;144 115 91 93 133 181 134 144&lt;BR /&gt;158 163 171 173 171 103 128 188&lt;BR /&gt;201 186 166 199 153 168 171 164&lt;BR /&gt;I have saved the attached image as "save target as" in Internet explorer.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Besides uic_transcoder I tried a couple of JPEG decoders on your image (IrfanView, IJG's djpeg). Their results differ from each other by +/- 1 on some pixels. My be there some minor differences in IDCT methods.&lt;/P&gt;
&lt;P&gt;3. I have seen with my own eyes )), that the IDCT from the file was fed to &lt;STRONG&gt;ippiQuantInvTableInit_JPEG_8u16u&lt;/STRONG&gt; for table initialization. I am sure that that particular table was used in IDCT.&lt;/P&gt;
&lt;P&gt;Do you have any reference image we strive to get as result?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 13:40:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942212#M17744</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-04T13:40:48Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...Their results differ</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942213#M17745</link>
      <description>&amp;gt;&amp;gt;...Their results differ from each other by +/- 1 on some pixels...

It really looks like a rounding issue and it is enevitable. For example:

&lt;STRONG&gt;1.789&lt;/STRONG&gt; as float -&amp;gt; &lt;STRONG&gt;2&lt;/STRONG&gt; as 16s, or

&lt;STRONG&gt;1.123&lt;/STRONG&gt; as float -&amp;gt; &lt;STRONG&gt;1&lt;/STRONG&gt; as 16s</description>
      <pubDate>Thu, 04 Jul 2013 13:54:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942213#M17745</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-07-04T13:54:00Z</dc:date>
    </item>
    <item>
      <title>Thanks everybody,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942214#M17746</link>
      <description>&lt;P&gt;Thanks everybody,&lt;/P&gt;
&lt;P&gt;need to think a little.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2013 14:02:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942214#M17746</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-04T14:02:52Z</dc:date>
    </item>
    <item>
      <title>1. View debug.jpg by any</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942215#M17747</link>
      <description>&lt;P&gt;1. View debug.jpg by any standart program like "Windows Picture and Fax Viewer".&lt;/P&gt;
&lt;P&gt;2. View by the same viewer the picture after ijl/ipp decoder of debug.jpg.&lt;/P&gt;
&lt;P&gt;Te main difference in gray and black colors (Y component).&amp;nbsp; You can see this by quickly switching from one image to another.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 04:44:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942215#M17747</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-05T04:44:38Z</dc:date>
    </item>
    <item>
      <title>Good morning, Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942216#M17748</link>
      <description>&lt;P&gt;Good morning, Vladimir,&lt;/P&gt;
&lt;P&gt;I have attached "debug.bmp" decoded from "debug.jpg" by uic_transcoder. Could you check this bmp file too? I cannot see the difference. Send your bmp to me to look also.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 05:00:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942216#M17748</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-05T05:00:31Z</dc:date>
    </item>
    <item>
      <title>Our file.
Vladimir</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942217#M17749</link>
      <description>&lt;P&gt;Our file.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 05:33:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942217#M17749</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-05T05:33:52Z</dc:date>
    </item>
    <item>
      <title>Yes, it's definitelty lighter</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942218#M17750</link>
      <description>&lt;P&gt;Yes, it's definitelty lighter. Could you compare the pipeline of decoding in your application and uic_transcoder? For transcoder it is (for debug.jpg):&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ippiDecodeHuffmanStateInit_JPEG_8u&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ippiDecodeHuffman8x8_JPEG_1u16s_C1&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ippiDCTQuantInv8x8LS_JPEG_16s8u_C1R&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ippiSampleUpRowH2V2_Triangle_JPEG_8u_C1&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ippiYCbCrToRGB_JPEG_8u_P3C3R&lt;/P&gt;
&lt;P&gt;I am wondering about usage of 'ippiYCbCr411ToRGBLS_MCU_16s8u_P3C3R'. May be it has difference coefficients to convert from YCbCr to RGB? Though, it must not be so.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Sergey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 06:27:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942218#M17750</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2013-07-05T06:27:01Z</dc:date>
    </item>
    <item>
      <title>Convertion to rgb wok fine,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942219#M17751</link>
      <description>&lt;P&gt;Convertion to rgb wok fine, but we need convert 411 direct to 422 inside ijl. The ipp hasn't such possibility and we need do this by own code. The source of jpeg - ip camera and alhoritm "how she did it"&amp;nbsp;&amp;nbsp;hidden from us.&amp;nbsp; We will try to use other ipp function but right now we don't know how to do it. I am sure that this is not simple task, because convertion Y component with over 128 values to range [-128..128] not trivial. May be need modify qaunt matrix or someting else.&lt;/P&gt;
&lt;P&gt;Thanks again to Sergey's for discussion.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 06:37:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942219#M17751</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-05T06:37:39Z</dc:date>
    </item>
    <item>
      <title>OK, I'l check.
Vladimir</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942220#M17752</link>
      <description>&lt;P&gt;OK, I'l check.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2013 07:57:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/The-problem-with-ippiDCT8x8Inv-16s-C1I/m-p/942220#M17752</guid>
      <dc:creator>Vladimir_L_</dc:creator>
      <dc:date>2013-07-05T07:57:45Z</dc:date>
    </item>
  </channel>
</rss>

