<?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: G729 decoder example with voipong in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974888#M20873</link>
    <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;In case of G729, I thing voipong just saves payload data from RTP packet without modification.&lt;/DIV&gt;
&lt;DIV&gt;RFC 3551 tells thatG729 RTP packet may consist of zero or moreactive frames (15 or 10 or8 bytes, it depends on used bitrate.), followed by zero or oneSID frames (2 bytes).&lt;/DIV&gt;
&lt;DIV&gt;In your case I assume that only G729D of SID frame are present.&lt;/DIV&gt;
&lt;DIV&gt;Please try to do the following experiment:&lt;/DIV&gt;
&lt;DIV&gt;///&lt;/DIV&gt;
&lt;DIV&gt;int pckLen; - packet length&lt;/DIV&gt;
&lt;DIV&gt;char *pPayloadData; - pointer to the data&lt;/DIV&gt;
&lt;DIV&gt;int i;&lt;/DIV&gt;
&lt;DIV&gt;while(pckLen &amp;gt;= 8) {&lt;/DIV&gt;
&lt;DIV&gt; decode G729D frame;&lt;/DIV&gt;
&lt;DIV&gt;pckLen -= 8;&lt;/DIV&gt;
&lt;DIV&gt;pPayloadData -= 8;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;}&lt;/DIV&gt;</description>
    <pubDate>Tue, 20 Sep 2005 11:24:51 GMT</pubDate>
    <dc:creator>Igor_B_Intel1</dc:creator>
    <dc:date>2005-09-20T11:24:51Z</dc:date>
    <item>
      <title>G729 decoder example with voipong</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974887#M20872</link>
      <description>Hi...&lt;BR /&gt;&lt;BR /&gt;I want to use the example G729 decoder with a file raw G729 captured by the voipong. Since I read in a previous message, the decoder receives a ITU-T test vector format file. The file captured by the voipong indicates that the length of the packages G729 changes between 28,16,8 and 2. I checked the code of the encoder and noticed that the function Bits2Ref () (convert to ITU-T test format) handles length of 10,8,15 and 2. I want to know if the lengths indicated by the voipong can be handled by the IPP or simply they mean something else like union of several packages (for example 28: 10+10+8).&lt;BR /&gt;&lt;BR /&gt;Thanks &lt;BR /&gt;&lt;BR /&gt;Gladys&lt;BR /&gt;&lt;BR /&gt;PD: my language is spanish, so my english is not so good.</description>
      <pubDate>Tue, 20 Sep 2005 02:55:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974887#M20872</guid>
      <dc:creator>gcarrillo</dc:creator>
      <dc:date>2005-09-20T02:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: G729 decoder example with voipong</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974888#M20873</link>
      <description>&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;In case of G729, I thing voipong just saves payload data from RTP packet without modification.&lt;/DIV&gt;
&lt;DIV&gt;RFC 3551 tells thatG729 RTP packet may consist of zero or moreactive frames (15 or 10 or8 bytes, it depends on used bitrate.), followed by zero or oneSID frames (2 bytes).&lt;/DIV&gt;
&lt;DIV&gt;In your case I assume that only G729D of SID frame are present.&lt;/DIV&gt;
&lt;DIV&gt;Please try to do the following experiment:&lt;/DIV&gt;
&lt;DIV&gt;///&lt;/DIV&gt;
&lt;DIV&gt;int pckLen; - packet length&lt;/DIV&gt;
&lt;DIV&gt;char *pPayloadData; - pointer to the data&lt;/DIV&gt;
&lt;DIV&gt;int i;&lt;/DIV&gt;
&lt;DIV&gt;while(pckLen &amp;gt;= 8) {&lt;/DIV&gt;
&lt;DIV&gt; decode G729D frame;&lt;/DIV&gt;
&lt;DIV&gt;pckLen -= 8;&lt;/DIV&gt;
&lt;DIV&gt;pPayloadData -= 8;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;}&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Sep 2005 11:24:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974888#M20873</guid>
      <dc:creator>Igor_B_Intel1</dc:creator>
      <dc:date>2005-09-20T11:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: G729 decoder example with voipong</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974889#M20874</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Hi,&lt;/DIV&gt;
&lt;DIV&gt;In case of G729, I thing voipong just saves payload data from RTP packet without modification.&lt;/DIV&gt;
&lt;DIV&gt;RFC 3551 tells thatG729 RTP packet may consist of zero or moreactive frames (15 or 10 or8 bytes, it depends on used bitrate.), followed by zero or oneSID frames (2 bytes). Without any payload headers.&lt;/DIV&gt;
&lt;DIV&gt;In your case I assume that only G729D (6.4 kbits/s)and SID frame are present (because there are packets with 8 bytes length). There are variable packet length in ms. And your file doesn't conform to RFC 3551.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;According to the assumptions above please try to do the following experiment:&lt;/DIV&gt;
&lt;DIV&gt;///&lt;/DIV&gt;
&lt;DIV&gt;char *pDecPCMData; - decoded bitsream;&lt;/DIV&gt;
&lt;DIV&gt;USC_Fxns USC_CODEC_Fxns = &lt;FONT size="2"&gt;USC_G729I_Fnxs; /*Linked to the G729I codec*/&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;USC_Handle decoder;/decoder handle*/&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;USC_Bitsream in;&lt;/DIV&gt;
&lt;DIV&gt;USC_PCMStream out;&lt;/DIV&gt;
&lt;DIV&gt;////&lt;/DIV&gt;
&lt;DIV&gt;init decoder!!!!!&lt;/DIV&gt;
&lt;DIV&gt;/////&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;{&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;/*loop for one packet*/&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;int pckLen; - packet length&lt;/DIV&gt;
&lt;DIV&gt;char *pPayloadData; - pointer to the data from the voipong's file&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;/*Decode active G729D frames*/&lt;/DIV&gt;
&lt;DIV&gt;while(pckLen &amp;gt;= 8) {&lt;/DIV&gt;
&lt;DIV&gt;in.nbytes = 8;&lt;/DIV&gt;
&lt;DIV&gt;in.frametype = 2;/*Active G729D frame*/&lt;/DIV&gt;
&lt;DIV&gt;in.pBuffer = pPayloadData;&lt;/DIV&gt;
&lt;DIV&gt;out.pBuffer = pDecPCMData;&lt;/DIV&gt;
&lt;DIV&gt;USC_CODEC_Fxns-&amp;gt;sts.Decode(decoder, &amp;amp;in, &amp;amp;out);&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;pckLen -= 8;&lt;/DIV&gt;
&lt;DIV&gt;pPayloadData += 8;&lt;/DIV&gt;
&lt;DIV&gt;pDecPCMData += 160;&lt;/DIV&gt;
&lt;DIV&gt;}&lt;/DIV&gt;
&lt;DIV&gt;/*Decode SID frames id thay are present*/&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;while(pckLen &amp;gt;= 0) {&lt;/DIV&gt;
&lt;DIV&gt;in.nbytes = 2;
&lt;DIV&gt;in.frametype = 1;/*SID frame*/&lt;/DIV&gt;
&lt;DIV&gt;in.pBuffer = pPayloadData;&lt;/DIV&gt;
&lt;DIV&gt;out.pBuffer = pDecPCMData;&lt;/DIV&gt;
&lt;DIV&gt;USC_CODEC_Fxns-&amp;gt;sts.Decode(decoder, &amp;amp;in, &amp;amp;out);&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;pckLen -= 2;&lt;/DIV&gt;
&lt;DIV&gt;pPayloadData += 2;&lt;/DIV&gt;
&lt;DIV&gt;pDecPCMData += 160;&lt;/DIV&gt;
&lt;DIV&gt;/*It may be nessesary to add two untransmitted frames*/&lt;/DIV&gt;
&lt;DIV&gt;/*******************&lt;/DIV&gt;
&lt;DIV&gt;in.nbytes = 0;
&lt;DIV&gt;in.frametype = 0;/*Untransmitted frame*/&lt;/DIV&gt;
&lt;DIV&gt;in.pBuffer = pPayloadData;&lt;/DIV&gt;
&lt;DIV&gt;out.pBuffer = pDecPCMData;&lt;/DIV&gt;
&lt;DIV&gt;USC_CODEC_Fxns-&amp;gt;sts.Decode(decoder, &amp;amp;in, &amp;amp;out);&lt;/DIV&gt;
&lt;DIV&gt;pDecPCMData += 160;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;in.nbytes = 0;
&lt;DIV&gt;in.frametype = 0;/*Untransmitted frame*/&lt;/DIV&gt;
&lt;DIV&gt;in.pBuffer = pPayloadData;&lt;/DIV&gt;
&lt;DIV&gt;out.pBuffer = pDecPCMData;&lt;/DIV&gt;
&lt;DIV&gt;USC_CODEC_Fxns-&amp;gt;sts.Decode(decoder, &amp;amp;in, &amp;amp;out);&lt;/DIV&gt;
&lt;DIV&gt;pDecPCMData += 160;&lt;/DIV&gt;
&lt;DIV&gt;**********************/&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;}&lt;/DIV&gt;
&lt;DIV&gt;}&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Igor S. Belyakov&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Sep 2005 12:14:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974889#M20874</guid>
      <dc:creator>Igor_B_Intel1</dc:creator>
      <dc:date>2005-09-20T12:14:23Z</dc:date>
    </item>
    <item>
      <title>Can you please explain the</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974890#M20875</link>
      <description>&lt;P&gt;Can you please explain the case of G729A where the input buffers are coming in different bytes,........but most of the input buffers are 22 bytes&lt;/P&gt;

&lt;P&gt;I can execute 2 loops of 10 ms frames and 2 bytes are remaing........&lt;/P&gt;

&lt;P&gt;Please suggest me the actual steps to be taken for g729a decoding&lt;/P&gt;</description>
      <pubDate>Sun, 04 Oct 2015 12:50:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/G729-decoder-example-with-voipong/m-p/974890#M20875</guid>
      <dc:creator>arafath_h_</dc:creator>
      <dc:date>2015-10-04T12:50:26Z</dc:date>
    </item>
  </channel>
</rss>

