<?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 Re: JPEG encoder producing bad images in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879945#M10067</link>
    <description>&lt;P&gt;Thanks for providing additional information. You are right, currently JPEG codec do not support YV12 as direct input or output. We do have it in plan, but it still not implemented yet.&lt;/P&gt;
&lt;P&gt;I think it is better to compiler time-consuming algorithms (like JPEG) as a DLL (and recommend to use Intel C/C++ compiler for the performance reasons) and provide C# interface to small number of interface functions instead of implementing JPEG codec in C# with wrapping each IPP function in C#. Anyway, I recommend you to submit your feature request to Intel Premier Support, so we will consider it at next IPP version planning stage.&lt;/P&gt;
&lt;P&gt;As far as I know, you need to specify option openmp in VC2005 project settings to enable OpenMP (after that it will implicitely define macro _OPENMP and IPP JPEG codec will take advantage of OpenMP API automatically)&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
    <pubDate>Wed, 07 Mar 2007 23:02:46 GMT</pubDate>
    <dc:creator>Vladimir_Dudnik</dc:creator>
    <dc:date>2007-03-07T23:02:46Z</dc:date>
    <item>
      <title>JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879935#M10057</link>
      <description>&lt;P&gt;I'm having some trouble with the JPEG encoder sample, specifically the code in ipp_samplejpegjpegviewjpegcodec. I'm finding that it will randomly produce junk images as output. Here is how I'm using the code:&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2"&gt;&lt;P&gt;BOOL SaveAsJPEG( WM_MEDIA_TYPE * MediaType, byte * pBuffer, &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; quality, byte ** pOutBuffer, DWORD * pOutBufferLength )&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;WMVIDEOINFOHEADER * pVIH = (WMVIDEOINFOHEADER * )MediaType-&amp;gt;pbFormat;&lt;/P&gt;&lt;P&gt;CJPEGEncoder encoder;&lt;/P&gt;&lt;P&gt;*pOutBuffer = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; byte[pVIH-&amp;gt;bmiHeader.biSizeImage];&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; LineStep = (pVIH-&amp;gt;bmiHeader.biBitCount * pVIH-&amp;gt;bmiHeader.biWidth ) / 8;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; JPEGSize = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Input and output color defs. our inputs get determined below.&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;JCOLOR InColor = ::JC_UNKNOWN;&lt;/P&gt;&lt;P&gt;JCOLOR OutColor = ::JC_YCBCR;&lt;/P&gt;&lt;P&gt;JSS InSampling = ::JS_OTHER;&lt;/P&gt;&lt;P&gt;JSS OutSampling = ::JS_411;&lt;/P&gt;&lt;P&gt;IppiSize roi;&lt;/P&gt;&lt;P&gt;roi.height = abs(pVIH-&amp;gt;bmiHeader.biHeight); &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// biheight can potentially be negative&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;roi.width = pVIH-&amp;gt;bmiHeader.biWidth;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;( MediaType-&amp;gt;subtype == WMMEDIASUBTYPE_YUY2 )&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;InColor = ::JC_YCBCR;&lt;/P&gt;&lt;P&gt;InSampling = ::JS_422;&lt;/P&gt;&lt;P&gt;OutSampling = ::JS_422;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;( MediaType-&amp;gt;subtype == ::WMMEDIASUBTYPE_RGB24 )&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;InColor = ::JC_BGR;&lt;/P&gt;&lt;P&gt;InSampling = ::JS_444;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// JAN: as far as I can tell, the # of channels parameter isn't actually used. This would make sense, since that&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// information can be infered from the colorspace and format anyways.&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;JERRCODE jerr = encoder.SetSource( (Ipp8u * ) pBuffer,LineStep,roi, pVIH-&amp;gt;bmiHeader.biPlanes, InColor, InSampling );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(JPEG_OK != jerr)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; FALSE;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;jerr = encoder.SetDestination(*pOutBuffer, (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;) pVIH-&amp;gt;bmiHeader.biSizeImage, quality, OutColor, OutSampling );&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(JPEG_OK != jerr)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; FALSE;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;jerr = encoder.WriteHeader();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(JPEG_OK != jerr)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; FALSE;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;jerr = encoder.WriteData();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(JPEG_OK != jerr)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; FALSE;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;*pOutBufferLength = (DWORD) encoder.m_dst.currPos;&lt;/P&gt;&lt;P&gt;CAtlFile jpeg;&lt;/P&gt;&lt;P&gt;jpeg.Create(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"C:\blah.jpg"&lt;/FONT&gt;&lt;FONT size="2"&gt;,GENERIC_WRITE, FILE_SHARE_READ, OPEN_ALWAYS) ;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JPEGSize = encoder.m_dst.currPos;&lt;/P&gt;&lt;P&gt;jpeg.Write(*pOutBuffer, *pOutBufferLength);&lt;/P&gt;&lt;P&gt;jpeg.Close();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; TRUE;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;...if I check blah.jpg, sometimes it looks great, and other times it looks not so great.  &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;The image will have large, blocky sections in it.  I suspect it may have something to do &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;with using 422 video as an input.  Does anyone have any ideas that could help me troubleshoot&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;what's going wrong?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman" size="3"&gt;Thanks in advance.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Mar 2007 20:49:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879935#M10057</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-02T20:49:52Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879936#M10058</link>
      <description>&lt;P&gt;I think something is wrong with parameters you apply for JPEG encoder. For example, number of channels parameter is actually used, even if it can be determined indirectly in that particular case. As far as I know, number of planes in BITMAPINFOHEADER is always equal to 1. But IPP JPEG encoder expect it should be specified as 3 for three-channel images. Information about color is just additional info and used to decide what kind of color conversion is required. If you will specify input and output color as JC_UNKNOWN there will be no way to determine number of color components in image except nChannels parameter. &lt;/P&gt;
&lt;P&gt;Hope it helps,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 21:41:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879936#M10058</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-03-02T21:41:37Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879937#M10059</link>
      <description>&lt;P&gt;I'll try changing the channels, but I looked through the source code, and I can't see anywhere that m_src.nChannels is actually used in the encoding process. Plus if this were in error, I'd expect it to fail every time, rather than sporadically producing a bad image.&lt;/P&gt;
&lt;P&gt;Also, I use 422 and YCbCr settings, so that should be more than enough info for it to figure out how many color channels there are. I don't use JC_UNKNOWN.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 21:58:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879937#M10059</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-02T21:58:03Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879938#M10060</link>
      <description>&lt;P&gt;Okay, I still get corrupt images if I change the channels parameter to 3. I also took some time to turn on trace and error statements. Here is the output from a good file:&lt;/P&gt;
&lt;P&gt;validvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalid-&amp;gt; WriteSOI&lt;BR /&gt; emit marker 216&lt;BR /&gt;-&amp;gt; WriteAPP0&lt;BR /&gt; emit marker 224&lt;BR /&gt; length 16&lt;BR /&gt;-&amp;gt; WriteCOM&lt;BR /&gt; emit marker 254&lt;BR /&gt; length 54&lt;BR /&gt;-&amp;gt; WriteDQT&lt;BR /&gt; emit marker 219&lt;BR /&gt; length 67&lt;BR /&gt; id 0&lt;BR /&gt; precision 0&lt;/P&gt;
&lt;P&gt;16 11 12 14 12 10 16 14&lt;BR /&gt;13 14 18 17 16 19 24 40&lt;BR /&gt;26 24 22 22 24 49 35 37&lt;BR /&gt;29 40 58 51 61 60 57 51&lt;BR /&gt;56 55 64 72 92 78 64 68&lt;BR /&gt;87 69 55 56 80 109 81 87&lt;BR /&gt;95 98 103 104 103 62 77 113&lt;BR /&gt;121 112 100 120 92 101 103 99&lt;/P&gt;
&lt;P&gt;-&amp;gt; WriteDQT&lt;BR /&gt; emit marker 219&lt;BR /&gt; length 67&lt;BR /&gt; id 1&lt;BR /&gt; precision 0&lt;/P&gt;
&lt;P&gt;17 18 18 24 21 24 47 26&lt;BR /&gt;26 47 99 66 56 66 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;/P&gt;
&lt;P&gt;-&amp;gt; WriteSOF0&lt;BR /&gt; emit marker 192&lt;BR /&gt; length 17&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 31&lt;BR /&gt; id 0&lt;BR /&gt; class 0&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 31&lt;BR /&gt; id 1&lt;BR /&gt; class 0&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 181&lt;BR /&gt;id 0&lt;BR /&gt; class 1&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 181&lt;BR /&gt; id 1&lt;BR /&gt; class 1&lt;BR /&gt;-&amp;gt; WriteSOS&lt;BR /&gt; emit marker 218&lt;BR /&gt; length 12&lt;BR /&gt; ncomp 3&lt;BR /&gt; id 0&lt;BR /&gt; dc_selector 0&lt;BR /&gt; ac_selector 0&lt;BR /&gt; id 1&lt;BR /&gt; dc_selector 1&lt;BR /&gt; ac_selector 1&lt;BR /&gt; id 2&lt;BR /&gt; dc_selector 1&lt;BR /&gt; ac_selector 1&lt;BR /&gt; Ss 0&lt;BR /&gt; Se 63&lt;BR /&gt; Ah 0&lt;BR /&gt; Al 0&lt;BR /&gt;-&amp;gt; WriteEOI&lt;BR /&gt;emit marker 217&lt;/P&gt;
&lt;P&gt;...and here's the output from a bad file:&lt;/P&gt;
&lt;P&gt;validvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalidvalid-&amp;gt; WriteSOI&lt;BR /&gt; emit marker 216&lt;BR /&gt;-&amp;gt; WriteAPP0&lt;BR /&gt; emit marker 224&lt;BR /&gt; length 16&lt;BR /&gt;-&amp;gt; WriteCOM&lt;BR /&gt; emit marker 254&lt;BR /&gt; length 54&lt;BR /&gt;-&amp;gt; WriteDQT&lt;BR /&gt; emit marker 219&lt;BR /&gt; length 67&lt;BR /&gt; id 0&lt;BR /&gt; precision 0&lt;/P&gt;
&lt;P&gt;16 11 12 14 12 10 16 14&lt;BR /&gt;13 14 18 17 16 19 24 40&lt;BR /&gt;26 24 22 22 24 49 35 37&lt;BR /&gt;29 40 58 51 61 60 57 51&lt;BR /&gt;56 55 64 72 92 78 64 68&lt;BR /&gt;87 69 55 56 80 109 81 87&lt;BR /&gt;95 98 103 104 103 62 77 113&lt;BR /&gt;121 112 100 120 92 101 103 99&lt;/P&gt;
&lt;P&gt;-&amp;gt; WriteDQT&lt;BR /&gt; emit marker 219&lt;BR /&gt; length 67&lt;BR /&gt; id 1&lt;BR /&gt; precision 0&lt;/P&gt;
&lt;P&gt;17 18 18 24 21 24 47 26&lt;BR /&gt;26 47 99 66 56 66 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;99 99 99 99 99 99 99 99&lt;BR /&gt;
99 99 99 99 99 99 99 99&lt;/P&gt;
&lt;P&gt;-&amp;gt; WriteSOF0&lt;BR /&gt; emit marker 192&lt;BR /&gt; length 17&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 31&lt;BR /&gt; id 0&lt;BR /&gt; class 0&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 31&lt;BR /&gt; id 1&lt;BR /&gt; class 0&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 181&lt;BR /&gt; id 0&lt;BR /&gt; class 1&lt;BR /&gt;-&amp;gt; WriteDHT&lt;BR /&gt; emit marker 196&lt;BR /&gt; length 181&lt;BR /&gt; id 1&lt;BR /&gt; class 1&lt;BR /&gt;-&amp;gt; WriteSOS&lt;BR /&gt; emit marker 218&lt;BR /&gt; length 12&lt;BR /&gt; ncomp 3&lt;BR /&gt; id 0&lt;BR /&gt; dc_selector 0&lt;BR /&gt; ac_selector 0&lt;BR /&gt; id 1&lt;BR /&gt; dc_selector 1&lt;BR /&gt; ac_selector 1&lt;BR /&gt; id 2&lt;BR /&gt; dc_selector 1&lt;BR /&gt; ac_selector 1&lt;BR /&gt; Ss 0&lt;BR /&gt; Se 63&lt;BR /&gt; Ah 0&lt;BR /&gt; Al 0&lt;BR /&gt;-&amp;gt; WriteEOI&lt;BR /&gt;emit marker 217&lt;/P&gt;
&lt;P&gt;...the images in question are quite small; I first scale QVGA or VGA images down to 128*96 pixels, and then they're handed off to the library. Here's an example of what a good and bad thumbnail look like, if that helps at all:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.flickr.com/photos/goldfishy/archives/date-taken/2007/03/02/"&gt;http://www.flickr.com/photos/goldfishy/archives/date-taken/2007/03/02/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 22:14:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879938#M10060</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-02T22:14:38Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879939#M10061</link>
      <description>&lt;P&gt;You are right, nchannels is not used in encoder, sorry for mispointing you. Well, could you please attach to this thread one input frame and one resulting JPEG stream?&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 22:15:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879939#M10061</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-03-02T22:15:41Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879940#M10062</link>
      <description>&lt;P&gt;No need to apologize--believe me, I'm thrilled to have someone listening. :)&lt;/P&gt;
&lt;P&gt;Thelink I posted abovehas bad and good JPEG output images; the input image could be tricky because it's YUY2; do you just want the raw file containing YUY2 image data? (it'd be 128*96*2 bytes in size, and wouldn't have any header info since it's just a dib)&lt;/P&gt;
&lt;P&gt;I'm also going to see if I can reproduce the error with RGB24 input values.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 22:23:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879940#M10062</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-02T22:23:19Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879941#M10063</link>
      <description>&lt;P&gt;Yes, just raw input frame will be enough as we know its parameters.&lt;/P&gt;
&lt;P&gt;Need something to test.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Mar 2007 22:42:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879941#M10063</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-03-02T22:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879942#M10064</link>
      <description>&lt;P&gt;Vladimir,&lt;/P&gt;
&lt;P&gt;I determined that the JPEG compressor is not producing bad frames by examining the input. I found that my imputs were clearly bad to begin with (whoops), and after a few more hours of examination, I figured out why they were bad.&lt;/P&gt;
&lt;P&gt;Thanks for all of your help.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Mar 2007 04:23:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879942#M10064</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-06T04:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879943#M10065</link>
      <description>&lt;P&gt;Hi, glad to hear that issue was solved.&lt;/P&gt;
&lt;P&gt;Note, JPEG codec is threaded with using OpenMP API, so if you want to take advantage of modern dual core systems or old SMP systems:) you need to compile codec with Intel C/C++ compiler or MS VC2005 compiler, see Makefile for necessary options. Please let us know your feeling regarding functionality and performance of IPP JPEG codec.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 07 Mar 2007 13:49:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879943#M10065</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-03-07T13:49:44Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879944#M10066</link>
      <description>&lt;P&gt;We are compiling with MS VC2005, although I'm not totally sure what options in the makefile we'd need to extract. In any event, the JPEG encoder/decoder works very well. One thing: does the JPEG library support YV12 inputs? I'd like to use YV12, but I recall I ended up using YUY2 because it appeared like it didn't support YV12.&lt;/P&gt;
&lt;P&gt;I would also love to have a C# library for doing jpeg compression/decompression. It seems like most of the underlying IPP function calls have a C# definition available. I suppose I could just compile the JPEG library into a dll and export some function calls, but it's be really cool to have a sample implementation in managed code.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Mar 2007 22:23:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879944#M10066</guid>
      <dc:creator>jnoring</dc:creator>
      <dc:date>2007-03-07T22:23:04Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG encoder producing bad images</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879945#M10067</link>
      <description>&lt;P&gt;Thanks for providing additional information. You are right, currently JPEG codec do not support YV12 as direct input or output. We do have it in plan, but it still not implemented yet.&lt;/P&gt;
&lt;P&gt;I think it is better to compiler time-consuming algorithms (like JPEG) as a DLL (and recommend to use Intel C/C++ compiler for the performance reasons) and provide C# interface to small number of interface functions instead of implementing JPEG codec in C# with wrapping each IPP function in C#. Anyway, I recommend you to submit your feature request to Intel Premier Support, so we will consider it at next IPP version planning stage.&lt;/P&gt;
&lt;P&gt;As far as I know, you need to specify option openmp in VC2005 project settings to enable OpenMP (after that it will implicitely define macro _OPENMP and IPP JPEG codec will take advantage of OpenMP API automatically)&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 07 Mar 2007 23:02:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-encoder-producing-bad-images/m-p/879945#M10067</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-03-07T23:02:46Z</dc:date>
    </item>
  </channel>
</rss>

