<?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: I,P, and B Frame VC1Encoder and VC1Decoder example(s) in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856613#M7210</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/2999"&gt;Dennis W&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Is there any example code of how to encode and decode a set of frames as a block set up to use a non-zero number of B Frames, preferably with the VC1Encoder and VC1Decoder, but an example with any of the UMC encoder/decoder classes would be helpful?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dennis&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Something like this would work :&lt;BR /&gt;&lt;BR /&gt;UMC::VC1EncoderParams videoParams;&lt;BR /&gt;videoParams.profile = UMC_VC1_ENCODER::VC1_ENC_PROFILE_A;&lt;BR /&gt;videoParams.info.clip_info.width = 1920;&lt;BR /&gt;videoParams.info.clip_info.height = 1080;&lt;BR /&gt;videoParams.info.color_format = UMC::YUV420;&lt;BR /&gt;videoParams.m_uiGOPLength = 12;&lt;BR /&gt;videoParams.m_uiBFrmLength = n;&lt;BR /&gt;&lt;BR /&gt;UMC::VC1VideoEncoder encoder;&lt;BR /&gt;encoder.Init(&amp;amp;videoParams);&lt;BR /&gt;</description>
    <pubDate>Thu, 01 Oct 2009 17:58:33 GMT</pubDate>
    <dc:creator>oxydius</dc:creator>
    <dc:date>2009-10-01T17:58:33Z</dc:date>
    <item>
      <title>I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856612#M7209</link>
      <description>Is there any example code of how to encode and decode a set of frames as a block set up to use a non-zero number of B Frames, preferably with the VC1Encoder and VC1Decoder, but an example with any of the UMC encoder/decoder classes would be helpful?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dennis</description>
      <pubDate>Thu, 01 Oct 2009 14:38:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856612#M7209</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-01T14:38:55Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856613#M7210</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/2999"&gt;Dennis W&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Is there any example code of how to encode and decode a set of frames as a block set up to use a non-zero number of B Frames, preferably with the VC1Encoder and VC1Decoder, but an example with any of the UMC encoder/decoder classes would be helpful?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Dennis&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Something like this would work :&lt;BR /&gt;&lt;BR /&gt;UMC::VC1EncoderParams videoParams;&lt;BR /&gt;videoParams.profile = UMC_VC1_ENCODER::VC1_ENC_PROFILE_A;&lt;BR /&gt;videoParams.info.clip_info.width = 1920;&lt;BR /&gt;videoParams.info.clip_info.height = 1080;&lt;BR /&gt;videoParams.info.color_format = UMC::YUV420;&lt;BR /&gt;videoParams.m_uiGOPLength = 12;&lt;BR /&gt;videoParams.m_uiBFrmLength = n;&lt;BR /&gt;&lt;BR /&gt;UMC::VC1VideoEncoder encoder;&lt;BR /&gt;encoder.Init(&amp;amp;videoParams);&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 17:58:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856613#M7210</guid>
      <dc:creator>oxydius</dc:creator>
      <dc:date>2009-10-01T17:58:33Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856614#M7211</link>
      <description>&lt;DIV style="margin:0px;"&gt;I understand the basic settings of the parameters. I was looking for an broader example of the flow of calls to the encoder and decoder GetFrame methods&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 18:05:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856614#M7211</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-01T18:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856615#M7212</link>
      <description>After that encoder Init call, you must do the following :&lt;BR /&gt;&lt;BR /&gt;UMC::VideoData input;&lt;BR /&gt;input.Init(1920, 1080, 3, 8);&lt;BR /&gt;input.SetColorFormat(UMC::YUV420);&lt;BR /&gt;...&lt;BR /&gt;input.SetPlanePointer &amp;amp;&amp;amp; input.SetPlanePitch&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;UMC::MediaData vc1;&lt;BR /&gt;&lt;BR /&gt;UMC::Status status = encoder.GetFrame(&amp;amp;input, &amp;amp;vc1);&lt;BR /&gt;&lt;BR /&gt;status may be UMC::UMC_ERR_NOT_ENOUGH_BUFFER if you didn't make vc1 large enough.&lt;BR /&gt;it may be UMC::UMC_OK if there's an output frame in the vc1 buffer.&lt;BR /&gt;otherwise, it may be UMC::UMC_ERR_NOT_ENOUGH_DATA if it needs more input frames before outputting your B frames.&lt;BR /&gt;At the end of the encode process, you'll need to call encoder.GetFrame(0, &amp;amp;vc1) to flush such pending frames.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Oct 2009 21:37:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856615#M7212</guid>
      <dc:creator>oxydius</dc:creator>
      <dc:date>2009-10-01T21:37:33Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856616#M7213</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/428122"&gt;oxydius&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;After that encoder Init call, you must do the following : ...&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;I have the encoder working and it basically works with the VC1Decoder when I couple it with a splitter.&lt;BR /&gt;&lt;BR /&gt;I set the decoder params to basically the same params as the encoder including the advanced profile.&lt;BR /&gt;&lt;BR /&gt;The problem with the splitter is that basically there is only a FileReader that comes as is with Intel samples.&lt;BR /&gt;Basically what I want to do issimulate where I use GOP and BFrames but I want to "stream' the frames to the decoder as they become available from the decoder. For example, I may have a 100 frame clip but I want to process it in groups of 10 frames with 5 BFrames but I want to "stream" individual frames to the decoder as they are available from the encoder, and as frames are available from the decoder, render them.&lt;BR /&gt;&lt;BR /&gt;The issue that I ran into is that a FileWriter with the encoder and a FileReader with the decoder splitter cannot write and read in tandem so I have to encode in blocks of 10 and then decode and render in blocks of 10.&lt;BR /&gt;&lt;BR /&gt;For the long term I can develop a StreamWriter and StreamReader, but the for the short term I would like to attempt to use the existing UMC classes. Is it necessary to use a VC1Splitter with the VC1Decoder in advanced profile? I get an exception when I tried. Can I decode each individual output from the encoder when using GOP and BFrames and how do I do it?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;Dennis&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sat, 03 Oct 2009 18:02:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856616#M7213</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-03T18:02:30Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856617#M7214</link>
      <description>Each UMC::MediaData element is a standalone frame which can be passed to the decoder as is. Basically, if you refer to the VC-1 standard, they are raw BDU's, or Bitstream Data Units with their own header.&lt;BR /&gt;&lt;BR /&gt;You could do :&lt;BR /&gt;encoder.GetFrame(&amp;amp;in, &amp;amp;out);&lt;BR /&gt;decoder.GetFrame(&amp;amp;out, &amp;amp;in);&lt;BR /&gt;&lt;BR /&gt;without ever using the splitter or file I/O classes.&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Oct 2009 06:52:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856617#M7214</guid>
      <dc:creator>oxydius</dc:creator>
      <dc:date>2009-10-06T06:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856618#M7215</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/428122"&gt;oxydius&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Each UMC::MediaData element is a standalone frame which can be passed to the decoder as is. Basically, if you refer to the VC-1 standard, they are raw BDU's, or Bitstream Data Units with their own header.&lt;BR /&gt;&lt;BR /&gt;You could do :&lt;BR /&gt;encoder.GetFrame(&amp;amp;in, &amp;amp;out);&lt;BR /&gt;decoder.GetFrame(&amp;amp;out, &amp;amp;in);&lt;BR /&gt;&lt;BR /&gt;without ever using the splitter or file I/O classes.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Will that work in the advanced profile, I thought that in that case the decoder used the splitter to possibly reconstruct frames from more that one MediaData instance? But I will try it.</description>
      <pubDate>Tue, 06 Oct 2009 17:22:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856618#M7215</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-06T17:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856619#M7216</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/2999"&gt;Dennis W&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Will that work in the advanced profile, I thought that in that case the decoder used the splitter to possibly reconstruct frames from more that one MediaData instance? But I will try it.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Advanced profile is the VC-1 standard; other profiles are actually WMV and do not lend themselves to being used outside a proprietary ASF container. In the advanced/VC-1 mode, each MediaData has its own 001 delimiter and frame header, telling you whether it's a I, P or B frame.&lt;BR /&gt;&lt;BR /&gt;The only reconstruction done by the decoder is holding on to B frames until the subsequent MediaData is fed to transform the B frame into a raw YUV image.&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Oct 2009 20:34:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856619#M7216</guid>
      <dc:creator>oxydius</dc:creator>
      <dc:date>2009-10-06T20:34:40Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856620#M7217</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/428122"&gt;oxydius&lt;/A&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;
&lt;DIV style="margin:0px;"&gt;The only reconstruction done by the decoder is holding on to B frames until the subsequent MediaData is fed to transform the B frame into a raw YUV image.&lt;BR /&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;When I tried to pass the MediaData output from theVC1Encoder::GetFrame to the VC1Decoder::GetFrame only UMC_ERR_NOT_ENOUGH_DATA was returned, never UMC::UMC_OK. I initialized the encoder and decoder with the same parameters when I was trying the splitter which worked.</description>
      <pubDate>Wed, 07 Oct 2009 00:23:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856620#M7217</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-07T00:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856621#M7218</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/2999"&gt;Dennis W&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;When I tried to pass the MediaData output from theVC1Encoder::GetFrame to the VC1Decoder::GetFrame only UMC_ERR_NOT_ENOUGH_DATA was returned, never UMC::UMC_OK. I initialized the encoder and decoder with the same parameters when I was trying the splitter which worked.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;I solved that with some code changes, and I get through the clip, however, I am getting some flickering from frame to frame which varies on the value of GOPLength and BFrmLength. This flickers between complete frames, blocky frames and purple background. It appears I have something out of sync in my code.</description>
      <pubDate>Wed, 07 Oct 2009 02:16:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856621#M7218</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-07T02:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: I,P, and B Frame VC1Encoder and VC1Decoder example(s)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856622#M7219</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/2999"&gt;Dennis W&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;I solved that with some code changes, and I get through the clip, however, I am getting some flickering from frame to frame which varies on the value of GOPLength and BFrmLength. This flickers between complete frames, blocky frames and purple background. It appears I have something out of sync in my code.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;It appears that the flickering problem goes away when the BFrmLength is one less than GOPLength, say GOPLength=4 and BFrmLength=3. I need to read the VC-1 specification to become more familiar with the options.</description>
      <pubDate>Wed, 07 Oct 2009 03:57:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/I-P-and-B-Frame-VC1Encoder-and-VC1Decoder-example-s/m-p/856622#M7219</guid>
      <dc:creator>Dennis_W</dc:creator>
      <dc:date>2009-10-07T03:57:49Z</dc:date>
    </item>
  </channel>
</rss>

