<?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 GetFrame always returns -996 in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795650#M2736</link>
    <description>Hi Manca1, &lt;BR /&gt;&lt;BR /&gt;Could you attached the mp4 file? Or Have you tried the sample file with the simple_player.exe? which is supposed be abletodecode the h264 video and aac audio too. Can it decode/play the stream?&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying H.</description>
    <pubDate>Thu, 14 Jul 2011 02:26:17 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2011-07-14T02:26:17Z</dc:date>
    <item>
      <title>GetFrame always returns -996</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795649#M2735</link>
      <description>Hi there,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I've been stuck with this IPP h264 decoder for a week now. I tried everything to make it decode some data, but it simply refuses to work! I tried implementing IPP MP4 Splitter and getting data from the valid H264 stream (mp4 video file) and then passing data to decoder so that I can render the video or simply write it to file. GetFrame() always returned -996, even though the data was valid and there.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Please let me know if you have some ideas why this don't work. Here's the code (it's basically the splitter sample you have on the site):&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;
&lt;PRE&gt;	vm_string_strcpy(readerParams.m_file_name, inputfilename);
	if((status = reader.Init(&amp;amp;readerParams))!= UMC::UMC_OK) 
       return;
	splitterParams.m_lFlags = UMC::VIDEO_SPLITTER;
	splitterParams.m_pDataReader = &amp;amp;reader;
    if((status = Splitter.Init(splitterParams))!= UMC::UMC_OK)
	   return;
	Splitter.GetInfo(&amp;amp;streamInfo);
    for (videoTrack = 0; videoTrack &amp;lt;  streamInfo-&amp;gt;m_nOfTracks; videoTrack++) {
      if (streamInfo-&amp;gt;m_ppTrackInfo[videoTrack]-&amp;gt;m_Type == UMC::TRACK_H264)
           break;
    }
	videoInfo = (UMC::VideoStreamInfo*)(streamInfo-&amp;gt;m_ppTrackInfo[videoTrack]-&amp;gt;m_pStreamInfo);
	if(videoInfo-&amp;gt;stream_type!=UMC::H264_VIDEO)
        return;
    videoDecParams.info =  (*videoInfo);
	videoDecParams.m_pData = streamInfo-&amp;gt;m_ppTrackInfo[videoTrack]-&amp;gt;m_pDecSpecInfo;
	videoDecParams.numThreads = 1;
    videoDecoder = (UMC::VideoDecoder*)(new UMC::H264VideoDecoder());
	if((status = videoDecoder-&amp;gt;Init(&amp;amp;videoDecParams))!= UMC::UMC_OK)
		return;

	fwRenderParams.out_data_template.Init(videoInfo-&amp;gt;clip_info.width, videoInfo-&amp;gt;clip_info.height, videoInfo-&amp;gt;color_format);
	fwRenderParams.pOutFile = outputfilename;

	if(status = fwRender.Init(&amp;amp;fwRenderParams)!= UMC::UMC_OK)
		return;

	Splitter.Run();
	do
	{   do{ 
		     if (in.GetDataSize() &amp;lt; 4) {
	    	     do{ 
	              status= Splitter.GetNextData(&amp;amp;in,videoTrack);
			       if(status==UMC::UMC_ERR_NOT_ENOUGH_DATA)
   			            vm_time_sleep(5);
			      }while(status==UMC::UMC_ERR_NOT_ENOUGH_DATA);
			      if(((status != UMC::UMC_OK) &amp;amp;&amp;amp; (status != UMC::UMC_ERR_END_OF_STREAM))||
				     (status == UMC::UMC_ERR_END_OF_STREAM)&amp;amp;&amp;amp; (in.GetDataSize()&amp;lt;4)) {
                        exit_flag=1;
				  }
             }
			 fwRender.LockInputBuffer(&amp;amp;out);
		     status = videoDecoder-&amp;gt;GetFrame(&amp;amp;in,&amp;amp;out);
    	  	 fwRender.UnLockInputBuffer(&amp;amp;out);
		     fwRender.RenderFrame();
	     }while(!exit_flag &amp;amp;&amp;amp; (status == UMC::UMC_ERR_NOT_ENOUGH_DATA || status == UMC::UMC_ERR_SYNC));
	 }while (exit_flag!=1);

	 do{  
		 fwRender.LockInputBuffer(&amp;amp;out);
	     status  = videoDecoder-&amp;gt;GetFrame(NULL,&amp;amp;out);
	     fwRender.UnLockInputBuffer(&amp;amp;out);
         fwRender.RenderFrame();
	}while(status == UMC::UMC_OK);	&lt;/PRE&gt;
&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using IPP v7 libraries. And the sample file I'm trying to decode is valid .mp4 with h264 video and aac audio.
&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Jul 2011 13:14:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795649#M2735</guid>
      <dc:creator>manca1</dc:creator>
      <dc:date>2011-07-13T13:14:50Z</dc:date>
    </item>
    <item>
      <title>GetFrame always returns -996</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795650#M2736</link>
      <description>Hi Manca1, &lt;BR /&gt;&lt;BR /&gt;Could you attached the mp4 file? Or Have you tried the sample file with the simple_player.exe? which is supposed be abletodecode the h264 video and aac audio too. Can it decode/play the stream?&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying H.</description>
      <pubDate>Thu, 14 Jul 2011 02:26:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795650#M2736</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2011-07-14T02:26:17Z</dc:date>
    </item>
    <item>
      <title>GetFrame always returns -996</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795651#M2737</link>
      <description>Hey Ying,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Actuallty I couldn't run sample_player.exe. I complied it along with all the libs it uses, but it won't run. Gives me some weird error than no manifest or something like that doesn't exist. The code I have in my sample is basically identically to the one sample_player uses. So I guess it won't be able to decode my sample as well.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;See attached file for the mp4 I'm trying to decode.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thanks a lot!&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 14 Jul 2011 08:25:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/GetFrame-always-returns-996/m-p/795651#M2737</guid>
      <dc:creator>manca1</dc:creator>
      <dc:date>2011-07-14T08:25:13Z</dc:date>
    </item>
  </channel>
</rss>

