<?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: Simple mpg encoder... in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890422#M11368</link>
    <description>&lt;P&gt;I think you need to add ippiRGBToYUV420_8u_C3P3R function to convert your RGB data to format which is required by YUV reader. The reason is that UMC encoders take YUV420 format as an input (otherwise conversion is required)&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
    <pubDate>Tue, 30 Jan 2007 23:37:48 GMT</pubDate>
    <dc:creator>Vladimir_Dudnik</dc:creator>
    <dc:date>2007-01-30T23:37:48Z</dc:date>
    <item>
      <title>Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890417#M11363</link>
      <description>In our (CAD) application we have a simple video export option based on a stadard Microsoft codec package. The problems started with Vista, as this codec package refused to install. Therefore we're looking for another solution...&lt;BR /&gt;&lt;BR /&gt;To put it simple, we have a set of frames/images that we'd like to encode to some kind of video that can be read by pure Windows intallations (Me/2000 and up). I guess plain old mpg1 would do the trick, but it isn't supported by IPP? Well, maybe some of the other supported formats would fit the bill...&lt;BR /&gt;&lt;BR /&gt;I know next to nothing about video codecs, so I was hoping that there were some extremely simple (IPP based) examples out there, like:&lt;BR /&gt;&lt;BR /&gt;encoder = InitEncoder(outFile, width, height, fps, quality [, numberOfFrames]);&lt;BR /&gt;encoder-&amp;gt;AddFrame(image1);&lt;BR /&gt;

encoder-&amp;gt;AddFrame(image2);&lt;BR /&gt;

encoder-&amp;gt;AddFrame(image3);&lt;BR /&gt;

...&lt;BR /&gt;encoder-&amp;gt;Close();&lt;BR /&gt;


&lt;BR /&gt;I'm sure this is TOO simple, and that I'm hoping for too much (and that I'm over my head), but if there was an example that was somewhere in the neighborhood, I'd be very happy if anybody pointed to it for me :-)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 15 Jan 2007 21:31:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890417#M11363</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-01-15T21:31:18Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890418#M11364</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I would recommend you to take a look on IPP media sample, which contains big bunch of codecs and test applications:&lt;/P&gt;
&lt;P&gt;simple_player for playback and&lt;/P&gt;
&lt;P&gt;video_encoder_con to encode frames.&lt;/P&gt;
&lt;P&gt;Moreover, IPP encoders and decoders are threaded and you will automatically get benefit in performance from modern Core 2 Duo (or old SMP) systems.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2007 07:34:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890418#M11364</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-17T07:34:15Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890419#M11365</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;IMG src="https://community.intel.com/file/6745" /&gt; &lt;STRONG&gt;vdudnik:&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I would recommend you to take a look on IPP media sample, which contains big bunch of codecs and test applications:&lt;/P&gt;
&lt;P&gt;simple_player for playback and&lt;/P&gt;
&lt;P&gt;video_encoder_con to encode frames.&lt;/P&gt;
&lt;P&gt;Moreover, IPP encoders and decoders are threaded and you will automatically get benefit in performance from modern Core 2 Duo (or old SMP) systems.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;Sorry, but I cannot find any mention of video_encoder_con anywhere in the IPP media sample package... :-(&lt;BR /&gt;</description>
      <pubDate>Wed, 24 Jan 2007 22:05:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890419#M11365</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-01-24T22:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890420#M11366</link>
      <description>&lt;P&gt;Well, the correct name for IPP 5.2 beta is umc_video_enc_con, it is located in media_sampleapplications folder&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jan 2007 07:03:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890420#M11366</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-29T07:03:18Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890421#M11367</link>
      <description>Found it. Thank you so much&lt;IMG src="https://community.intel.com/file/6746" alt="smiley [:-)]" /&gt;&lt;BR /&gt;&lt;BR /&gt;I've tried the encoder, but it only outputs garbage. I suspect that this is because it requires YUV encoded files, and we export RGB encoded frames.&lt;BR /&gt;&lt;BR /&gt;I'm trying to skip the entire usage of "YUVReader" and read single (RGB encoded) .jpg files instead. I sure hope this is possible...&lt;BR /&gt;&lt;BR /&gt;Right now I'm messing about in VideoData trying to figure out what needs to be set for p_vidEncoder-&amp;gt;GetFrame to work...&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 30 Jan 2007 23:03:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890421#M11367</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-01-30T23:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890422#M11368</link>
      <description>&lt;P&gt;I think you need to add ippiRGBToYUV420_8u_C3P3R function to convert your RGB data to format which is required by YUV reader. The reason is that UMC encoders take YUV420 format as an input (otherwise conversion is required)&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jan 2007 23:37:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890422#M11368</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-30T23:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890423#M11369</link>
      <description>Thank you Vladimir, for your patience...&lt;BR /&gt;&lt;BR /&gt;Oh my God, this whole IPP thing sure &lt;B&gt;is &lt;/B&gt;low level... I'm starting to wonder if this is really something to bother getting into after all...&lt;BR /&gt;&lt;BR /&gt;I've noticed that several on this forum have asked for help reading jpg files, but as far as I've seen none has gotten any tangible answers... I've scoured through the image and media examples, but haven't found anything that helps me.&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;&lt;BR /&gt;Too ba, as I'm so close to getting something useful!&lt;BR /&gt;&lt;BR /&gt;All I want to do is to read a jpg file and use this data to fill in what's needed into the &lt;B&gt;p_dataIn &lt;/B&gt;structure to be used in the followin call umc_video_enc_con example:&lt;BR /&gt;&lt;BR /&gt;"mRetval = p_vidEncoder-&amp;gt;GetFrame(&lt;B&gt;p_dataIn&lt;/B&gt;, p_dataOut);"&lt;BR /&gt;&lt;BR /&gt;In the example &lt;B&gt;p_dataIn&lt;/B&gt; is provided by the YUVReader, which I was hoping to leave out alltogether by reading single jpg files.&lt;BR /&gt;&lt;BR /&gt;Ah, well...&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 31 Jan 2007 21:27:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890423#M11369</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-01-31T21:27:10Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890424#M11370</link>
      <description>&lt;P&gt;Well, IPP is Software Development Kit, which provides you optimized algorithms implementation and set of samples how to use that functionality. You need to spent some effort to integrate it into your application.&lt;/P&gt;
&lt;P&gt;You can read JPEG files with CJPEGDecoder class from JPEGView sample.Then, you may convertdecoded image into VideoData representation with using ippiRGBToYUV420 function. UMC video encoder taakes VideoData as an input. Please read more details inUMC manual.&lt;/P&gt;
&lt;P&gt;Let us know if youstill have any throubles with that, we will beglad to help you&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2007 21:51:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890424#M11370</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-31T21:51:57Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890425#M11371</link>
      <description>I'm so sorry, I hadn't downloaded the JPG samples as I though the JPG stuff was in the image samples... Talk about not using your eyes... :-(&lt;BR /&gt;&lt;BR /&gt;I'll have a go at the JPG examples right now.&lt;BR /&gt;</description>
      <pubDate>Wed, 31 Jan 2007 22:20:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890425#M11371</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-01-31T22:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890426#M11372</link>
      <description>&lt;P&gt;I've scrapped the whole jpg thing, as the ultimate goal is to eventually get uncompressed image data from our host application. Right now I'm trying to read a sequence of .bmp files instead. All seems to go fine, but the result video file is all purple... Obviously I've done something wrong. I'm unsure about this whole &lt;FONT size="2"&gt;ippiRGBToYUV420_8u_C3P3R&lt;/FONT&gt;thing...I'm probably not populating the right buffers, but I'm unsure how to proceed. Here's the code snippet that is supposed to encode the video from sinle .bmp images:&lt;/P&gt;
&lt;P&gt;---&lt;/P&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Encode video frame by frame&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;char&lt;/FONT&gt;&lt;FONT size="2"&gt; frameName[512];&lt;P&gt;&lt;/P&gt;
&lt;P&gt;BYTE inBuf[1000000];&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;for&lt;/FONT&gt;&lt;FONT size="2"&gt; (mFrameCount = 0; mFrameCount &amp;lt; maxNumFrames; mFrameCount++)&lt;P&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;m_csysinfo.GetCpuUsage();&lt;/P&gt;
&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Encoding frame: %d ... "&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFrameCount);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Load bmp file into 'inBuf'&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;sprintf(frameName, &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"v%05d.bmp"&lt;/FONT&gt;&lt;FONT size="2"&gt;, mFrameCount);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Reading input file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), frameName);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;FILE *inFile = vm_file_open(frameName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"rb"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!inFile)&lt;P&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't open input file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), frameName);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;err_code=9; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;len = fread(inBuf, 1, 1000000, inFile);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (inFile)&lt;P&gt;&lt;/P&gt;
&lt;P&gt;fclose(inFile);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Get to the meat of the BMP file&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;unsigned&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; offset = (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;unsigned&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)inBuf[10];&lt;P&gt;&lt;/P&gt;
&lt;P&gt;IppiSize roi = {mWidth, mHeight};&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; dstStep[3];&lt;P&gt;&lt;/P&gt;
&lt;P&gt;dstStep[0] = dstStep[1] = dstStep[2] = 0;&lt;/P&gt;
&lt;P&gt;Ipp8u* pDst[3];&lt;/P&gt;
&lt;P&gt;pDst[0] = pY;&lt;/P&gt;
&lt;P&gt;pDst[1] = pU;&lt;/P&gt;
&lt;P&gt;pDst[2] = pV;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Vladimir: &lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// I think you need to add ippiRGBToYUV420_8u_C3P3R function to convert your RGB data&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// to format which is required by YUV reader. The reason is that UMC encoders take YUV420&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// format as an input (otherwise conversion is required)&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;IppStatus ippStatus = ippiRGBToYUV420_8u_C3P3R(inBuf + (BYTE)offset, 0, pDst, dstStep, roi);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (ippStatus != ippStsNoErr)&lt;P&gt;&lt;/P&gt;
&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"ippiRGBToYUV420_8u_C3P3R failed with status: %d
"&lt;/FONT&gt;
&lt;FONT size="2"&gt;), ippStatus);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Encode video frame&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;ts = vm_time_get_tick();&lt;/P&gt;
&lt;P&gt;mRetval = p_vidEncoder-&amp;gt;GetFrame(p_dataIn, p_dataOut);&lt;/P&gt;
&lt;P&gt;te = vm_time_get_tick();&lt;/P&gt;
&lt;P&gt;time += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)(te - ts) / (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)tf;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (mRetval != UMC_OK &amp;amp;&amp;amp; mRetval != UMC_NOT_ENOUGH_DATA)&lt;P&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: encoding failed at %d source frame (exit with %d)!
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFrameCount, mRetval);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;err_code = 13;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;len = fwrite(p_dataOut-&amp;gt;GetDataPointer(), 1, p_dataOut-&amp;gt;GetDataSize(), outFile);&lt;/P&gt;
&lt;P&gt;mCompSize += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)len;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (len != p_dataOut-&amp;gt;GetDataSize())&lt;P&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Couldn't write to output file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), DstFileName);&lt;P&gt;&lt;/P&gt;
&lt;P&gt;err_code=11; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// extend p_dataOut data size to buffer size&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// assume data pointer isn't moved&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;
&lt;P&gt;p_dataOut-&amp;gt;SetDataSize(p_dataOut-&amp;gt;GetBufferSize());&lt;/P&gt;
&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" done
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;</description>
      <pubDate>Thu, 01 Feb 2007 18:04:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890426#M11372</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-01T18:04:51Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890427#M11373</link>
      <description>&lt;P&gt;BMP uses BGR channel order, so you need to call ippiBGRToYCbCr420_8u_C3P3R&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2007 18:23:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890427#M11373</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-02-01T18:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890428#M11374</link>
      <description>&lt;P&gt;Thank you again, Vladimir!&lt;/P&gt;
&lt;P&gt;Although it din't help. This wasn't entirely surpricing, since the (dis)order of the RGB channels shouldn't cause the constant green or purple screen that I get in the final video.&lt;/P&gt;
&lt;P&gt;I've done some more testing and found out the following:&lt;/P&gt;
&lt;P&gt;If I run my modified umc_video_enc_con with different codecs:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="WIDTH: 100%" cellspacing="1" cellpadding="1"&gt;

&lt;TBODY&gt;&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;codec&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;File size&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Playability&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;GSpot reports&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;m2&lt;/TD&gt;
&lt;TD&gt;246 kB&lt;/TD&gt;
&lt;TD&gt;Yes (green screen)&lt;/TD&gt;
&lt;TD&gt;Codec Not Installed&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;m4&lt;/TD&gt;
&lt;TD&gt;27 kB&lt;/TD&gt;
&lt;TD&gt;no&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Direct show: 0x80040265: Cannot playback file. Format no suppoerted&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;h264&lt;/TD&gt;
&lt;TD&gt;7 kB&lt;/TD&gt;
&lt;TD&gt;no&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Direct show: 0x80040265: Cannot playback file. Format no suppoerted&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;h263&lt;/TD&gt;
&lt;TD&gt;failed&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;h261&lt;/TD&gt;
&lt;TD&gt;failed&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;For h263 and h261 I got "Video encode initialization failed"&lt;/P&gt;
&lt;P&gt;I've ran the build file at ipp_samplemedia, and some sub builds failed:&lt;/P&gt;
&lt;P&gt;video_renders&lt;BR /&gt;audio_renders&lt;BR /&gt;umc_pipeline&lt;BR /&gt;audio_codecs&lt;BR /&gt;virtual_ac_5p1&lt;BR /&gt;umc_reverb_demo&lt;BR /&gt;simple_player&lt;BR /&gt;audio_codec_com_so&lt;BR /&gt;&lt;BR /&gt;All others passed. I don't know if this has anything to do with my problems, but thought that I should mention it.&lt;/P&gt;
&lt;P&gt;-Rune&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;but all video encoders passed.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2007 20:26:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890428#M11374</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-01T20:26:09Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890429#M11375</link>
      <description>&lt;P&gt;Hi Rune,&lt;/P&gt;
&lt;P&gt;IPP media sample should build without any problems. Did you read readme.htm first to see what might be needed for compilation of that sample? Can you attach log files for us to see what was the problem with build?&lt;/P&gt;
&lt;P&gt;If you try to play mpeg2 encoded stream on windows system, you should know that Windows do not have mpeg2 decoder installed by default.&lt;/P&gt;
&lt;P&gt;To see encoded video you can try simple_player application from IPP media sample, it supports all codecs provided in that sample (H.261, H.263, H.264, MPEG2, MPEG4, VC1)&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 05 Feb 2007 06:17:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890429#M11375</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-02-05T06:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890430#M11376</link>
      <description>Hmmm.... the latest DirectX SDK I was able to install on my Win2000Pro computer, was "Microsoft DirectX 9.0 SDK (Summer 2004)"&lt;BR /&gt;&lt;BR /&gt;I notice that this particular version is &lt;B&gt;not &lt;/B&gt;listed in &lt;FONT color="#0000ff"&gt;&lt;B&gt;directx_sdk.bat.&lt;/B&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;I guess this is not good at all... Do you have a link to a DX DSK that is "accepted by" ipp5.1 and still installable under W2kPro?&lt;BR /&gt;</description>
      <pubDate>Wed, 07 Feb 2007 20:51:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890430#M11376</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-07T20:51:18Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890431#M11377</link>
      <description>&lt;P&gt;I've now tried installing the oldest DX SDK that is mentioned in&lt;FONT color="#0000ff"&gt;&lt;STRONG&gt;directx_sdk.bat&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;, and&lt;/FONT&gt;can confrim that is is not installable under W2kPro...&lt;/P&gt;
&lt;P&gt;I have no idea how to proceed from here...&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2007 22:18:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890431#M11377</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-07T22:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890432#M11378</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;actually, I think you can use your old version of DX SDK (just need to tune path to headers and libraries in directx_sdk.bat). DX functionality is mainly used in renders.&lt;/P&gt;
&lt;P&gt;Vladimir&lt;/P&gt;</description>
      <pubDate>Wed, 07 Feb 2007 22:43:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890432#M11378</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-02-07T22:43:11Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890433#M11379</link>
      <description>&lt;P&gt;I finally just copied the two missing lib files from the DX SDK to the lib directory in the media tree. Now a build32 passes all sub builds without problems.&lt;/P&gt;
&lt;P&gt;BUT&lt;/P&gt;
&lt;P&gt;My encodings still works as before m2, m4 &amp;amp; h264creates very small (and unreadable) video files and h261 &amp;amp; h263 results in the following message:&lt;/P&gt;
&lt;P&gt;"Error: Video encoder initialization failed"&lt;/P&gt;
&lt;P&gt;I've included the complete modified video_enc_con.cpp file. Hope you can see where I've made a fool of myself:&lt;/P&gt;&lt;PRE&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;//&lt;/P&gt;&lt;P&gt;// INTEL CORPORATION PROPRIETARY INFORMATION&lt;/P&gt;&lt;P&gt;// This software is supplied under the terms of a license agreement or&lt;/P&gt;&lt;P&gt;// nondisclosure agreement with Intel Corporation and may not be copied&lt;/P&gt;&lt;P&gt;// or disclosed except in accordance with the terms of that agreement.&lt;/P&gt;&lt;P&gt;// Copyright(c) 2005-2006 Intel Corporation. All Rights Reserved.&lt;/P&gt;&lt;P&gt;//&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#define&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; SINGLE_FRAME_ENCODING 1&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#include&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"..includeutils.h"&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#include&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"vm_time.h"&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#include&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"umc_sys_info.h"&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#include&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"vm_sys_info.h"&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#define&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; MAX_FILELEN 1024&lt;P&gt;&lt;/P&gt;&lt;P&gt;UMC :: SysInfo m_csysinfo;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;int&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; encode(VideoEncoder *p_vidEncoder,&lt;P&gt;&lt;/P&gt;&lt;P&gt;VideoEncoderParams *p_vidEncoderParams,&lt;/P&gt;&lt;P&gt;UMCReadYUV *YUVReader,&lt;/P&gt;&lt;P&gt;vm_char *DstFileName,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; *framesEncoded,&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; *encoded_size,&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt; *enc_time)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;VideoData *p_dataIn = NULL;&lt;/P&gt;&lt;P&gt;MediaData *p_dataOut = NULL;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; mFrameCount = 0, err_code = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; mWidth, mHeight, mSize, maxNumFrames;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; mCompSize = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Status mRetval = UMC_OK;&lt;/P&gt;&lt;P&gt;size_t len;&lt;/P&gt;&lt;P&gt;FILE *outFile = NULL;&lt;/P&gt;&lt;P&gt;vm_tick tf, ts, te;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt; time = 0.0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ipp8u *pY = NULL, *pU = NULL, *pV = NULL, *pBS = NULL;&lt;/P&gt;&lt;P&gt;mWidth = p_vidEncoderParams-&amp;gt;src_width;&lt;/P&gt;&lt;P&gt;mHeight = p_vidEncoderParams-&amp;gt;src_height;&lt;/P&gt;&lt;P&gt;maxNumFrames = p_vidEncoderParams-&amp;gt;numFramesToEncode;&lt;/P&gt;&lt;P&gt;mSize = mWidth * mHeight;&lt;/P&gt;&lt;P&gt;p_dataIn = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; VideoData;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_dataOut = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; MediaData;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; ((!p_dataIn) || (!p_dataOut))&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't allocate Media Data objects 
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=7; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Open output video file&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;outFile = vm_file_open(DstFileName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;
&lt;FONT color="#a31515" size="2"&gt;"wb"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!outFile)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't open output file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), DstFileName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=9; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;pY = pU = pV = pBS = NULL;&lt;/P&gt;&lt;P&gt;pY = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Ipp8u[mSize];&lt;P&gt;&lt;/P&gt;&lt;P&gt;pU = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Ipp8u[mSize];&lt;P&gt;&lt;/P&gt;&lt;P&gt;pV = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Ipp8u[mSize];&lt;P&gt;&lt;/P&gt;&lt;P&gt;pBS = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; Ipp8u[2*mSize];&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; ((!pY) || (!pU) || (!pV)|| (!pBS))&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't allocate data buffers! 
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=10; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;p_dataIn-&amp;gt;InitAlloc(mWidth, mHeight, YUV420);&lt;/P&gt;&lt;P&gt;p_dataIn-&amp;gt;SetDest(pY, pU, pV);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifndef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; SINGLE_FRAME_ENCODING&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_dataIn-&amp;gt;SetPitch(YUVReader-&amp;gt;mWidth, YUVReader-&amp;gt;mWidthChroma, YUVReader-&amp;gt;mWidthChroma);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// p_dataIn-&amp;gt;SetColorFormat(YUV420);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;p_dataOut-&amp;gt;SetBufferPointer(pBS, 2*mSize);&lt;/P&gt;&lt;P&gt;tf = vm_time_get_frequency();&lt;/P&gt;&lt;P&gt;time = 0;&lt;/P&gt;&lt;P&gt;mCompSize = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Encode video frame by frame&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;char&lt;/FONT&gt;&lt;FONT size="2"&gt; frameName[512];&lt;P&gt;&lt;/P&gt;&lt;P&gt;BYTE inBuf[1000000];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;for&lt;/FONT&gt;&lt;FONT size="2"&gt; (mFrameCount = 0; mFrameCount &amp;lt; maxNumFrames; mFrameCount++)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;m_csysinfo.GetCpuUsage();&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Encoding frame: %d ... "&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFrameCount);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// HER KAN VI KANSKJE GJRRA NO?&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifndef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; SINGLE_FRAME_ENCODING&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (YUVReader-&amp;gt;LoadNextFrame(p_dataIn) != YUV_ERROR_NOERR)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't read next %d source frame!
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFrameCount);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Load bmp file into 'inBuf'&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;sprintf(frameName, &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"v%05d.bmp"&lt;/FONT&gt;&lt;FONT size="2"&gt;, mFrameCount);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Reading input file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), frameName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;FILE *inFile = vm_file_open(frameName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"rb"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!inFile)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't open input file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), frameName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=9; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FON t="" size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;len = fread(inBuf, 1, 1000000, inFile);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (inFile)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;fclose(inFile);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="2"&gt;// Get to the meat of the BMP file&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;unsigned&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; offset = (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;unsigned&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)inBuf[10];&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// vm_string_fprintf(stderr, VM_STRING("Offset to image data '%d'
"), offset);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;IppiSize roi = {mWidth, mHeight};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; dstStep[3];&lt;P&gt;&lt;/P&gt;&lt;P&gt;dstStep[0] = dstStep[1] = dstStep[2] = 0;&lt;/P&gt;&lt;P&gt;Ipp8u* pDst[3];&lt;/P&gt;&lt;P&gt;pDst[0] = pY;&lt;/P&gt;&lt;P&gt;pDst[1] = pU;&lt;/P&gt;&lt;P&gt;pDst[2] = pV;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Vladimir: &lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// I think you need to add ippiRGBToYUV420_8u_C3P3R function to convert your RGB data&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// to format which is required by YUV reader. The reason is that UMC encoders take YUV420&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// format as an input (otherwise conversion is required)&lt;P&gt;&lt;/P&gt;&lt;P&gt;// IppStatus ippStatus = ippiRGBToYUV420_8u_C3P3R(inBuf + (BYTE)offset, 0, pDst, dstStep, roi);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;IppStatus ippStatus = ippiBGRToYCbCr420_8u_C3P3R(inBuf + (BYTE)offset, 0, pDst, dstStep, roi);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (ippStatus != ippStsNoErr)&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"ippiRGBToYUV420_8u_C3P3R failed with status: %d
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ippStatus);&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Encode video frame&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;ts = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;mRetval = p_vidEncoder-&amp;gt;GetFrame(p_dataIn, p_dataOut);&lt;/P&gt;&lt;P&gt;te = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;time += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)(te - ts) / (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)tf;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (mRetval != UMC_OK &amp;amp;&amp;amp; mRetval != UMC_NOT_ENOUGH_DATA)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: encoding failed at %d source frame (exit with %d)!
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFrameCount, mRetval);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code = 13;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;len = fwrite(p_dataOut-&amp;gt;GetDataPointer(), 1, p_dataOut-&amp;gt;GetDataSize(), outFile);&lt;/P&gt;&lt;P&gt;mCompSize += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)len;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (len != p_dataOut-&amp;gt;GetDataSize())&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Couldn't write to output file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), DstFileName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=11; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// extend p_dataOut data size to buffer size&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// assume data pointer isn't moved&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;p_dataOut
-&amp;gt;SetDataSize(p_dataOut-&amp;gt;GetBufferSize());&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" done
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (mRetval == UMC_OK &amp;amp;&amp;amp; mFrameCount &amp;gt; 0)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;do&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;ts = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;mRetval = p_vidEncoder-&amp;gt;GetFrame(NULL, p_dataOut);&lt;/P&gt;&lt;P&gt;te = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;time += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)(te - ts) / (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)tf;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (mRetval != UMC_OK &amp;amp;&amp;amp; mRetval != UMC_END_OF_STREAM)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: encoding failed at outputing buffered frames (exit with %d)!
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mRetval);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code = 13; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// Incorrectly processed buffered frames encoding request!!!&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;len = fwrite(p_dataOut-&amp;gt;GetDataPointer(), 1, p_dataOut-&amp;gt;GetDataSize(), outFile);&lt;/P&gt;&lt;P&gt;mCompSize += (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)len;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (len != p_dataOut-&amp;gt;GetDataSize())&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Couldn't write to output file '%s'
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), DstFileName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=12; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; free_memories;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// mFrameCount++;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;while&lt;/FONT&gt;&lt;FONT size="2"&gt; ((mRetval == UMC_OK )&amp;amp;&amp;amp;(p_dataOut-&amp;gt;GetDataSize()&amp;gt;0));&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;free_memories:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_dataIn) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; p_dataIn;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_dataOut) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; p_dataOut;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (pY) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; [] pY;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (pV) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; [] pV;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (pU) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; [] pU;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (pBS) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; [] pBS;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (outFile) fclose(outFile);&lt;P&gt;&lt;/P&gt;&lt;P&gt;*framesEncoded = mFrameCount;&lt;/P&gt;&lt;P&gt;*encoded_size = mCompSize;&lt;/P&gt;&lt;P&gt;*enc_time = time;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; err_code;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;void&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; PrintHelp(vm_char *prog_name, vm_char *err_message)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: %s
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), err_message);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Usage1: %s [m2|m4|h264|h263|h261] [Options] InputParFile OutputEncodedFile
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), pro
g_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Usage2: %s [m2|m4|h264|h263|h261] [Options] -i InputYUVFile -o OutputEncodedFile
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), prog_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Options: 
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-i inputFile] - input YUV video file
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-w width] - video width
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-h height] - video height
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-f frameRate] - video frame rate (frames per second)
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-b bitRate] - encoded bit rate (bits per second)
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-n numFrames] - max frames to encode
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-t num] - number of threads for encoding
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-r] - enables threading of read/encode/write
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-y dir] - directory of YUV files
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-u file] - file for dumping perfomance info
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" [-p file.csv] - file for dumping perfomance info into scv format
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Note: Options -i,-w,-h,-f,-b,-n override corresponding values inside InputParFile.
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" If InputParFile not specified, at least options -w,-h should be specified and -o should be added before OutputEncodedFile.
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#define&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; GET_OPTION_POINTER(PTR) &lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (2 == vm_string_strlen(argv&lt;I&gt;)) { &lt;P&gt;&lt;/P&gt;&lt;P&gt;i++; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (argv&lt;I&gt;[0]==&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'-'&lt;/FONT&gt;&lt;FONT size="2"&gt;) { &lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"in options"&lt;/FONT&gt;&lt;FONT size="2"&gt;)); &lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1; &lt;P&gt;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; { &lt;P&gt;&lt;/P&gt;&lt;P&gt;PTR = argv&lt;I&gt;; &lt;/I&gt;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; { &lt;P&gt;&lt;/P&gt;&lt;P&gt;PTR = argv&lt;I&gt; + 2; &lt;/I&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#define&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; CREATE_ENCODER(CODEC) &lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoder = create&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;#&lt;/FONT&gt;&lt;FONT size="2"&gt;#CODEC&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;#&lt;/FONT&gt;&lt;FONT size="2"&gt;#VideoEncoder(); &lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (ParFileName) { &lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; CODEC&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;
#&lt;/FONT&gt;&lt;FONT size="2"&gt;#EncoderParams; &lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (Read&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;#&lt;/FONT&gt;&lt;FONT size="2"&gt;#CODEC&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;#&lt;/FONT&gt;&lt;FONT size="2"&gt;#EncoderParams(ParFileName, &lt;P&gt;&lt;/P&gt;&lt;P&gt;(CODEC&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;#&lt;/FONT&gt;&lt;FONT size="2"&gt;#EncoderParams*)(p_vidEncoderParams), &lt;P&gt;&lt;/P&gt;&lt;P&gt;SrcFileName, &lt;/P&gt;&lt;P&gt;MAX_FILELEN)) &lt;/P&gt;&lt;P&gt;{ &lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't read par file %s
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ParFileName); &lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=3; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; exit; &lt;P&gt;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;int&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; main(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; argc, vm_char *argv[])&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;vm_char SrcFileName[MAX_FILELEN];&lt;/P&gt;&lt;P&gt;vm_char *pSrcFileName = NULL;&lt;/P&gt;&lt;P&gt;vm_char *ParFileName = NULL;&lt;/P&gt;&lt;P&gt;vm_char *DstFileName = NULL;&lt;/P&gt;&lt;P&gt;vm_char PerfFileName[MAX_FILELEN];&lt;/P&gt;&lt;P&gt;vm_char *pVal;&lt;/P&gt;&lt;P&gt;UMCReadYUV YUVReader[1];&lt;/P&gt;&lt;P&gt;VideoEncoder *p_vidEncoder = NULL;&lt;/P&gt;&lt;P&gt;VideoEncoderParams *p_vidEncoderParams = NULL;&lt;/P&gt;&lt;P&gt;ColorFormat mColorFormat = YV12;&lt;/P&gt;&lt;P&gt;FILE *perf_file = NULL;&lt;/P&gt;&lt;P&gt;FILE *perf_file_csv = NULL;&lt;/P&gt;&lt;P&gt;vm_char *p;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; encoded_size;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt; enc_time, ov_time;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_tick tf, ts, te;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; numThreads = 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; rw_threading = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; codec_number = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; err_code = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; i;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt; size_ratio = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; mWidth = 0, mHeight = 0, maxNumFrames = 0, mFramesEncoded = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; BitRate = -1; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// if (BitRate &amp;lt; 0) used below !!&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt; FrameRate = 0;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UMC :: sSystemInfo* m_ssysteminfo;&lt;/P&gt;&lt;P&gt;vm_char tmpbuf[128]={0,};&lt;/P&gt;&lt;P&gt;vm_char vid_type[15]={0,};&lt;/P&gt;&lt;P&gt;vm_char* stream_name = NULL;&lt;/P&gt;&lt;P&gt;*SrcFileName = 0;&lt;/P&gt;&lt;P&gt;*PerfFileName=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;for&lt;/FONT&gt;&lt;FONT size="2"&gt; (i = 1; i &amp;lt; argc; i++)&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (vm_string_strcmp(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"m2"&lt;/FONT&gt;&lt;FONT size="2"&gt;)) == 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 2;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (vm_string_strcmp(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"m4"&lt;/FONT&gt;&lt;FONT size="2"&gt;)) == 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 4;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (vm_string_strcmp(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"h264"&lt;/FONT&gt;&lt;FONT size="2"&gt;)) == 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 264;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (vm_string_strcmp(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/FONT&gt;&lt;FONT c="" olor="#a31515" size="2"&gt;"h263"&lt;/FONT&gt;&lt;FONT size="2"&gt;)) == 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 263;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (vm_string_strcmp(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"h261"&lt;/FONT&gt;&lt;FONT size="2"&gt;)) == 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 261;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'-'&lt;/FONT&gt;&lt;FONT size="2"&gt; != argv&lt;I&gt;[0]) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (NULL == ParFileName) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;ParFileName = argv&lt;I&gt;;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;DstFileName = argv&lt;I&gt;;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;switch&lt;/FONT&gt;&lt;FONT size="2"&gt; (argv&lt;I&gt;[1])&lt;P&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'y'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;i++;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(SrcFileName, argv&lt;I&gt;);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;p = SrcFileName + vm_string_strlen(SrcFileName) - 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (*p != &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;''&lt;/FONT&gt;&lt;FONT size="2"&gt; &amp;amp;&amp;amp; *p != &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'/'&lt;/FONT&gt;&lt;FONT size="2"&gt;) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcat(SrcFileName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;""&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'p'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'P'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;i++;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(PerfFileName, argv&lt;I&gt;);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'w'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;mWidth = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)vm_string_atol(pVal);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'h'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;mHeight = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)vm_string_atol(pVal);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'f'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;vm_string_sscanf(pVal, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%lf"&lt;/FONT&gt;&lt;FONT size="2"&gt;), &amp;amp;FrameRate);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'b'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;BitRate = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)vm_string_atol(pVal);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'n'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;maxNumFrames = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)vm_string_atol(pVal);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FON&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'i'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pSrcFileName);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'o'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;DstFileName = pVal;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'t'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET_OPTION_POINTER(pVal);&lt;/P&gt;&lt;P&gt;numThreads = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)vm_string_atol(pVal);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'r'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;rw_threading = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'u'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;i++;&lt;/P&gt;&lt;P&gt;perf_file = vm_file_open(argv&lt;I&gt;, VM_STRING(&lt;/I&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"w"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;//case 'h':&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;'?'&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;default&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Unknown options"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!ParFileName &amp;amp;&amp;amp; !codec_number) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;codec_number = 2;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!DstFileName) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Destination file name not found"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!codec_number) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Unknown codec"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!ParFileName &amp;amp;&amp;amp; (!mWidth || !mHeight)) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"at least ParFile or options -w,-h should be specified"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;switch&lt;/FONT&gt;&lt;FONT size="2"&gt; (codec_number) {&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_MPEG2_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; 2:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(vid_type,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"MPEG2"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE_ENCODER(MPEG2)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (ParFileName) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt; chroma_format = ((MPEG2EncoderParams*)p_vidEncoderParams)-&amp;gt;m_Params.chroma_format;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (chroma_format == CHROMA422) mColorFormat = YUV422; &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (chroma_format == CHROMA444) mColorFormat = YUV444;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;/* UMC_ENABLE_MPEG2_VIDEO_ENCODER */&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_MPEG4_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; 4:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(vid_type,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"MPEG4"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE_ENCODER(MPEG4)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;/* UMC_ENABLE_MPEG4_VIDEO_ENCODER */&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_H261_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; 261:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(vid_type,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"H261"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE_ENCODER(H261)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;/* UMC_ENABLE_H261_VIDEO_ENCODER */&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_H263_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; 263:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(vid_type,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"H263"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE_ENCODER(H263)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;/* UMC_ENABLE_H263_VIDEO_ENCODER */&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_H264_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;case&lt;/FONT&gt;&lt;FONT size="2"&gt; 264:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(vid_type,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"H264"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE_ENCODER(H264)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;break&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;/* UMC_ENABLE_H264_VIDEO_ENCODER */&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;default&lt;/FONT&gt;&lt;FONT size="2"&gt;:&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Codec (%d) not supported
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), codec_number);&lt;P&gt;&lt;/P&gt;&lt;P&gt;PrintHelp(argv[0], VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Codec not supported"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; 1;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!ParFileName) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams = &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;new&lt;/FONT&gt;&lt;FONT size="2"&gt; VideoEncoderParams;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!maxNumFrames) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;maxNumFrames = 0x7fffffff;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!FrameRate) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;FrameRate = 30;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (BitRate &amp;lt; 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;BitRate = 5000000;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#00" 8000="" size="2"&gt;// override param's if non-zero&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (mWidth &amp;amp;&amp;amp; mHeight) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;src_width = mWidth;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;src_height = mHeight;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;mWidth = p_vidEncoderParams-&amp;gt;src_width;&lt;/P&gt;&lt;P&gt;mHeight = p_vidEncoderParams-&amp;gt;src_height;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (maxNumFrames) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;numFramesToEncode = maxNumFrames;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;maxNumFrames = p_vidEncoderParams-&amp;gt;numFramesToEncode;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (FrameRate) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;FrameRate = FrameRate;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;FrameRate = p_vidEncoderParams-&amp;gt;FrameRate;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (BitRate &amp;gt;= 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;BitRate = BitRate;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;BitRate = p_vidEncoderParams-&amp;gt;BitRate;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;p_vidEncoderParams-&amp;gt;numThreads = numThreads;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (NULL != pSrcFileName) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_strcpy(SrcFileName, pSrcFileName);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;//////////////////////////////////////////////////////////////////////////////////////////////////////&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;m_csysinfo.GetCpuUsage();&lt;/P&gt;&lt;P&gt;m_ssysteminfo = (UMC::sSystemInfo *)m_csysinfo.GetSysInfo();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(PerfFileName[0])&lt;P&gt;&lt;/P&gt;&lt;P&gt;perf_file_csv = vm_file_open(PerfFileName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"a"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(perf_file_csv){&lt;P&gt;&lt;/P&gt;&lt;P&gt;stream_name = vm_string_strrchr(SrcFileName, (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)(&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;''&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(!stream_name)stream_name = SrcFileName;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; stream_name++;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fseek( perf_file_csv, 0, SEEK_END);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(!ftell( perf_file_csv))&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Date,Time,Comp.name,OS,CPU,Num.CPU,CPU freq.,MEM,VGA,App,App description,Ver.,Streams(S) name,Status,S.Type,S.Res.,S.FR,S.BR,Video(V)Type,V.Format,V.Num,V.D/E(FpS),V.D/E(MHz),Compr.(%%),CPU Usage (%%),Max Cpu Usage (%%),Work.Time
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_sys_info_get_date(tmpbuf,MMDDYY);&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), tmpbuf);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_sys_info_get_time(tmpbuf,HHMMSS);&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), tmpbuf);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_ssysteminfo-&amp;gt;computer_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_ssysteminfo-&amp;gt;os_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;F ont="" size="2"&gt;), m_ssysteminfo-&amp;gt;proc_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"%d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_ssysteminfo-&amp;gt;num_proc);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"%.2f,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)m_ssysteminfo-&amp;gt;cpu_freq);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"%d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_ssysteminfo-&amp;gt;phys_mem);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_ssysteminfo-&amp;gt;video_card);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;),m_ssysteminfo-&amp;gt;program_name);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;FONT color="#a31515" size="2"&gt;"UMC Video Encoder Con.,"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;//,m_ssysteminfo-&amp;gt;description);&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size="2"&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;","&lt;/FONT&gt;&lt;FONT size="2"&gt;)); &lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;// ver. of aplications&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), stream_name);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"FAIL
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;fclose(perf_file_csv);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;///////////////////////////////////////////////////////////////////////////////////////////////////////&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (ippStaticInit() &amp;lt; ippStsNoErr) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Can't initialize ipp libs!
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=5; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; exit;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoder-&amp;gt;Init(p_vidEncoderParams) != UMC_OK) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Video encoder initialization failed
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=6; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; exit;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoder-&amp;gt;GetInfo(p_vidEncoderParams) != UMC_OK) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(stderr, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Error: Video encoder GetInfo failed
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;err_code=7; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;goto&lt;/FONT&gt;&lt;FONT size="2"&gt; exit;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;// if (YUVReader-&amp;gt;Init(SrcFileName, mWidth, mHeight, mColorFormat) != YUV_ERROR_NOERR){&lt;/P&gt;&lt;P&gt;// vm_string_fprintf(stderr, VM_STRING("Error: Can't initialize yuv data reader for file %s
"), SrcFileName);&lt;/P&gt;&lt;P&gt;// err_code=8; goto exit;&lt;/P&gt;&lt;P&gt;// }&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Starting encoding %s to file %s
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), SrcFileName, DstFileName);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Source video width = %d, height = %d, frameRate = %.2lf
"&lt;/FONT&gt;&lt;FONT size="2"&gt;),&lt;P&gt;&lt;/P&gt;&lt;P&gt;mWidth, mHeight, FrameRate);&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Ma
x frames to encode = %d
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), maxNumFrames);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoderParams-&amp;gt;BitRate &amp;gt; 0)&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Encoding bit rate = %d bits per second
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), p_vidEncoderParams-&amp;gt;BitRate);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Encoding without rate control
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ts = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (!rw_threading) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;encode(p_vidEncoder, p_vidEncoderParams, YUVReader,&lt;/P&gt;&lt;P&gt;DstFileName, &amp;amp;mFramesEncoded, &amp;amp;encoded_size, &amp;amp;enc_time);&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;else&lt;/FONT&gt;&lt;FONT size="2"&gt; {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Enabled threading of read/encode/write!

"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;encode_threaded(p_vidEncoder, p_vidEncoderParams, YUVReader, DstFileName, &amp;amp;mFramesEncoded, &amp;amp;encoded_size, &amp;amp;enc_time);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;m_csysinfo.GetCpuUsage();&lt;/P&gt;&lt;P&gt;te = vm_time_get_tick();&lt;/P&gt;&lt;P&gt;tf = vm_time_get_frequency();&lt;/P&gt;&lt;P&gt;ov_time = (&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)(te - ts) / (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(vm_var64s)tf;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(PerfFileName[0])&lt;P&gt;&lt;/P&gt;&lt;P&gt;perf_file_csv = vm_file_open(PerfFileName, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"r+"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt;(perf_file_csv) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;fseek( perf_file_csv, -6, SEEK_END);&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"PASSED,"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"PV,"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%dx%d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;),p_vidEncoderParams-&amp;gt;dst_width,p_vidEncoderParams-&amp;gt;dst_height);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;),p_vidEncoderParams-&amp;gt;FrameRate);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;),p_vidEncoderParams-&amp;gt;BitRate/1000);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%s,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), vid_type);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;","&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFramesEncoded);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFramesEncoded/enc_time);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), (&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)(p_vidEncoderParams-&amp;gt;FrameRate/(mFramesEncoded/enc_time)*(m_ssysteminfo-&amp;gt;cpu_freq)));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ((&lt;/FONT&gt;&lt;FONT color="#000" 0ff="" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)encoded_size*100.0/(mFramesEncoded*YUVReader-&amp;gt;mFrameSize)));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_csysinfo.GetAvgCpuUsage());&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%.2lf,"&lt;/FONT&gt;&lt;FONT size="2"&gt;), m_csysinfo.GetMaxCpuUsage());&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"%02d:%02d:%02d.%02d,"&lt;/FONT&gt;&lt;FONT size="2"&gt;),(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)ov_time/3600,(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)(ov_time)%3600/60,(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)ov_time%3600%60,(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)((ov_time-(&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;int&lt;/FONT&gt;&lt;FONT size="2"&gt;)ov_time)*100));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file_csv,VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"
"&lt;/FONT&gt;&lt;FONT size="2"&gt; ));&lt;P&gt;&lt;/P&gt;&lt;P&gt;fclose(perf_file_csv);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#008000" size="2"&gt;&lt;P&gt;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Summary:
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" Num frames encoded = %d
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFramesEncoded);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" Encoding Time = %.2f sec, %.2f fps
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), enc_time, mFramesEncoded/enc_time);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" Overall Time = %.2f sec, %.2f fps
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ov_time, mFramesEncoded/ov_time);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" Encoded Size = %d bytes
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), encoded_size);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" Compression Ratio = %.2f
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ((&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)mFramesEncoded*YUVReader-&amp;gt;mFrameSize)/encoded_size);&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoderParams-&amp;gt;FrameRate &amp;gt; 0 &amp;amp;&amp;amp; p_vidEncoderParams-&amp;gt;BitRate &amp;gt; 0) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;size_ratio = encoded_size/(((&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;double&lt;/FONT&gt;&lt;FONT size="2"&gt;)mFramesEncoded/p_vidEncoderParams-&amp;gt;FrameRate)*(p_vidEncoderParams-&amp;gt;BitRate/8));&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" EncodedSize/ExpectedSize = %.2f
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), size_ratio);&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#ifdef&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; UMC_ENABLE_MPEG2_VIDEO_ENCODER&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (codec_number == 2) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_vidEncoder-&amp;gt;GetInfo(p_vidEncoderParams);&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;" MPEG2 internal performance = %6.2lf fps
"&lt;/FONT&gt;&lt;FONT size="2"&gt;), ((MPEG2EncoderParams*)p_vidEncoderParams)-&amp;gt;m_Params.performance);&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;vm_string_printf(VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"
"&lt;/FONT&gt;&lt;FONT size="2"&gt;));&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (perf_file != NULL) {&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fprintf(perf_file, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;"Performance = %.2f fps"&lt;/FONT&gt;&lt;FONT size="2"&gt;), mFramesEncoded/enc_time);&lt;P&gt;&lt;/P&gt;&lt;P&gt;vm_string_fp
rintf(perf_file, VM_STRING(&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2"&gt;", EncodedSize/ExpectedSize = %.2f"&lt;/FONT&gt;&lt;FONT size="2"&gt;), size_ratio);&lt;P&gt;&lt;/P&gt;&lt;P&gt;fclose(perf_file);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;exit:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoder) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; p_vidEncoder;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; (p_vidEncoderParams) &lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;delete&lt;/FONT&gt;&lt;FONT size="2"&gt; p_vidEncoderParams;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" size="2"&gt;return&lt;/FONT&gt;&lt;FONT size="2"&gt; err_code;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/F&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 08 Feb 2007 11:47:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890433#M11379</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-08T11:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890434#M11380</link>
      <description>&lt;P&gt;If you could please help me... I've only changed the code from line 92 to 135, so you don't have to look through the entire thing to see what I've done :-)&lt;/P&gt;
&lt;P&gt;Sorry if this is to stupid a request. If it is so, please tell me and I've try elsewere to find answers...&lt;/P&gt;
&lt;P&gt;-Rune&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2007 10:21:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890434#M11380</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-12T10:21:04Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890435#M11381</link>
      <description>&lt;P&gt;I'll ask our experts to take a look on this&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 15 Feb 2007 11:26:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890435#M11381</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-02-15T11:26:56Z</dc:date>
    </item>
    <item>
      <title>Re: Simple mpg encoder...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890436#M11382</link>
      <description>&lt;P&gt;Thank you so very much!&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;-Rune&lt;/P&gt;</description>
      <pubDate>Fri, 16 Feb 2007 08:51:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Simple-mpg-encoder/m-p/890436#M11382</guid>
      <dc:creator>runew</dc:creator>
      <dc:date>2007-02-16T08:51:31Z</dc:date>
    </item>
  </channel>
</rss>

