<?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 I am still looking for a in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Decoding-Streaming-H-264-Packets/m-p/958122#M19316</link>
    <description>I am still looking for a solution to the problem I've described above, please provide assistance.</description>
    <pubDate>Thu, 13 Dec 2012 20:54:23 GMT</pubDate>
    <dc:creator>Stephen_V_1</dc:creator>
    <dc:date>2012-12-13T20:54:23Z</dc:date>
    <item>
      <title>Decoding Streaming H.264 Packets</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Decoding-Streaming-H-264-Packets/m-p/958121#M19315</link>
      <description>&lt;P&gt;I am using IPP 7.1 with the sample UMC code 7.1.0.011&lt;/P&gt;
&lt;P&gt;I have an issue with decoding streaming H.264 which I suspect is in the way I'm using the Decoder, but I don't see how else to do things.&amp;nbsp; My issue is when I call the "GetFrame" function of the H264VideoDecoder UMC class, I may not have enough data for the decoder to get a frame.&amp;nbsp; Sometimes the function returns an error indicating not enough data (which would be fine), but other times it returns OK but the decoded frame is corrupted in some manner.&amp;nbsp; If I take the same data and buffer up more data before trying to decode, the resultant decoded frame looks fine.&amp;nbsp; My question is, how am I supposed to know whether I have enough dadta for a good decoded frame prior to actually doing the encoding?&amp;nbsp; Is there a proper method for this?&lt;/P&gt;
&lt;P&gt;Note:&amp;nbsp; I am not using a splitter class, I am simply using VideoData and MediaData objects which I initialize with my decoder parameters.&amp;nbsp; Below is my function that I call to decode the data and hopefully produce a single decoded frame:&lt;/P&gt;
&lt;P&gt;int DecodeStream(Ipp8u *inVideoData, int videoDataSize, Ipp8u *outVideoData, &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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ipp32u&amp;amp; frameNumber, bool&amp;amp; frameReady, int *bytesDecoded)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; UMC::Status status; &lt;BR /&gt;&amp;nbsp; frameReady = false;&lt;BR /&gt;&amp;nbsp; *bytesDecoded = 0;&lt;BR /&gt;&amp;nbsp; Ipp64u ptrBefore = (Ipp64u)inVideoData;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if(videoDataSize &amp;lt; 0)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No data to decode&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; // pDataIn is a MediaData pointer, pDataOut is a VideoData pointer&lt;BR /&gt;&amp;nbsp; // Set the buffer pointer and sizes to what is passed in for decoding&lt;BR /&gt;&amp;nbsp; pDataIn-&amp;gt;SetBufferPointer(inVideoData, videoDataSize);&lt;BR /&gt;&amp;nbsp; pDataIn-&amp;gt;SetDataSize(videoDataSize);&lt;BR /&gt;&amp;nbsp; pDataOut-&amp;gt;SetBufferPointer(outVideoData, dstFrameSize);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; // Decode the input video&lt;BR /&gt;&amp;nbsp; status&amp;nbsp; = pDecoder-&amp;gt;GetFrame(pDataIn, pDataOut);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if (status == UMC::UMC_OK)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; frameReady = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *bytesDecoded = (Ipp64u)pDataIn-&amp;gt;GetDataPointer() - ptrBefore;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; frameNumber++;&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; return status;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Please help and let me know if there is a better way to do this?&amp;nbsp; The latency due to having to buffer up an unknown large amount of data is quite unacceptable.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Nov 2012 22:37:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Decoding-Streaming-H-264-Packets/m-p/958121#M19315</guid>
      <dc:creator>Stephen_V_1</dc:creator>
      <dc:date>2012-11-26T22:37:10Z</dc:date>
    </item>
    <item>
      <title>I am still looking for a</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Decoding-Streaming-H-264-Packets/m-p/958122#M19316</link>
      <description>I am still looking for a solution to the problem I've described above, please provide assistance.</description>
      <pubDate>Thu, 13 Dec 2012 20:54:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Decoding-Streaming-H-264-Packets/m-p/958122#M19316</guid>
      <dc:creator>Stephen_V_1</dc:creator>
      <dc:date>2012-12-13T20:54:23Z</dc:date>
    </item>
  </channel>
</rss>

