<?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 dct quantization funciotn... in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993542#M22622</link>
    <description>&lt;DIV&gt;
&lt;DIV&gt;thanks for your pleasure.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;os : windows xp, windows 2000&lt;/DIV&gt;
&lt;DIV&gt;ipp version : 4.0.005&lt;/DIV&gt;
&lt;DIV&gt;file : w_ipp-JPEGView_p_4.0.005.zip&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;1. extract the file,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;2. edit the build.bat file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;3. open an image file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;4. save as jpeg file, you can see 4 result txt file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;and You can see the code (write the quantization table).&lt;/DIV&gt;
&lt;DIV&gt;how can i program the quantization function using the quantiation table(quantization table pointer qtblin the source).&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;w_ipp-JPEGView_p_4.0.005ipp_sampleJPEGViewjpegcodecencoder.cpp&lt;/DIV&gt;
&lt;DIV&gt;line number : 2295 --&amp;gt; quantization table zigzag ordered&lt;/DIV&gt;
&lt;DIV&gt;line number : 2287 --&amp;gt; quantization function.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;it willl create 4 files(enc_block.txt, enc_qtbl.txt, enc_quantizedBlock.txt, enc_raw.txt), enc_qtbl.txt and enc_raw.txt are quantization table file. enc_qtbl is maybe zigzag ordered, enc_raw is not zigzag ordered.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;if i use the enc_raw( " m_qtbl[m_comp&lt;N&gt;-&amp;gt;m_q_selector]-&amp;gt;m_raw[bi] " in the source), i must implement the zigzag scan code. &lt;/N&gt;&lt;/DIV&gt;
&lt;DIV&gt;if i use the enc_qtbl( " qtbl pointer " ), i program simply the quantization code.&lt;/DIV&gt;
&lt;DIV&gt;but i don't understand the qtbl. &lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;ex) &lt;/DIV&gt;
&lt;DIV&gt;int index[64] = {&lt;BR /&gt; 0, 1, 5, 6, 14, 15, 27, 28,&lt;BR /&gt; 2, 4, 7, 13, 16, 26, 29, 42,&lt;BR /&gt; 3, 8, 12, 17, 25, 30, 41, 43,&lt;BR /&gt; 9, 11, 18, 24, 31, 40, 44, 53,&lt;BR /&gt;10, 19, 23, 32, 39, 45, 52, 54,&lt;BR /&gt;20, 22, 33, 38, 46, 51, 55, 60,&lt;BR /&gt;21, 34, 37, 47, 50, 56, 59, 61,&lt;BR /&gt;35, 36, 48, 49, 57, 58, 62, 63&lt;BR /&gt;};&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;for ( int i = 0 ; i &amp;lt; 64; i++ )&lt;BR /&gt;{&lt;BR /&gt; customQuantize(blk+i , raw+index&lt;I&gt;);&lt;BR /&gt;}&lt;/I&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;void customQuantize( Ipp16s* blk, const Ipp8u* raw)&lt;/DIV&gt;
&lt;DIV&gt;{&lt;/DIV&gt;
&lt;DIV&gt; *blk = *blk / *raw;&lt;/DIV&gt;
&lt;DIV&gt;};&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Wed, 30 Mar 2005 14:13:24 GMT</pubDate>
    <dc:creator>networkcare</dc:creator>
    <dc:date>2005-03-30T14:13:24Z</dc:date>
    <item>
      <title>JPEG dct quantization funciotn...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993540#M22620</link>
      <description>&lt;DIV&gt;i wana program a quantization function.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;ippiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(src,src_step,block,qtbl)&lt;/DIV&gt;
&lt;DIV&gt;--&amp;gt;&lt;/DIV&gt;
&lt;DIV&gt;ippiDCT8x8FwdLS_8u16s_C1R(src,src_step,block, -128)&lt;/DIV&gt;
&lt;DIV&gt;ippiQuantFwd8x8_JPEG_16s_C1I(block,qtbl)&lt;/DIV&gt;
&lt;DIV&gt;spilted functions&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;when i print on the screen,...&lt;/DIV&gt;
&lt;DIV&gt;==================================&lt;/DIV&gt;
&lt;DIV&gt;40965461655440962731163812601057&lt;BR /&gt;54615461468132772521113010921170&lt;BR /&gt;4681468140962731163811309361170&lt;BR /&gt;468136412979218512607458191057&lt;BR /&gt;3641297917251170964596630840&lt;BR /&gt;2731182011701024799630575712&lt;BR /&gt;13111024840745630537546643&lt;BR /&gt;910712683669585655630655&lt;/DIV&gt;
&lt;DIV&gt;==================================&lt;/DIV&gt;
&lt;DIV&gt;i don't understand the data.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;how can i program the quantization code ?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 23 Mar 2005 21:59:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993540#M22620</guid>
      <dc:creator>networkcare</dc:creator>
      <dc:date>2005-03-23T21:59:30Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG dct quantization funciotn...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993541#M22621</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;could you please provide more details? Which platform do you use IPP on? Is it IA32? What was your expectation for output data? Which source data do you use?&lt;/DIV&gt;
&lt;DIV&gt;Did you look on IPP JPEG samples?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regards,&lt;/DIV&gt;
&lt;DIV&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Wed, 30 Mar 2005 02:27:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993541#M22621</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2005-03-30T02:27:18Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG dct quantization funciotn...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993542#M22622</link>
      <description>&lt;DIV&gt;
&lt;DIV&gt;thanks for your pleasure.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;os : windows xp, windows 2000&lt;/DIV&gt;
&lt;DIV&gt;ipp version : 4.0.005&lt;/DIV&gt;
&lt;DIV&gt;file : w_ipp-JPEGView_p_4.0.005.zip&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;1. extract the file,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;2. edit the build.bat file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;3. open an image file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;4. save as jpeg file, you can see 4 result txt file&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;and You can see the code (write the quantization table).&lt;/DIV&gt;
&lt;DIV&gt;how can i program the quantization function using the quantiation table(quantization table pointer qtblin the source).&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;w_ipp-JPEGView_p_4.0.005ipp_sampleJPEGViewjpegcodecencoder.cpp&lt;/DIV&gt;
&lt;DIV&gt;line number : 2295 --&amp;gt; quantization table zigzag ordered&lt;/DIV&gt;
&lt;DIV&gt;line number : 2287 --&amp;gt; quantization function.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;it willl create 4 files(enc_block.txt, enc_qtbl.txt, enc_quantizedBlock.txt, enc_raw.txt), enc_qtbl.txt and enc_raw.txt are quantization table file. enc_qtbl is maybe zigzag ordered, enc_raw is not zigzag ordered.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;if i use the enc_raw( " m_qtbl[m_comp&lt;N&gt;-&amp;gt;m_q_selector]-&amp;gt;m_raw[bi] " in the source), i must implement the zigzag scan code. &lt;/N&gt;&lt;/DIV&gt;
&lt;DIV&gt;if i use the enc_qtbl( " qtbl pointer " ), i program simply the quantization code.&lt;/DIV&gt;
&lt;DIV&gt;but i don't understand the qtbl. &lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;ex) &lt;/DIV&gt;
&lt;DIV&gt;int index[64] = {&lt;BR /&gt; 0, 1, 5, 6, 14, 15, 27, 28,&lt;BR /&gt; 2, 4, 7, 13, 16, 26, 29, 42,&lt;BR /&gt; 3, 8, 12, 17, 25, 30, 41, 43,&lt;BR /&gt; 9, 11, 18, 24, 31, 40, 44, 53,&lt;BR /&gt;10, 19, 23, 32, 39, 45, 52, 54,&lt;BR /&gt;20, 22, 33, 38, 46, 51, 55, 60,&lt;BR /&gt;21, 34, 37, 47, 50, 56, 59, 61,&lt;BR /&gt;35, 36, 48, 49, 57, 58, 62, 63&lt;BR /&gt;};&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;BR /&gt;for ( int i = 0 ; i &amp;lt; 64; i++ )&lt;BR /&gt;{&lt;BR /&gt; customQuantize(blk+i , raw+index&lt;I&gt;);&lt;BR /&gt;}&lt;/I&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;void customQuantize( Ipp16s* blk, const Ipp8u* raw)&lt;/DIV&gt;
&lt;DIV&gt;{&lt;/DIV&gt;
&lt;DIV&gt; *blk = *blk / *raw;&lt;/DIV&gt;
&lt;DIV&gt;};&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 30 Mar 2005 14:13:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993542#M22622</guid>
      <dc:creator>networkcare</dc:creator>
      <dc:date>2005-03-30T14:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: JPEG dct quantization funciotn...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993543#M22623</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;ok, I see your point. We use pre-multiplication when build quant table from raw quant table elements to avoid integer dividing at quantization stage because it isrelatevly slow operation. So,pre-multiplication is done inippiQuantFwdTableInit_JPEG_8u16u() function and inippiQuantFwd8x8_JPEG_16s_C1I() function we use multiplication and scalinginstead of dividing.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;BTW, I see you use IPP v4.0 sample but we already have IPP v4.1.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regards,&lt;/DIV&gt;
&lt;DIV&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Thu, 31 Mar 2005 02:31:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/JPEG-dct-quantization-funciotn/m-p/993543#M22623</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2005-03-31T02:31:12Z</dc:date>
    </item>
  </channel>
</rss>

