<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libdc1394: dc1394/utils.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="contents"> <h1>dc1394/utils.h File Reference</h1> <p>Utility functions. <a href="#_details">More...</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa42421d75feb7189a445d4685e7c265a">dc1394_get_image_size_from_video_mode</a> (<a class="el" href="struct____dc1394__camera.html">dc1394camera_t</a> *camera, uint32_t video_mode, uint32_t *width, uint32_t *height)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a12d8ef84ed575a181ed8c325289e9407">dc1394_framerate_as_float</a> (<a class="el" href="video_8h.html#a4bff4c234f64577aa080e83240bed473">dc1394framerate_t</a> framerate_enum, float *framerate)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a29bda0d553f80cf05af16bfbdca88c66">dc1394_get_color_coding_data_depth</a> (<a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> color_coding, uint32_t *bits)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a436388c62a057abf166bdfcdcd6720eb">dc1394_get_color_coding_bit_size</a> (<a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> color_coding, uint32_t *bits)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aac1e80097ee4d6ad0f68c020d8944951">dc1394_get_color_coding_from_video_mode</a> (<a class="el" href="struct____dc1394__camera.html">dc1394camera_t</a> *camera, <a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> video_mode, <a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> *color_coding)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#adf2b6d667fa881f935916f72578c87c5">dc1394_is_color</a> (<a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> color_mode, <a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> *is_color)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a2b1a3945a49a21af7a5d73d7774ad190">dc1394_is_video_mode_scalable</a> (<a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> video_mode)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a991be658eaa38e3130949dee72026013">dc1394_is_video_mode_still_image</a> (<a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> video_mode)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#af70ca55357397039365f969147bf33cd">dc1394_is_same_camera</a> (<a class="el" href="structdc1394camera__id__t.html">dc1394camera_id_t</a> id1, <a class="el" href="structdc1394camera__id__t.html">dc1394camera_id_t</a> id2)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a5f250ad6880e16a6eed8fb014440105b">dc1394_feature_get_string</a> (<a class="el" href="control_8h.html#a8e3755ec8d8c12e109d471b6e44aca9c">dc1394feature_t</a> feature)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aec43699ca6768abe83def08fd5db64b2">dc1394_error_get_string</a> (<a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> error)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a7f2d30b1e588208c4a3c94f5bde16406">dc1394_checksum_crc16</a> (const uint8_t *buffer, uint32_t buffer_size)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Utility functions. </p> <dl class="author"><dt><b>Author:</b></dt><dd>Damien Douxchamps: coding </dd> <dd> Peter Antoniac: documentation maintainer</dd></dl> <p>More details soon </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a7f2d30b1e588208c4a3c94f5bde16406"></a><!-- doxytag: member="utils.h::dc1394_checksum_crc16" ref="a7f2d30b1e588208c4a3c94f5bde16406" args="(const uint8_t *buffer, uint32_t buffer_size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint16_t dc1394_checksum_crc16 </td> <td>(</td> <td class="paramtype">const uint8_t * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>buffer_size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Calculates the CRC16 checksum of a memory region. Useful to verify the CRC of an image buffer, for instance. </p> </div> </div> <a class="anchor" id="aec43699ca6768abe83def08fd5db64b2"></a><!-- doxytag: member="utils.h::dc1394_error_get_string" ref="aec43699ca6768abe83def08fd5db64b2" args="(dc1394error_t error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* dc1394_error_get_string </td> <td>(</td> <td class="paramtype"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> </td> <td class="paramname"> <em>error</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a descriptive string for an error code </p> </div> </div> <a class="anchor" id="a5f250ad6880e16a6eed8fb014440105b"></a><!-- doxytag: member="utils.h::dc1394_feature_get_string" ref="a5f250ad6880e16a6eed8fb014440105b" args="(dc1394feature_t feature)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* dc1394_feature_get_string </td> <td>(</td> <td class="paramtype"><a class="el" href="control_8h.html#a8e3755ec8d8c12e109d471b6e44aca9c">dc1394feature_t</a> </td> <td class="paramname"> <em>feature</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a descriptive name for a feature </p> </div> </div> <a class="anchor" id="a12d8ef84ed575a181ed8c325289e9407"></a><!-- doxytag: member="utils.h::dc1394_framerate_as_float" ref="a12d8ef84ed575a181ed8c325289e9407" args="(dc1394framerate_t framerate_enum, float *framerate)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_framerate_as_float </td> <td>(</td> <td class="paramtype"><a class="el" href="video_8h.html#a4bff4c234f64577aa080e83240bed473">dc1394framerate_t</a> </td> <td class="paramname"> <em>framerate_enum</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>framerate</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the given framerate as a float. </p> </div> </div> <a class="anchor" id="a436388c62a057abf166bdfcdcd6720eb"></a><!-- doxytag: member="utils.h::dc1394_get_color_coding_bit_size" ref="a436388c62a057abf166bdfcdcd6720eb" args="(dc1394color_coding_t color_coding, uint32_t *bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_get_color_coding_bit_size </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> </td> <td class="paramname"> <em>color_coding</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>bits</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the bit-space used by a pixel. This is different from the data depth! For instance, RGB16 has a bit space of 48 bits, YUV422 is 16bits and YU411 is 12bits. </p> </div> </div> <a class="anchor" id="a29bda0d553f80cf05af16bfbdca88c66"></a><!-- doxytag: member="utils.h::dc1394_get_color_coding_data_depth" ref="a29bda0d553f80cf05af16bfbdca88c66" args="(dc1394color_coding_t color_coding, uint32_t *bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_get_color_coding_data_depth </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> </td> <td class="paramname"> <em>color_coding</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>bits</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the number of bits per pixel for a certain color coding. This is the size of the data sent on the bus, the effective data depth may vary. Example: RGB16 is 16, YUV411 is 8, YUV422 is 8. </p> </div> </div> <a class="anchor" id="aac1e80097ee4d6ad0f68c020d8944951"></a><!-- doxytag: member="utils.h::dc1394_get_color_coding_from_video_mode" ref="aac1e80097ee4d6ad0f68c020d8944951" args="(dc1394camera_t *camera, dc1394video_mode_t video_mode, dc1394color_coding_t *color_coding)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_get_color_coding_from_video_mode </td> <td>(</td> <td class="paramtype"><a class="el" href="struct____dc1394__camera.html">dc1394camera_t</a> * </td> <td class="paramname"> <em>camera</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> </td> <td class="paramname"> <em>video_mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> * </td> <td class="paramname"> <em>color_coding</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the color coding from the video mode. Works with scalable image formats too. </p> </div> </div> <a class="anchor" id="aa42421d75feb7189a445d4685e7c265a"></a><!-- doxytag: member="utils.h::dc1394_get_image_size_from_video_mode" ref="aa42421d75feb7189a445d4685e7c265a" args="(dc1394camera_t *camera, uint32_t video_mode, uint32_t *width, uint32_t *height)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_get_image_size_from_video_mode </td> <td>(</td> <td class="paramtype"><a class="el" href="struct____dc1394__camera.html">dc1394camera_t</a> * </td> <td class="paramname"> <em>camera</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>video_mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>height</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the image width and height (in pixels) corresponding to a video mode. Works for scalable and non-scalable video modes. </p> </div> </div> <a class="anchor" id="adf2b6d667fa881f935916f72578c87c5"></a><!-- doxytag: member="utils.h::dc1394_is_color" ref="adf2b6d667fa881f935916f72578c87c5" args="(dc1394color_coding_t color_mode, dc1394bool_t *is_color)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="log_8h.html#a197fe17c786e1f915d99cb19b270e541">dc1394error_t</a> dc1394_is_color </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a5ad637ee4e9ccce83cc9b72c241d6c68">dc1394color_coding_t</a> </td> <td class="paramname"> <em>color_mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> * </td> <td class="paramname"> <em>is_color</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Tells whether the color mode is color or monochrome </p> </div> </div> <a class="anchor" id="af70ca55357397039365f969147bf33cd"></a><!-- doxytag: member="utils.h::dc1394_is_same_camera" ref="af70ca55357397039365f969147bf33cd" args="(dc1394camera_id_t id1, dc1394camera_id_t id2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> dc1394_is_same_camera </td> <td>(</td> <td class="paramtype"><a class="el" href="structdc1394camera__id__t.html">dc1394camera_id_t</a> </td> <td class="paramname"> <em>id1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structdc1394camera__id__t.html">dc1394camera_id_t</a> </td> <td class="paramname"> <em>id2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Tells whether two IDs refer to the same physical camera unit. </p> </div> </div> <a class="anchor" id="a2b1a3945a49a21af7a5d73d7774ad190"></a><!-- doxytag: member="utils.h::dc1394_is_video_mode_scalable" ref="a2b1a3945a49a21af7a5d73d7774ad190" args="(dc1394video_mode_t video_mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> dc1394_is_video_mode_scalable </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> </td> <td class="paramname"> <em>video_mode</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Tells whether the video mode is scalable or not. </p> </div> </div> <a class="anchor" id="a991be658eaa38e3130949dee72026013"></a><!-- doxytag: member="utils.h::dc1394_is_video_mode_still_image" ref="a991be658eaa38e3130949dee72026013" args="(dc1394video_mode_t video_mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#afde759d0fe0cd735ed4ee5453775d25a">dc1394bool_t</a> dc1394_is_video_mode_still_image </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#ae690fb8630e69f7e97f7784b616803e3">dc1394video_mode_t</a> </td> <td class="paramname"> <em>video_mode</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Tells whether the video mode is "still image" or not ("still image" is currently not supported by any cameras on the market) </p> </div> </div> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 10 Sep 2009 for libdc1394 by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>