<br><br>Hi David,<br><br><br>            Yeap, an experiment confirms that I'm wrong.<br><br><br>I just ran a profile of the time that it takes to convert YUV to RGB<br>using the code that you contributed to the vtkWin32VideoSource.cxx
.<br><br>For the same machine of my previous email, and an image of 1024 x 768 pixels<br>the timing is:  <br><br>                                          32 milliseconds.<br><br><br>Attached is the code that I used for profiling the conversion.
<br><br>That code produced the following output:<br><br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Probe Tag    Starts    Stops           Time</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Conversion     1         1         0.0319588</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">FillBuffer     1         1         
0.00697708</span><br style="font-family: courier new,monospace;"><br><br><br><br>I would insist however in that any discussion related to performance<br>must be based on numbers that we have measured using repeatable<br>experiments. Otherwise we will start looking like reviewers of decadent
<br>Journals.<br><br><br><br>    Regards,<br><br><br>         Luis<br><br><br>-----------------------------------------------------------------------------------<br><div><span class="gmail_quote">On 4/2/07, <b class="gmail_sendername">
David Gobbi</b> <<a href="mailto:dgobbi@atamai.com">dgobbi@atamai.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Luis,<br><br>I missed the T-con last Thursday, so I might be a little bit<br>out-of-context, but the cost of the color conversion will vary<br>quite a bit depending on exactly which conversion is being<br>done (as well as on how the conversion code is optimized).
<br><br>The most expensive conversions are from YUV to RGB and<br>back again, since they essentially require a 3x3 matrix multiplication<br>plus 3 clamp operations per pixel.   Also, these conversions<br>are lossy in both directions.
<br><br>Conversion from greyscale to YUV or RGB is very cheap,<br>essentially equivalent to a copy.  Going back to from these to<br>greyscale is a bit more expensive.<br><br>In any case, even 15 milliseconds is longer than we can afford to
<br>color-convert a frame if the computer is also doing other tasks at the<br>same time, so Frank is probably right that we need the frame buffer<br>to support different formats in order to eliminate the need for<br>conversion.  At the GPU end of things, VTK can handle either
<br>gray or RGB/RGBA textures right now.<br><br> - David<br><br><br>Luis Ibanez wrote:<br>><br>> Just a quick follow up on our discussion regarding the performance<br>> of conversion between color systems.<br>>
<br>> Here is a profile that we got for another project where we are using the<br>> FFMPEG library for compressing and decompressing video sequences.<br>><br>><br>> In  that particular case we have:<br>>
<br>> 1) Image size 1024 x 768 pixels, greyscale, 1 byte per pixel<br>><br>> 2) Computer<br>> 2.1)  Dell Precision 450 workstation<br>> 2.2) with dual processor Intel Xeon at 2.4GHz<br>> 2.3) with 3Gb of RAM
<br>> 2.4) Linux Debian<br>> 2.5) Using the gcc compiler with -O3<br>><br>><br>> With this configuration it takes 30 milliseconds to do<br>> the following:<br>><br>> 0) Copy the input image into another buffer
<br>> 1) Convert the grayscale image into YUV,<br>> 2) Compress the image using the Flash video codec<br>> 3) Decompress the image using the Flash video codec<br>> 4) Convert the decompressed image back from YUV to grayscale.
<br>><br>><br>> We have not profiled the conversion in isolation, but the<br>> fact that two color format conversions plus video<br>> compression and decompression fit in 30 milliseconds,<br>> give us some indication on how much the color format
<br>> conversion alone could take.<br>><br>><br>>      Luis<br>><br>><br>><br>> ---------------------------------------------------<br>> On 3/29/07, *Patrick Cheng* < <a href="mailto:cheng@isis.georgetown.edu">
cheng@isis.georgetown.edu</a><br>> <mailto:<a href="mailto:cheng@isis.georgetown.edu">cheng@isis.georgetown.edu</a>>> wrote:<br>><br>>     Hi everybody,<br>><br>>     Here is the minutes for discussion on VideoGrabber continued from
<br>>     last week:<br>><br>>     <a href="http://public.kitware.com/IGSTKWIKI/index.php/Minutes_032907">http://public.kitware.com/IGSTKWIKI/index.php/Minutes_032907</a><br>><br>>     Patrick<br>>     _______________________________________________
<br>>     IGSTK-Developers mailing list<br>>     <a href="mailto:IGSTK-Developers@public.kitware.com">IGSTK-Developers@public.kitware.com</a><br>>     <mailto:<a href="mailto:IGSTK-Developers@public.kitware.com">
IGSTK-Developers@public.kitware.com</a>><br>>     <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers</a><br>>     <
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers</a>><br>><br>><br>> ------------------------------------------------------------------------
<br>><br>> _______________________________________________<br>> IGSTK-Developers mailing list<br>> <a href="mailto:IGSTK-Developers@public.kitware.com">IGSTK-Developers@public.kitware.com</a><br>> <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers">
http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers</a><br><br></blockquote></div><br>