<?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 Thank you so much Vladimir. in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000068#M23033</link>
    <description>&lt;P&gt;Thank you so much Vladimir.&lt;/P&gt;

&lt;P&gt;Does this algorithm(steps mentioned by you) works for the three band images also?. if it is not, could you please provide me the necessary steps those should work for both single band and three band images. Actually, I need to implement the row by row mechanism for both single band image and three band images.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;One more thing , is the size of the output file will be same if we encode using row by row and using all a time?.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;could you please confirm.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
    <pubDate>Fri, 06 Feb 2015 10:26:06 GMT</pubDate>
    <dc:creator>Sathish_S_</dc:creator>
    <dc:date>2015-02-06T10:26:06Z</dc:date>
    <item>
      <title>how to encode the JPEG line by line(row by row)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000064#M23029</link>
      <description>&lt;P&gt;Hello All,&lt;/P&gt;

&lt;P&gt;Actually, I have implmented the JPEG encoding using Intel IPP libs . Its working for the small images and its not working for the large images. I understood that the problem is with , I am providing the whole Pixel data at a time. But , the large images having the size 15000X15000, 85000X85000 in these cases it will not allocate memory and so its failing .&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Now, I am thinking that I need provide the pixel data row by row. But, How to provide the data row by row and how to write the data to output file row by row.&lt;/P&gt;

&lt;P&gt;could anyone help me in this regard.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish&lt;/P&gt;</description>
      <pubDate>Thu, 05 Feb 2015 11:57:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000064#M23029</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-05T11:57:14Z</dc:date>
    </item>
    <item>
      <title>Hello Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000065#M23030</link>
      <description>&lt;P&gt;Hello Sathish,&lt;/P&gt;

&lt;P&gt;it should be possible if you change encoder to process image by one MCU row at time. Note, size of MCU depend on sampling factors (it is jpeg encoder parameter).&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 05 Feb 2015 13:41:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000065#M23030</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-05T13:41:52Z</dc:date>
    </item>
    <item>
      <title>Hello Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000066#M23031</link>
      <description>&lt;P&gt;Hello Vladimir,&lt;/P&gt;

&lt;P&gt;Thank you for the information. I wrote like this for the single band images U8 bit data&lt;/P&gt;

&lt;P&gt;int nDU = (((8 &amp;amp; 255) + 7) / 8);&lt;BR /&gt;
	int LineStep = width * 1 * nDU;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp;//Construct and init the jpeg encoder&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::JPEGEncoder uicEncoder;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;ExcStatus resStatus = ExcStatusOk;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;uicEncoder.Init();&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Attach the output stream with output buffer to the encoder&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::BaseStream::TStatus tStatus;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;CStdFileOutput outputFile;&lt;/P&gt;

&lt;P&gt;JCOLOR dstClr = m_bGrayScale ? JC_GRAY : JC_YCBCR;&lt;/P&gt;

&lt;P&gt;for (long y = 0; y &amp;lt; height; ++y)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ERASTER_NS::Boundary boundary(0, y, width, y + 1);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dataSource-&amp;gt;Read(0, boundary, pb);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Epxm_PixelRectStack* prs = pb-&amp;gt;asPixelRectStack();&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;tStatus = outputFile.Open(m_pchOfName);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (!BaseStream::IsOk(tStatus))&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return false;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;resStatus = uicEncoder.AttachStream(outputFile);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (resStatus != ExcStatusOk)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return false;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::Image srcImg;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::ImageSamplingGeometry samplingGeometry;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.SetRefGridRect(UIC::Rect(UIC::Point(0, 0), RectSize(width, height)));&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.ReAlloc(1);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.SetEnumSampling(UIC::S444);&lt;/P&gt;

&lt;P&gt;UIC::ImageDataOrder imageDataOrder;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;imageDataOrder.ReAlloc(UIC::Interleaved, 1);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;imageDataOrder.PixelStep()[0] = 1;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;imageDataOrder.LineStep()[0] = LineStep;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;imageDataOrder.SetDataType(T8u);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::ImageDataPtr dataPtr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dataPtr.p8u = (UINT8*)(prs-&amp;gt;datalayer[0]-&amp;gt;data);//Pixel data&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.Buffer().Attach(&amp;amp;dataPtr, imageDataOrder, samplingGeometry);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.ColorSpec().ReAlloc(1);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;UIC::ImageEnumColorSpace srcClrSpace = m_bGrayScale ? UIC::Grayscale : UIC::RGB;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.ColorSpec().SetColorSpecMethod(UIC::Enumerated);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.ColorSpec().SetComponentToColorMap(UIC::Direct);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.ColorSpec().SetEnumColorSpace(srcClrSpace);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; 1; i++)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcImg.ColorSpec().DataRange()&lt;I&gt;.SetAsRange8u(255);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;resStatus = uicEncoder.AttachImage(srcImg);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (resStatus != ExcStatusOk)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return false;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;JSS sampling = JS_444;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Setting the parameters&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;resStatus = uicEncoder.SetParams(JPEG_BASELINE, dstClr, sampling, 0, 0, 75);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (resStatus != ExcStatusOk)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return false;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//Encode the image to the output File&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;resStatus = uicEncoder.WriteHeader();&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (resStatus != ExcStatusOk)&lt;BR /&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;return false;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;resStatus = uicEncoder.WriteData();&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (resStatus != ExcStatusOk)&lt;BR /&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;return false;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;Jpegenc.cpp:&lt;/P&gt;

&lt;P&gt;&amp;nbsp; m_mcuWidth &amp;nbsp;= (m_jpeg_sampling == JS_444) ? &amp;nbsp;8 : 16;&lt;BR /&gt;
	&amp;nbsp; m_mcuHeight = (m_jpeg_sampling == JS_411) ? 16 : &amp;nbsp;8;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; m_numxMCU = (m_src.width &amp;nbsp;+ (m_mcuWidth &amp;nbsp;- 1)) / m_mcuWidth;&lt;BR /&gt;
	&amp;nbsp; m_numyMCU = (m_src.height + (m_mcuHeight - 1)) / m_mcuHeight;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;JERRCODE CJPEGEncoder::EncodeScanBaseline(void)&lt;/P&gt;

&lt;P&gt;{&lt;/P&gt;

&lt;P&gt;&amp;nbsp;while(curr_row &amp;lt; m_numyMCU)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	#ifdef _OPENMP&lt;BR /&gt;
	#pragma omp critical&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	#endif&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; curr_row = i;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; i++;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;if(curr_row &amp;lt; m_numyMCU)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	#ifdef __TIMING__&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c0 = ippGetCpuClocks();&lt;BR /&gt;
	#endif&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jerr = ColorConvert(curr_row,thread_id);&lt;BR /&gt;
	#ifdef __TIMING__&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c1 = ippGetCpuClocks();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_clk_cc += c1 - c0;&lt;BR /&gt;
	#endif&lt;/P&gt;

&lt;P&gt;#ifdef __TIMING__&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c0 = ippGetCpuClocks();&lt;BR /&gt;
	#endif&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DownSampling(curr_row,thread_id);&lt;BR /&gt;
	#ifdef __TIMING__&lt;/P&gt;

&lt;P&gt;//some code here&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;curr_row++;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Does it correct?. if not could you please made the necessary changes.&lt;/P&gt;

&lt;P&gt;I have one more thing i,.e how to write the data into output file row by row.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;could you please help me.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 03:51:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000066#M23031</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-06T03:51:31Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000067#M23032</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;basically, jpeg encoding consist from several operations:&lt;/P&gt;

&lt;P&gt;1. color conversion (optional)&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;2. subsampling (optional)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;3. level shift (mandatory)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;4. forward DCT transform (mandatory)&lt;/P&gt;

&lt;P&gt;5. quantization (optional)&lt;/P&gt;

&lt;P&gt;6. huffman entropy encoding (mandatory)&lt;/P&gt;

&lt;P&gt;For you, to implement row-by-row encoding approach for 8u single channel (band) image, it is needed to modify ipp jpeg encoder in such way that:&lt;/P&gt;

&lt;P&gt;1) convert and level-shift 8 image scan lines from Ipp8u to Ipp16s data type. Store converted values to intermediate buffer of (8 * image_width * sizeof(Ipp16s)) size. Note, you may need to extend buffer in order to keep integer number of 8x8 blocks (this will be needed on the next stages)&lt;/P&gt;

&lt;P&gt;2) perform forward DCT transform on 8x8 blocks in this intermediate buffer. it is possible to do in place operations&lt;/P&gt;

&lt;P&gt;3) perform quantization (if needed) on 8x8 blocks of DCT coefficients&lt;/P&gt;

&lt;P&gt;4) perform huffman encoding on 8x8 blocks of quantized DCT coefficients. Store the resulting bits of compressed output from ipp huffman encoding function to another intermediate buffer. Note, it is not possible to compute exact size of this buffer, so you 'll need to use some rough estimation. Usually, 1.5 * input_size will work.&lt;/P&gt;

&lt;P&gt;5) flush compressed bits for row of compressed 8x8 blocks to file&lt;/P&gt;

&lt;P&gt;6) repeat these steps till all image scan lines processed&lt;/P&gt;

&lt;P&gt;Take attention to form compliant jpeg file:&lt;/P&gt;

&lt;P&gt;each jpeg file must start from SOI marker and end up with EOI marker. In between these markers other jpeg markers may appears as needed. Usual structure of jpeg file for DCT based hffman entropy coded compression process will look like:&lt;/P&gt;

&lt;P&gt;SOI&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;SOF0&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;DQT&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;DHT&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;SOS&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;lt;compressed bits&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;
	&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;EOI&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 10:07:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000067#M23032</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-06T10:07:43Z</dc:date>
    </item>
    <item>
      <title>Thank you so much Vladimir.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000068#M23033</link>
      <description>&lt;P&gt;Thank you so much Vladimir.&lt;/P&gt;

&lt;P&gt;Does this algorithm(steps mentioned by you) works for the three band images also?. if it is not, could you please provide me the necessary steps those should work for both single band and three band images. Actually, I need to implement the row by row mechanism for both single band image and three band images.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;One more thing , is the size of the output file will be same if we encode using row by row and using all a time?.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;could you please confirm.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 10:26:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000068#M23033</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-06T10:26:06Z</dc:date>
    </item>
    <item>
      <title>Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000069#M23034</link>
      <description>&lt;P&gt;Sathish,&lt;/P&gt;

&lt;P&gt;of course, jpeg file size will not be affected by the way you process the data. You may need to learn some details of jpeg specification in order to correctly implement three-band subsampled images (also you may look at ipp jpeg codec implementation to see an example implementation). The basic thing is that JPEG codec process image by MCU (which is minimally coded unit, according to jpeg spec terms). The MCU consist from a number of DU (data units), which are 8x8 blocks. The size of MCU depend on subsamping factors, for example, for sampling&lt;BR /&gt;
	444 (which means no subsampling used) MCU consist from 1 DU (which is one 8x8 block) per color band&lt;BR /&gt;
	422 (which means subsampling color bands by factor of 2 in horizontal direction) MCU consist from 2 DU for Y plane, 1 DU for Cb and 1 DU for Cr planes, what gives 4 8x8 blocks in total&lt;BR /&gt;
	411 (which means subsampling color bands by factor of 2 in both horizontal and vertical directions) MCU consist from 4 DU for Y plane, 1 DU for Cb and 1 DU for Cr planes, what gives 6 8x8 blocks in total.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;There is specific scan order over MCU 8x8 blocks, which may slightly differ depending on number of color bands and subsampling factors (you may also use sample ipp jpeg codec implementation to see how it may be implemented in jpeg specification compliant way).&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;So, for three-band images the differences in steps described above is that:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;1) color-convertion will provide you three bands of converted pixels. It is better to keep them in separate planes, i.e. take image buffer in format BGR, BGR, BGR, ... and get intermediate buffer of format YYYY, CbCbCbCb, CrCrCr .. For 444 and 422 sampling factors you need 8 image scan lines and for 411 sampling factor you need 16 image scan lines in order to form MCU&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;2) subsampling step only make sense for images with more than one color band. Usually, Y plane stays not subsampled (because, according to human visual perception model, most of image information contains in luminance component) and Cb/Cr planes may be subsampled to improve compression rate without significant loss in image visual quality. Usually Cb/Cr planes subsampled in factor of 2 in horizontal direction (which called as 422 sampling) or both vertical and horizontal directions (which in ipp jpeg historically called 411 sampling, but more correct name is 420 - which used in video codecs). So, after subsampling (for example 411) you should form three buffers Y-plane with the same size as it was after color convertion step and subCb/subCr buffers with size twice less in both vertical and horizontal directions. For example, for 16x16 source image this will give you 16x16 Y plane, 8x8 Cb and 8x8 Cr planes&lt;/P&gt;

&lt;P&gt;3) level-shift is simple subtraction of 128 (for 8u input data) to form signed representation from unsigned input data, it may be combined with convertion from 8u to 16s data type. Level shift done independently on all 8x8 block in subsampled buffer. So, after this step you will have Ipp16s buffer of 8x8 block in three planes.&lt;/P&gt;

&lt;P&gt;Now, all you need is process MCU from forward DCT, quantization and huffman coding). As I mention before, jpeg spec defines specific scan order over DU in MCU, depending on sampling factors, I'd better refer you to jpeg spec or ipp sample for details. Once defined processing compliant to jpeg spec it does not depend on how do you process image, at a whole or in MCU by MCU, or in MCU row by MCU row fashion. Hope, this helps.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 12:17:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000069#M23034</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-06T12:17:27Z</dc:date>
    </item>
    <item>
      <title>Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000070#M23035</link>
      <description>&lt;P&gt;Vladimir,&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I set the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;m_mcuWidth = 1;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; m_mcuHeight = 1;&lt;/P&gt;

&lt;P&gt;One thing , how to set the&amp;nbsp;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;SetRefGridRect ,&amp;nbsp;&lt;/SPAN&gt;earlier&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;&amp;nbsp;I gave like this&amp;nbsp;&lt;/SPAN&gt;samplingGeometry.SetRefGridRect(UIC::Rect(UIC::Point(0, 0), RectSize(width,height)));&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I am thinking like this&amp;nbsp;&lt;/P&gt;

&lt;P&gt;for (long y = 0; y &amp;lt; height; ++y)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/P&gt;

&lt;P&gt;UIC::ImageSamplingGeometry samplingGeometry;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.SetRefGridRect(UIC::Rect(UIC::Point(0, y), RectSize(width, y + 1)));&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.ReAlloc(1);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;samplingGeometry.SetEnumSampling(UIC::S444);&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;does it correct?. Please confirm&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I am using the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;JSS sampling = JS_444;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 15:33:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000070#M23035</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-06T15:33:16Z</dc:date>
    </item>
    <item>
      <title>Sorry, I'm not able to dive</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000071#M23036</link>
      <description>&lt;P&gt;Sorry, I'm not able to dive into details on code level with enough confidence at this time (did not work with UIC for several years).&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Vladimir&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Feb 2015 16:48:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000071#M23036</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-06T16:48:52Z</dc:date>
    </item>
    <item>
      <title>Hi Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000072#M23037</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;

&lt;P&gt;One last thing I have i,.e how to store the output data into JPEG file . Earlier, at a whole we are attaching like this&lt;/P&gt;

&lt;P&gt;CStdFileOutput outputFile;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;tStatus = outputFile.Open(m_pchOfName);&amp;nbsp;&lt;/P&gt;

&lt;P&gt;resStatus = uicEncoder.AttachStream(outputFile);&lt;/P&gt;

&lt;P&gt;But, for row by row how should we write the data to to output file.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish&lt;/P&gt;</description>
      <pubDate>Sun, 08 Feb 2015 05:32:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000072#M23037</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-08T05:32:03Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000073#M23038</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;obviously, you should write pieces of data in file append mode. This probably also not implemented in UIC classes.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Sun, 08 Feb 2015 22:05:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000073#M23038</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-08T22:05:22Z</dc:date>
    </item>
    <item>
      <title>Thanks Vladimir.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000074#M23039</link>
      <description>&lt;P&gt;Thanks Vladimir.&lt;/P&gt;

&lt;P&gt;you mentioned some steps to perform JPEG encoding row by row . In those steps the last step was&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;" repeat these steps till all image scan lines processed"&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;If the input images is 128 X 128 means , we need to repeat those steps to height of that images i,.e here 128 times.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;&amp;nbsp;is it correct?. Could you please confirm.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;sathish.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2015 06:22:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000074#M23039</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-09T06:22:50Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000075#M23040</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;not exactly. you need to divide input image to rows of MCUs. Each MCU row will require 8 or 16 input image scanlines, for the case of 128x128 input image and 444 subsampling factor, you need to process 128 / 8 = 16 rows of MCU (an so perform described steps 16 times).&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2015 08:45:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000075#M23040</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-09T08:45:40Z</dc:date>
    </item>
    <item>
      <title>Hi Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000076#M23041</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;

&lt;P&gt;Actually, I am getting the pixel data row by row . If &amp;nbsp;we need to loop through 16 times means , we need to combine the data for every 8 rows and put it to ImageDataPtr. If this is the case , is there any predefined methods to combine it?.&lt;/P&gt;

&lt;P&gt;UIC::ImageDataPtr dataPtr;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;dataPtr.p8u = pPixelData;//Pixel data&lt;/P&gt;

&lt;P&gt;could you please confirm.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2015 09:27:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000076#M23041</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-09T09:27:48Z</dc:date>
    </item>
    <item>
      <title>Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000077#M23042</link>
      <description>&lt;P&gt;Sathish,&lt;/P&gt;

&lt;P&gt;I'm not aware of such methods in UIC, most probably you have to modify UIC source in order to achieve desired behaviour.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2015 12:38:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000077#M23042</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-09T12:38:05Z</dc:date>
    </item>
    <item>
      <title>Hello Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000078#M23043</link>
      <description>&lt;P&gt;Hello Vladimir,&lt;/P&gt;

&lt;P&gt;Finally, I am able to encode the JPEG row by row i,.e 8 image scan lines per one MCU row.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Actually, in the ColorConvert() method we have code like this(From IPP samples)&lt;/P&gt;

&lt;P&gt;pSrc8u &amp;nbsp;= &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;STRONG&gt;m_src.p.Data8u[0]&lt;/STRONG&gt; &amp;nbsp;+ nMCURow * m_mcuHeight * srcStep;&lt;/P&gt;

&lt;P&gt;Here&amp;nbsp;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;&lt;STRONG&gt;m_src.p.Data8u[0] &lt;/STRONG&gt;is the whole pixel data, so here we need to place our data i,.e 8 rows pixel data.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Thank you so much for your suggestions.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;sathish.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Feb 2015 04:42:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000078#M23043</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-12T04:42:29Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000079#M23044</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;thanks, I'm glad that you find solution.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 12 Feb 2015 09:29:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000079#M23044</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-12T09:29:20Z</dc:date>
    </item>
    <item>
      <title>Hello Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000080#M23045</link>
      <description>&lt;P&gt;Hello Vladimir,&lt;/P&gt;

&lt;P&gt;Everything is good now I am able to encode the 50000x50000 images and the output JPEG also 50kx50k but when I am trying for 70000X70000 the output JPEG is created with 4464x4464 . I am not sure why it is behaving like this. Is there any limitation that the output JPEG file size should not be &amp;gt;65X65?.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Could you please comment.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2015 06:22:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000080#M23045</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-13T06:22:52Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000081#M23046</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;that's right, according to the &lt;A href="http://www.w3.org/Graphics/JPEG/itu-t81.pdf"&gt;JPEG specification&lt;/A&gt;&amp;nbsp;variables representing image size in SOF (start of frame) marker are limitied by 16 bits.&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="sof.jpg"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/7274i1AC95D8B2DF66682/image-size/large?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="sof.jpg" alt="sof.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;You may want to consider some tiled meta format or other compression technique for huge images, for example jpeg2000 or jpeg-xr do not limit image size by 16 bits.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2015 08:12:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000081#M23046</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-13T08:12:56Z</dc:date>
    </item>
    <item>
      <title>Hello Vladimir,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000082#M23047</link>
      <description>&lt;P&gt;Hello Vladimir,&lt;/P&gt;

&lt;P&gt;Thank you for the information.&lt;/P&gt;

&lt;P&gt;I have one last question , Actually To made it work for row by row mechanism I need to change in the jpegenc.cpp file which is in sample UIC code.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;May I use the sample UIC code in my project and may I edit the UIC sample code?.&lt;/P&gt;

&lt;P&gt;I purchased the Intel IPP 8.2 update 1 license recently( three weeks ago).&lt;/P&gt;

&lt;P&gt;could you please confirm.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;sathish&lt;/P&gt;</description>
      <pubDate>Mon, 16 Feb 2015 07:23:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000082#M23047</guid>
      <dc:creator>Sathish_S_</dc:creator>
      <dc:date>2015-02-16T07:23:58Z</dc:date>
    </item>
    <item>
      <title>Hi Sathish,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000083#M23048</link>
      <description>&lt;P&gt;Hi Sathish,&lt;/P&gt;

&lt;P&gt;you should check ipp sample license document (should be part of sample package you downloaded) for details on legal usage of sample code.&lt;/P&gt;

&lt;P&gt;Regards,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 16 Feb 2015 09:00:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/how-to-encode-the-JPEG-line-by-line-row-by-row/m-p/1000083#M23048</guid>
      <dc:creator>Vladimir_D_Intel1</dc:creator>
      <dc:date>2015-02-16T09:00:12Z</dc:date>
    </item>
  </channel>
</rss>

