<?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 AAC decoder IPP 6.1 in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820875#M4721</link>
    <description>&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;I think scandinaf were using the sample in the manual (audio-video-codecs\doc\umc-manual.pdf)&lt;/P&gt;&lt;P&gt;Example 5-1 AACDecoder Initialization&lt;/P&gt;&lt;P&gt;and Example 5-2 AACDecoder Usage.&lt;/P&gt;&lt;P&gt;but, please note UMC AAC decoder supports ADIF format files, and RTP package payload need to be removed before pass the data to AAC decoders. &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao &lt;/P&gt;</description>
    <pubDate>Thu, 04 Nov 2010 06:17:52 GMT</pubDate>
    <dc:creator>Chao_Y_Intel</dc:creator>
    <dc:date>2010-11-04T06:17:52Z</dc:date>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820865#M4711</link>
      <description>Hi to all!&lt;DIV&gt;I have Axis camera that provides audio data through network. The format of this data is AAC LC 8000 Hz, 32 kbps. I tried to find an example how to initialize AACDecoder and how to decode frames but I failed. It seems that there is no good example how to do this. And also I have a lot of questions about AAC decoder (e.g. what is the minimal frame size? ).&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Could you help me? I think that having good sample may solve my problems.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;</description>
      <pubDate>Thu, 13 May 2010 12:28:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820865#M4711</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-13T12:28:10Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820866#M4712</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Have you found the example code in UMC manual?&lt;/P&gt;&lt;P&gt;\audio-video-codecs\doc\umc-manual.pdf&lt;/P&gt;&lt;P&gt;Example 5-1 AACDecoder Initialization&lt;/P&gt;&lt;P&gt;and Example 5-2 AACDecoder Usage.&lt;/P&gt;&lt;P&gt;provides the example code on AAC decoder usage. &lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chao&lt;/P&gt;</description>
      <pubDate>Fri, 14 May 2010 05:25:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820866#M4712</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-05-14T05:25:19Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820867#M4713</link>
      <description>Yes, I've found these examples. But they are not full and I still have questions.&lt;BR /&gt;&lt;BR /&gt;I know that Axis Camera uses AAC LC (MPEG-4 Audio). I need to know:&lt;BR /&gt;&lt;BR /&gt;1) Size of input buffer for &lt;B&gt;AACDecoder-&amp;gt;GetFrame()&lt;/B&gt; [1024 bytes ??? ] - it always returns me Bad Stream error code. &lt;BR /&gt;2) Do I need to use MP4Splitter in order to read frames from the stream?&lt;BR /&gt;3) How to initialize MP4Splitter correctly if it is needed.&lt;BR /&gt;&lt;BR /&gt;Actually I could not say that examples are clear enough because sometimes it's difficult to understand purpose of specified variables.</description>
      <pubDate>Mon, 17 May 2010 11:08:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820867#M4713</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-17T11:08:24Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820868#M4714</link>
      <description>&lt;P&gt;&lt;BR /&gt;Hi, &lt;/P&gt;&lt;P&gt;Is the input data raw AAC audio data, or the AAC data in the MP4 container? If it is in the MP4 container, it needs the MP4Splitter. &lt;/P&gt;&lt;P&gt;Maybe you can attach one audio data. That will be helpful to check the problem. &lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chao&lt;/P&gt;</description>
      <pubDate>Tue, 18 May 2010 05:32:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820868#M4714</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-05-18T05:32:59Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820869#M4715</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;It seems that it is raw AAC audio data. I attached file that contains audio data that I receive from Axis camera (aac_buffer). Maybe it will be helpful for you in order to understand what kind of data I receive and how to deal with it.&lt;BR /&gt;&lt;BR /&gt;But what I can see now is that there is some marker that probably shows where the next frame begins. I mean this set of bytes: &lt;B&gt;0x00 0x10 0x0F ... 0x01&lt;/B&gt;. I am really looking forward your answer.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 18 May 2010 09:45:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820869#M4715</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-18T09:45:01Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820870#M4716</link>
      <description>Oh, I forgot to say what I know about the format of data: AAC LC 8000Hz, 32kbps, mono(?), 16 bits per sample (?).&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[bash]unsigned char data[2];
data[0] = 0x15; /* 5bits: 00010 - LC; 4 bits: 1011 - sample rate index (11 --- 8000Hz)
data[1] = 0x88;    4bits: 0001 - 1 channel (front-center); 1bit: 0 - 1024 frame size;
                   1bit: 0 - depends on core; 1bit: 0 - ext. flag */

UMC::MediaData codecData;
codecData.SetBufferPointer(&amp;amp;data[0],2);
codecData.SetDataSize(2);
		
// where mIppParams is AACDecoderParams
mIppParams.m_info_in.sample_frequency = 8000; 
mIppParams.m_info_in.bitrate = 32000;
mIppParams.m_info_in.bitPerSample = 16;
mIppParams.m_info_in.channels = 1;
mIppParams.m_info_in.stream_type = UMC::AAC_MPEG4_STREAM;
mIppParams.m_pData = &amp;amp;codecData;
mIppParams.profile = AAC_PROFILE_LC;	  
	  
// returns UMC_OK
UMC::Status status = mIppDecoder.Init(&amp;amp;mIppParams);[/bash]&lt;/PRE&gt; &lt;BR /&gt;Then I try to pass 1024 (2048, etc.) bytes of audio data (I attached file with audio data in the previous message) to the decoder and it returns OK or BAD_STREAM error code. In my case decoded data is noise.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 18 May 2010 10:10:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820870#M4716</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-18T10:10:13Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820871#M4717</link>
      <description>I reloaded file that I attached in the previous message (I suppose there was a problem with downloading that file).</description>
      <pubDate>Thu, 20 May 2010 09:22:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820871#M4717</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-20T09:22:35Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820872#M4718</link>
      <description>I solved the problem :)&lt;BR /&gt;&lt;BR /&gt;1) I obtaine raw AAC MPEG-4 samples.&lt;BR /&gt;2) RTP protocol is used for transmission.&lt;BR /&gt;3) Transmission mode: AAC-hbr.&lt;BR /&gt;4) RFC 3640 explaines detailes.&lt;BR /&gt;&lt;BR /&gt;Each RTP packet in AAC-hbr mode contains:&lt;BR /&gt;1) Access unit headers length field - 2 bytes - size of AU-headers in bits (in my case 0x10 -&amp;gt; 16 -&amp;gt; 2 bytes)&lt;BR /&gt;2) Set of AU-headers - Each header has size 2 bytes for AAC-hbr mode. &lt;BR /&gt;3) Access unit (AU) - AAC frame(s)&lt;BR /&gt;&lt;BR /&gt;In my case I have 1 AU header + 1 AU per one RTP packet. Thus, I had to remove first 4 bytes of RTP packet payload and pass the rest (AU) to the decoder.</description>
      <pubDate>Tue, 25 May 2010 17:19:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820872#M4718</guid>
      <dc:creator>scandinaf</dc:creator>
      <dc:date>2010-05-25T17:19:42Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820873#M4719</link>
      <description>&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;Glad to know it works now. Some more comments from our AAC experts on raw AAC data support: &lt;/P&gt;&lt;P&gt;UMC AAC decoder supports ADIF format files  only 1 header in the beginning of the stream (to set sample rate, stream type) and then raw AAC data. &lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chao &lt;/P&gt;</description>
      <pubDate>Thu, 27 May 2010 01:25:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820873#M4719</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-05-27T01:25:45Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820874#M4720</link>
      <description>Hi,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I have the same configuration - AXIS device and AAC stream. I use live555 RTP library.&lt;/DIV&gt;&lt;DIV&gt;Do you have sample how to use UMC AAC decoder to decode it?&lt;/DIV&gt;</description>
      <pubDate>Wed, 03 Nov 2010 21:04:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820874#M4720</guid>
      <dc:creator>ltochinski</dc:creator>
      <dc:date>2010-11-03T21:04:17Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820875#M4721</link>
      <description>&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;I think scandinaf were using the sample in the manual (audio-video-codecs\doc\umc-manual.pdf)&lt;/P&gt;&lt;P&gt;Example 5-1 AACDecoder Initialization&lt;/P&gt;&lt;P&gt;and Example 5-2 AACDecoder Usage.&lt;/P&gt;&lt;P&gt;but, please note UMC AAC decoder supports ADIF format files, and RTP package payload need to be removed before pass the data to AAC decoders. &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao &lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2010 06:17:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820875#M4721</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-11-04T06:17:52Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820876#M4722</link>
      <description>&lt;DIV id="_mcePaste"&gt;I've got it working&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I have 16kHz 32lbps 1 channel sound&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;SDP from AXIS looks like&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;m=audio 0 RTP/AVP 97&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;b=AS:32&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;a=control:trackID=2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;a=rtpmap:97 mpeg4-generic/16000/1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1408; sizeLength=13; indexLength=3; indexDeltaLength=3; profile=1; bitrate=32000;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;SPAN style="font-family: verdana, sans-serif;"&gt;Then I took &lt;B&gt;scandinaf&lt;/B&gt;'s code above and modify it a little bit&lt;/SPAN&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;PRE&gt;[cpp]  // initialization
  // &lt;A href="http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio" target="_blank"&gt;http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio&lt;/A&gt;
  unsigned char data[2];  
      data[0] = 0x14; // 5bits: 00010 - LC; 4 bits: 1000 - sample rate index (8 --- 16000Hz)  
      data[1] = 0x08; //   4bits: 0001 - 1 channel (front-center); 1bit: 0 - 1024 frame size;  
                      //   1bit: 0 - depends on core; 1bit: 0 - ext. flag */  
  
      UMC::MediaData codecData;  
      codecData.SetBufferPointer(&amp;amp;data[0],2);  
      codecData.SetDataSize(2);  
                
      UMC::AACDecoderParams params;      
      params.m_info_in.stream_type = UMC::AAC_MPEG4_STREAM;  
      params.m_pData = &amp;amp;codecData;  
      params.ModeDecodeHEAACprofile = HEAAC_LP_MODE;
      params.ModeDwnsmplHEAACprofile = HEAAC_DWNSMPL_OFF;
      params.flag_SBR_support_lev = SBR_DISABLE;
      // returns UMC_OK  
      UMC::Status status = decoder.Init(&amp;amp;params);  

      decoder.GetInfo(&amp;amp;params);
      Ipp32s needSize = params.m_SuggestedOutputSize;

      // decoding
      // live555 takes care about AU Header removing from data
      UMC::MediaData in;
      status = in.SetBufferPointer((Ipp8u *)data, i_size);
      status = in.SetDataSize(i_size);
      
      UMC::AudioData out;
      status = out.Alloc(needSize);
      status = decoder.GetFrame(&amp;amp;in,&amp;amp;out);
[/cpp]&lt;/PRE&gt; &lt;DIV style="font-family: verdana, sans-serif;"&gt;&lt;/DIV&gt;&lt;DIV style="font-family: verdana, sans-serif;"&gt;My impression from playing with UMC - you need more samples how to use UMC classes. &lt;BR /&gt;In my case I would love if you give me a clue in manual that for RTP I need to set UMC::AAC_MPEG4_STREAM... It is not obvious as described in your current documentation.&lt;/DIV&gt;</description>
      <pubDate>Thu, 04 Nov 2010 20:06:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820876#M4722</guid>
      <dc:creator>ltochinski</dc:creator>
      <dc:date>2010-11-04T20:06:29Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820877#M4723</link>
      <description>&lt;BR /&gt;&lt;BR /&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;Thanks for your update. I agree we could have some improvement on the document in this part. I willcreate an internal request on adding information on this RTP stream part.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Chao&lt;BR /&gt;</description>
      <pubDate>Fri, 05 Nov 2010 03:07:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820877#M4723</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-11-05T03:07:17Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820878#M4724</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I'm having trouble getting the decoder working for a raw aac stream, trying to use the code above. &lt;BR /&gt;&lt;BR /&gt;My config code is 0x1190. 2 channels, 48000Hz,. When I get to the call to decoder.GetInfo this returns an error code 3 (decoder not ready). Which I'd probably expect since I have't yet decoded a frame, but does this mean this call in the above example was also returning this error?&lt;BR /&gt;&lt;BR /&gt;Then the value in params.m_SuggestedOutputSize is 40960 which seems very big for one frame of aac (1024 pcm samples)? &lt;BR /&gt;&lt;BR /&gt;Then when I make the call to decoder.GetFrame I get an error -882 (invalid stream), does anyone have any ideas why this results in an error?&lt;BR /&gt;</description>
      <pubDate>Thu, 03 Mar 2011 11:27:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820878#M4724</guid>
      <dc:creator>michael_weaver</dc:creator>
      <dc:date>2011-03-03T11:27:22Z</dc:date>
    </item>
    <item>
      <title>AAC decoder IPP 6.1</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820879#M4725</link>
      <description>In fact I've just tried running the code above, with i_size = 2 and I still get a -882 error when calling GetFrame. Can anyone help?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Michael</description>
      <pubDate>Thu, 03 Mar 2011 11:55:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/AAC-decoder-IPP-6-1/m-p/820879#M4725</guid>
      <dc:creator>michael_weaver</dc:creator>
      <dc:date>2011-03-03T11:55:13Z</dc:date>
    </item>
  </channel>
</rss>

