<!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>WebM VP8 Codec SDK: vpx/vpx_image.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.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">WebM VP8 Codec SDK</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</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 id="navrow2" class="tabs2"> <ul class="tablist"> <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="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>vpx/vpx_image.h File Reference</h1> </div> </div> <div class="contents"> <p>Describes the vpx image descriptor and associated operations. <a href="#_details">More...</a></p> <p><a href="vpx__image_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__image.html">vpx_image</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Image Descriptor. <a href="structvpx__image.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__image__rect.html">vpx_image_rect</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Representation of a rectangle on a surface. <a href="structvpx__image__rect.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27ebbdf8031cc70b73d31825ba0d43b3"></a><!-- doxytag: member="vpx_image.h::VPX_IMAGE_H" ref="a27ebbdf8031cc70b73d31825ba0d43b3" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>VPX_IMAGE_H</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bbca4a324bbc83eb49e50b6b1b7b00d"></a><!-- doxytag: member="vpx_image.h::VPX_IMAGE_ABI_VERSION" ref="a2bbca4a324bbc83eb49e50b6b1b7b00d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a2bbca4a324bbc83eb49e50b6b1b7b00d">VPX_IMAGE_ABI_VERSION</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Current ABI version number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#aba054d28e7205f3cbd260c8b1e741bca">VPX_IMG_FMT_PLANAR</a>   0x100</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a52193af375ccdbe6b1fc2c706e308b4e">VPX_IMG_FMT_UV_FLIP</a>   0x200</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#adceef04930837f46dad16d648cb152f9">VPX_IMG_FMT_HAS_ALPHA</a>   0x400</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#aed2dfee103bf123bad08ceefdba21301">VPX_PLANE_PACKED</a>   0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a08171c4636c655e1ab0b76e06219f9e2">VPX_PLANE_Y</a>   0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a4770fc8fa60021a2229f25553152cf81">VPX_PLANE_U</a>   1</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#aca9436ec761457cc6d2e356e0ac2fd23">VPX_PLANE_V</a>   2</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#ac7a57e3c466f599abbcbd655db92c24d">VPX_PLANE_ALPHA</a>   3</td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">vpx_img_fmt</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">List of supported image formats. <a href="#acb76f0439d5d186256371aadf3beeee4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__image.html">vpx_image</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Image Descriptor. <a href="#abf5ac962cc6d71b4f0e39b1b0d033e55"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__image__rect.html">vpx_image_rect</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#aba8af9e601eb9c3c41431d0f4fef65a6">vpx_image_rect_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Representation of a rectangle on a surface. <a href="#aba8af9e601eb9c3c41431d0f4fef65a6"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">vpx_img_fmt</a> { <br/>   <b>VPX_IMG_FMT_NONE</b>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a768c82ecfd7f7de4095ba587185cacc3">VPX_IMG_FMT_RGB24</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a6a4b7c1ab7811898df2c433168f8cad7">VPX_IMG_FMT_RGB32</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a0e0df90f12025dffb425ab586bc190b8">VPX_IMG_FMT_RGB565</a>, <br/>   <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a7801d709598e8aa57a811ef008389fac">VPX_IMG_FMT_RGB555</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193aaac20056f1282ec3e23b2f3df5197ebd">VPX_IMG_FMT_UYVY</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a54251eea14c31a916a9181d8e38bcc2e">VPX_IMG_FMT_YUY2</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a6982ba2da461ca8d7b7a8a2efd018dea">VPX_IMG_FMT_YVYU</a>, <br/>   <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a5c585a577f88505845496cba7054a412">VPX_IMG_FMT_BGR24</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a289f1c915217fd690228890db7033303">VPX_IMG_FMT_RGB32_LE</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a62257fab5e53c2c1b589e4befbaa4643">VPX_IMG_FMT_ARGB</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a933ca0d3511dccb7128a010c9443f13b">VPX_IMG_FMT_ARGB_LE</a>, <br/>   <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193ae1040770cb4f2b60931e1b0d31c39c8a">VPX_IMG_FMT_RGB565_LE</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193ac79b2394abe0cc6c9068b7ef0007d74e">VPX_IMG_FMT_RGB555_LE</a>, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a6e4e8961bbcf96478c300dc4c3e1dc18">VPX_IMG_FMT_YV12</a> = 0x100 | 0x200 | 1, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193af17ce49c9a6efd7c8c8ea8928d4ce26c">VPX_IMG_FMT_I420</a> = 0x100 | 2, <br/>   <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a63e1daa51719dc6129881abe81a016fc">VPX_IMG_FMT_VPXYV12</a> = 0x100 | 0x200 | 3, <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193a42d26966faf7079e80cbbfee1d698493">VPX_IMG_FMT_VPXI420</a> = 0x100 | 4 <br/> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><p>List of supported image formats. </p> <a href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#ab80398f28ca880368a922fa979eb66c1">vpx_img_alloc</a> (<a class="el" href="structvpx__image.html">vpx_image_t</a> *img, <a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a> fmt, unsigned int d_w, unsigned int d_h, unsigned int align)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Open a descriptor, allocating storage for the underlying image. <a href="#ab80398f28ca880368a922fa979eb66c1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#afaf35f1f2f2f634de394faf7d6aeeeb9">vpx_img_wrap</a> (<a class="el" href="structvpx__image.html">vpx_image_t</a> *img, <a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a> fmt, unsigned int d_w, unsigned int d_h, unsigned int align, unsigned char *img_data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Open a descriptor, using existing storage for the underlying image. <a href="#afaf35f1f2f2f634de394faf7d6aeeeb9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#ab5c1d1a5548752f7cd5047f43d5f25c4">vpx_img_set_rect</a> (<a class="el" href="structvpx__image.html">vpx_image_t</a> *img, unsigned int x, unsigned int y, unsigned int w, unsigned int h)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the rectangle identifying the displayed portion of the image. <a href="#ab5c1d1a5548752f7cd5047f43d5f25c4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a01201327328c1cdd365632e5056b1850">vpx_img_flip</a> (<a class="el" href="structvpx__image.html">vpx_image_t</a> *img)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flip the image vertically (top for bottom) <a href="#a01201327328c1cdd365632e5056b1850"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#af47ebaf286812d037425d41990d48a17">vpx_img_free</a> (<a class="el" href="structvpx__image.html">vpx_image_t</a> *img)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Close an image descriptor. <a href="#af47ebaf286812d037425d41990d48a17"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Describes the vpx image descriptor and associated operations. </p> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="aba054d28e7205f3cbd260c8b1e741bca"></a><!-- doxytag: member="vpx_image.h::VPX_IMG_FMT_PLANAR" ref="aba054d28e7205f3cbd260c8b1e741bca" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_IMG_FMT_PLANAR   0x100</td> </tr> </table> </div> <div class="memdoc"> <p>Image is a planar format </p> </div> </div> <a class="anchor" id="a52193af375ccdbe6b1fc2c706e308b4e"></a><!-- doxytag: member="vpx_image.h::VPX_IMG_FMT_UV_FLIP" ref="a52193af375ccdbe6b1fc2c706e308b4e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_IMG_FMT_UV_FLIP   0x200</td> </tr> </table> </div> <div class="memdoc"> <p>V plane precedes U plane in memory </p> </div> </div> <a class="anchor" id="adceef04930837f46dad16d648cb152f9"></a><!-- doxytag: member="vpx_image.h::VPX_IMG_FMT_HAS_ALPHA" ref="adceef04930837f46dad16d648cb152f9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_IMG_FMT_HAS_ALPHA   0x400</td> </tr> </table> </div> <div class="memdoc"> <p>Image has an alpha channel component </p> </div> </div> <a class="anchor" id="aed2dfee103bf123bad08ceefdba21301"></a><!-- doxytag: member="vpx_image.h::VPX_PLANE_PACKED" ref="aed2dfee103bf123bad08ceefdba21301" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_PLANE_PACKED   0</td> </tr> </table> </div> <div class="memdoc"> <p>To be used for all packed formats </p> </div> </div> <a class="anchor" id="a08171c4636c655e1ab0b76e06219f9e2"></a><!-- doxytag: member="vpx_image.h::VPX_PLANE_Y" ref="a08171c4636c655e1ab0b76e06219f9e2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_PLANE_Y   0</td> </tr> </table> </div> <div class="memdoc"> <p>Y (Luminance) plane </p> </div> </div> <a class="anchor" id="a4770fc8fa60021a2229f25553152cf81"></a><!-- doxytag: member="vpx_image.h::VPX_PLANE_U" ref="a4770fc8fa60021a2229f25553152cf81" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_PLANE_U   1</td> </tr> </table> </div> <div class="memdoc"> <p>U (Chroma) plane </p> </div> </div> <a class="anchor" id="aca9436ec761457cc6d2e356e0ac2fd23"></a><!-- doxytag: member="vpx_image.h::VPX_PLANE_V" ref="aca9436ec761457cc6d2e356e0ac2fd23" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_PLANE_V   2</td> </tr> </table> </div> <div class="memdoc"> <p>V (Chroma) plane </p> </div> </div> <a class="anchor" id="ac7a57e3c466f599abbcbd655db92c24d"></a><!-- doxytag: member="vpx_image.h::VPX_PLANE_ALPHA" ref="ac7a57e3c466f599abbcbd655db92c24d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_PLANE_ALPHA   3</td> </tr> </table> </div> <div class="memdoc"> <p>A (Transparency) plane </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="acb76f0439d5d186256371aadf3beeee4"></a><!-- doxytag: member="vpx_image.h::vpx_img_fmt_t" ref="acb76f0439d5d186256371aadf3beeee4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef enum <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">vpx_img_fmt</a> <a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>List of supported image formats. </p> <p>alias for enum vpx_img_fmt </p> </div> </div> <a class="anchor" id="abf5ac962cc6d71b4f0e39b1b0d033e55"></a><!-- doxytag: member="vpx_image.h::vpx_image_t" ref="abf5ac962cc6d71b4f0e39b1b0d033e55" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structvpx__image.html">vpx_image</a> <a class="el" href="structvpx__image.html">vpx_image_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Image Descriptor. </p> <p>alias for struct <a class="el" href="structvpx__image.html" title="Image Descriptor.">vpx_image</a> </p> </div> </div> <a class="anchor" id="aba8af9e601eb9c3c41431d0f4fef65a6"></a><!-- doxytag: member="vpx_image.h::vpx_image_rect_t" ref="aba8af9e601eb9c3c41431d0f4fef65a6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structvpx__image__rect.html">vpx_image_rect</a> <a class="el" href="structvpx__image__rect.html">vpx_image_rect_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Representation of a rectangle on a surface. </p> <p>alias for struct <a class="el" href="structvpx__image__rect.html" title="Representation of a rectangle on a surface.">vpx_image_rect</a> </p> </div> </div> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193"></a><!-- doxytag: member="vpx_image.h::vpx_img_fmt" ref="a7a30a7bff7400fb83ad45fede5077193" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">vpx_img_fmt</a></td> </tr> </table> </div> <div class="memdoc"> <p>List of supported image formats. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a768c82ecfd7f7de4095ba587185cacc3"></a><!-- doxytag: member="VPX_IMG_FMT_RGB24" ref="a7a30a7bff7400fb83ad45fede5077193a768c82ecfd7f7de4095ba587185cacc3" args="" -->VPX_IMG_FMT_RGB24</em> </td><td> <p>24 bit per pixel packed RGB </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6a4b7c1ab7811898df2c433168f8cad7"></a><!-- doxytag: member="VPX_IMG_FMT_RGB32" ref="a7a30a7bff7400fb83ad45fede5077193a6a4b7c1ab7811898df2c433168f8cad7" args="" -->VPX_IMG_FMT_RGB32</em> </td><td> <p>32 bit per pixel packed 0RGB </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a0e0df90f12025dffb425ab586bc190b8"></a><!-- doxytag: member="VPX_IMG_FMT_RGB565" ref="a7a30a7bff7400fb83ad45fede5077193a0e0df90f12025dffb425ab586bc190b8" args="" -->VPX_IMG_FMT_RGB565</em> </td><td> <p>16 bit per pixel, 565 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a7801d709598e8aa57a811ef008389fac"></a><!-- doxytag: member="VPX_IMG_FMT_RGB555" ref="a7a30a7bff7400fb83ad45fede5077193a7801d709598e8aa57a811ef008389fac" args="" -->VPX_IMG_FMT_RGB555</em> </td><td> <p>16 bit per pixel, 555 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193aaac20056f1282ec3e23b2f3df5197ebd"></a><!-- doxytag: member="VPX_IMG_FMT_UYVY" ref="a7a30a7bff7400fb83ad45fede5077193aaac20056f1282ec3e23b2f3df5197ebd" args="" -->VPX_IMG_FMT_UYVY</em> </td><td> <p>UYVY packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a54251eea14c31a916a9181d8e38bcc2e"></a><!-- doxytag: member="VPX_IMG_FMT_YUY2" ref="a7a30a7bff7400fb83ad45fede5077193a54251eea14c31a916a9181d8e38bcc2e" args="" -->VPX_IMG_FMT_YUY2</em> </td><td> <p>YUYV packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6982ba2da461ca8d7b7a8a2efd018dea"></a><!-- doxytag: member="VPX_IMG_FMT_YVYU" ref="a7a30a7bff7400fb83ad45fede5077193a6982ba2da461ca8d7b7a8a2efd018dea" args="" -->VPX_IMG_FMT_YVYU</em> </td><td> <p>YVYU packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a5c585a577f88505845496cba7054a412"></a><!-- doxytag: member="VPX_IMG_FMT_BGR24" ref="a7a30a7bff7400fb83ad45fede5077193a5c585a577f88505845496cba7054a412" args="" -->VPX_IMG_FMT_BGR24</em> </td><td> <p>24 bit per pixel packed BGR </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a289f1c915217fd690228890db7033303"></a><!-- doxytag: member="VPX_IMG_FMT_RGB32_LE" ref="a7a30a7bff7400fb83ad45fede5077193a289f1c915217fd690228890db7033303" args="" -->VPX_IMG_FMT_RGB32_LE</em> </td><td> <p>32 bit packed BGR0 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a62257fab5e53c2c1b589e4befbaa4643"></a><!-- doxytag: member="VPX_IMG_FMT_ARGB" ref="a7a30a7bff7400fb83ad45fede5077193a62257fab5e53c2c1b589e4befbaa4643" args="" -->VPX_IMG_FMT_ARGB</em> </td><td> <p>32 bit packed ARGB, alpha=255 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a933ca0d3511dccb7128a010c9443f13b"></a><!-- doxytag: member="VPX_IMG_FMT_ARGB_LE" ref="a7a30a7bff7400fb83ad45fede5077193a933ca0d3511dccb7128a010c9443f13b" args="" -->VPX_IMG_FMT_ARGB_LE</em> </td><td> <p>32 bit packed BGRA, alpha=255 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193ae1040770cb4f2b60931e1b0d31c39c8a"></a><!-- doxytag: member="VPX_IMG_FMT_RGB565_LE" ref="a7a30a7bff7400fb83ad45fede5077193ae1040770cb4f2b60931e1b0d31c39c8a" args="" -->VPX_IMG_FMT_RGB565_LE</em> </td><td> <p>16 bit per pixel, gggbbbbb rrrrrggg </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193ac79b2394abe0cc6c9068b7ef0007d74e"></a><!-- doxytag: member="VPX_IMG_FMT_RGB555_LE" ref="a7a30a7bff7400fb83ad45fede5077193ac79b2394abe0cc6c9068b7ef0007d74e" args="" -->VPX_IMG_FMT_RGB555_LE</em> </td><td> <p>16 bit per pixel, gggbbbbb 0rrrrrgg </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6e4e8961bbcf96478c300dc4c3e1dc18"></a><!-- doxytag: member="VPX_IMG_FMT_YV12" ref="a7a30a7bff7400fb83ad45fede5077193a6e4e8961bbcf96478c300dc4c3e1dc18" args="" -->VPX_IMG_FMT_YV12</em> </td><td> <p>Image is a planar format V plane precedes U plane in memory planar YVU </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193af17ce49c9a6efd7c8c8ea8928d4ce26c"></a><!-- doxytag: member="VPX_IMG_FMT_I420" ref="a7a30a7bff7400fb83ad45fede5077193af17ce49c9a6efd7c8c8ea8928d4ce26c" args="" -->VPX_IMG_FMT_I420</em> </td><td> <p>Image is a planar format </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a63e1daa51719dc6129881abe81a016fc"></a><!-- doxytag: member="VPX_IMG_FMT_VPXYV12" ref="a7a30a7bff7400fb83ad45fede5077193a63e1daa51719dc6129881abe81a016fc" args="" -->VPX_IMG_FMT_VPXYV12</em> </td><td> <p>Image is a planar format V plane precedes U plane in memory </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a42d26966faf7079e80cbbfee1d698493"></a><!-- doxytag: member="VPX_IMG_FMT_VPXI420" ref="a7a30a7bff7400fb83ad45fede5077193a42d26966faf7079e80cbbfee1d698493" args="" -->VPX_IMG_FMT_VPXI420</em> </td><td> <p>< planar 4:2:0 format with vpx color space Image is a planar format </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ab80398f28ca880368a922fa979eb66c1"></a><!-- doxytag: member="vpx_image.h::vpx_img_alloc" ref="ab80398f28ca880368a922fa979eb66c1" args="(vpx_image_t *img, vpx_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structvpx__image.html">vpx_image_t</a>* vpx_img_alloc </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td> <td class="paramname"><em>img</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a> </td> <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>d_w</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>d_h</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>align</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Open a descriptor, allocating storage for the underlying image. </p> <p>Returns a descriptor for storing an image of the given format. The storage for the descriptor is allocated on the heap.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to storage for descriptor. If this parameter is NULL, the storage for the descriptor will be allocated on the heap. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Format for the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">d_w</td><td>Width of the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">d_h</td><td>Height of the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">align</td><td>Alignment, in bytes, of each row in the image.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the initialized image descriptor. If the img parameter is non-null, the value of the img parameter will be returned. </dd></dl> </div> </div> <a class="anchor" id="afaf35f1f2f2f634de394faf7d6aeeeb9"></a><!-- doxytag: member="vpx_image.h::vpx_img_wrap" ref="afaf35f1f2f2f634de394faf7d6aeeeb9" args="(vpx_image_t *img, vpx_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align, unsigned char *img_data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structvpx__image.html">vpx_image_t</a>* vpx_img_wrap </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td> <td class="paramname"><em>img</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="vpx__image_8h.html#acb76f0439d5d186256371aadf3beeee4">vpx_img_fmt_t</a> </td> <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>d_w</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>d_h</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>align</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>img_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Open a descriptor, using existing storage for the underlying image. </p> <p>Returns a descriptor for storing an image of the given format. The storage for descriptor has been allocated elsewhere, and a descriptor is desired to "wrap" that storage.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Pointer to storage for descriptor. If this parameter is NULL, the storage for the descriptor will be allocated on the heap. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">fmt</td><td>Format for the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">d_w</td><td>Width of the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">d_h</td><td>Height of the image </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">align</td><td>Alignment, in bytes, of each row in the image. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">img_data</td><td>Storage to use for the image</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to the initialized image descriptor. If the img parameter is non-null, the value of the img parameter will be returned. </dd></dl> </div> </div> <a class="anchor" id="ab5c1d1a5548752f7cd5047f43d5f25c4"></a><!-- doxytag: member="vpx_image.h::vpx_img_set_rect" ref="ab5c1d1a5548752f7cd5047f43d5f25c4" args="(vpx_image_t *img, unsigned int x, unsigned int y, unsigned int w, unsigned int h)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vpx_img_set_rect </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td> <td class="paramname"><em>img</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>w</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>h</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the rectangle identifying the displayed portion of the image. </p> <p>Updates the displayed rectangle (aka viewport) on the image surface to match the specified coordinates and size.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Image descriptor </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>leftmost column </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>topmost row </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>width </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>height</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if the requested rectangle is valid, nonzero otherwise. </dd></dl> </div> </div> <a class="anchor" id="a01201327328c1cdd365632e5056b1850"></a><!-- doxytag: member="vpx_image.h::vpx_img_flip" ref="a01201327328c1cdd365632e5056b1850" args="(vpx_image_t *img)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vpx_img_flip </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td> <td class="paramname"><em>img</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Flip the image vertically (top for bottom) </p> <p>Adjusts the image descriptor's pointers and strides to make the image be referenced upside-down.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Image descriptor </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af47ebaf286812d037425d41990d48a17"></a><!-- doxytag: member="vpx_image.h::vpx_img_free" ref="af47ebaf286812d037425d41990d48a17" args="(vpx_image_t *img)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vpx_img_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image.html">vpx_image_t</a> * </td> <td class="paramname"><em>img</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Close an image descriptor. </p> <p>Frees all allocated storage associated with an image descriptor.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">img</td><td>Image descriptor </td></tr> </table> </dd> </dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Mar 10 2011 for WebM VP8 Codec SDK by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>