<!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_codec/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.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="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 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>vpx_codec/vpx_image.h File Reference</h1> <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 border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>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__t.html">vpx_image_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Image Descriptor. <a href="structvpx__image__t.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>Defines</h2></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#a3ef31a0d5e7a5adae93a6dfe21721d0c">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#a0d8d4913f2a5922c3b523e4c7e4559e4">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#aa449f6bfde4bd0aaa46ed874ea6a8b79">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#a118374b15698cfc8e2260ba9c5c8e986">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#a1ab038a51647492906398a58e7a6d0d9">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#a4adea27b042c750ccde41c21802f9422">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#ad5a6daabdd0b90ed64f9146a78738fb5">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#ab31379d97518c630576bcc3a2751fc56">PLANE_ALPHA</a> 3</td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33">img_fmt</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a9fa75a4d4b93436e4debe21996036bb2">img_fmt_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">List of supported image formats. <a href="#a9fa75a4d4b93436e4debe21996036bb2"></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>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#a00f5b90458d6175d5308abe96cc4ca33">img_fmt</a> { <br/> <b>IMG_FMT_NONE</b>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33afd4c27917ec3654626b65ae8a696c5a5">IMG_FMT_RGB24</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a8751a40d17b9f1ebd294c74d1719c993">IMG_FMT_RGB32</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a1459892dec1856cd245c27c7ec1c3c04">IMG_FMT_RGB565</a>, <br/> <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a055290294e7739abb9e929afbdfa0d9b">IMG_FMT_RGB555</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a8ebd19863cb1ddde5dbff8aa46452426">IMG_FMT_UYVY</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a8e72e7a8bf59591859fc1044d8681e23">IMG_FMT_YUY2</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a7ad48dc0f3f732ec75f15be6ff1786ac">IMG_FMT_YVYU</a>, <br/> <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a0dec4a9b4b34137bb52b93f08ed970fc">IMG_FMT_BGR24</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a0d748b68569dd62caabd99ca46168616">IMG_FMT_RGB32_LE</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33ab8134fb870a14d08d4a8a1e9b319defb">IMG_FMT_ARGB</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a5a8febcafd29d16254d5a4c3fcd26b9a">IMG_FMT_ARGB_LE</a>, <br/> <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a40777cae4bebd868bf9a4be8dbb275e5">IMG_FMT_RGB565_LE</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33af10a6ecae717253e1d59467de6d77cbc">IMG_FMT_RGB555_LE</a>, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33a3351bafc9e4bca280e9563172c865118">IMG_FMT_YV12</a> = 0x100 | 0x200 | 1, <b>IMG_FMT_I420</b> = 0x100 | 2, <br/> <b>IMG_FMT_VPXYV12</b> = 0x100 | 0x200 | 3, <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33aba5454aa539d8cabde3a3848eeddfee7">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#a00f5b90458d6175d5308abe96cc4ca33">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvpx__image__t.html">vpx_image_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a4514a8301d2e85e550f64fb31aec8d38">vpx_img_alloc</a> (<a class="el" href="structvpx__image__t.html">vpx_image_t</a> *img, <a class="el" href="vpx__image_8h.html#a9fa75a4d4b93436e4debe21996036bb2">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="#a4514a8301d2e85e550f64fb31aec8d38"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvpx__image__t.html">vpx_image_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a36524340c75ca36fa21d6b1fcc43dbaa">vpx_img_wrap</a> (<a class="el" href="structvpx__image__t.html">vpx_image_t</a> *img, <a class="el" href="vpx__image_8h.html#a9fa75a4d4b93436e4debe21996036bb2">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="#a36524340c75ca36fa21d6b1fcc43dbaa"></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__t.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__t.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__t.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> <p>Describes the vpx image descriptor and associated operations. </p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a3ef31a0d5e7a5adae93a6dfe21721d0c"></a><!-- doxytag: member="vpx_image.h::IMG_FMT_PLANAR" ref="a3ef31a0d5e7a5adae93a6dfe21721d0c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IMG_FMT_PLANAR 0x100</td> </tr> </table> </div> <div class="memdoc"> <p>Image is a planar format </p> </div> </div> <a class="anchor" id="a0d8d4913f2a5922c3b523e4c7e4559e4"></a><!-- doxytag: member="vpx_image.h::IMG_FMT_UV_FLIP" ref="a0d8d4913f2a5922c3b523e4c7e4559e4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define 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="aa449f6bfde4bd0aaa46ed874ea6a8b79"></a><!-- doxytag: member="vpx_image.h::IMG_FMT_HAS_ALPHA" ref="aa449f6bfde4bd0aaa46ed874ea6a8b79" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IMG_FMT_HAS_ALPHA 0x400</td> </tr> </table> </div> <div class="memdoc"> <p>Image has an alpha channel componnent </p> </div> </div> <a class="anchor" id="a118374b15698cfc8e2260ba9c5c8e986"></a><!-- doxytag: member="vpx_image.h::PLANE_PACKED" ref="a118374b15698cfc8e2260ba9c5c8e986" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define 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="a1ab038a51647492906398a58e7a6d0d9"></a><!-- doxytag: member="vpx_image.h::PLANE_Y" ref="a1ab038a51647492906398a58e7a6d0d9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PLANE_Y 0</td> </tr> </table> </div> <div class="memdoc"> <p>Y (Luminance) plane </p> </div> </div> <a class="anchor" id="a4adea27b042c750ccde41c21802f9422"></a><!-- doxytag: member="vpx_image.h::PLANE_U" ref="a4adea27b042c750ccde41c21802f9422" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PLANE_U 1</td> </tr> </table> </div> <div class="memdoc"> <p>U (Chroma) plane </p> </div> </div> <a class="anchor" id="ad5a6daabdd0b90ed64f9146a78738fb5"></a><!-- doxytag: member="vpx_image.h::PLANE_V" ref="ad5a6daabdd0b90ed64f9146a78738fb5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PLANE_V 2</td> </tr> </table> </div> <div class="memdoc"> <p>V (Chroma) plane </p> </div> </div> <a class="anchor" id="ab31379d97518c630576bcc3a2751fc56"></a><!-- doxytag: member="vpx_image.h::PLANE_ALPHA" ref="ab31379d97518c630576bcc3a2751fc56" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PLANE_ALPHA 3</td> </tr> </table> </div> <div class="memdoc"> <p>A (Transparancy) plane </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a9fa75a4d4b93436e4debe21996036bb2"></a><!-- doxytag: member="vpx_image.h::img_fmt_t" ref="a9fa75a4d4b93436e4debe21996036bb2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef enum <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33">img_fmt</a> <a class="el" href="vpx__image_8h.html#a9fa75a4d4b93436e4debe21996036bb2">img_fmt_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>List of supported image formats. </p> <p>alias for enum img_fmt </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="a00f5b90458d6175d5308abe96cc4ca33"></a><!-- doxytag: member="vpx_image.h::img_fmt" ref="a00f5b90458d6175d5308abe96cc4ca33" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="vpx__image_8h.html#a00f5b90458d6175d5308abe96cc4ca33">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="a00f5b90458d6175d5308abe96cc4ca33afd4c27917ec3654626b65ae8a696c5a5"></a><!-- doxytag: member="IMG_FMT_RGB24" ref="a00f5b90458d6175d5308abe96cc4ca33afd4c27917ec3654626b65ae8a696c5a5" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a8751a40d17b9f1ebd294c74d1719c993"></a><!-- doxytag: member="IMG_FMT_RGB32" ref="a00f5b90458d6175d5308abe96cc4ca33a8751a40d17b9f1ebd294c74d1719c993" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a1459892dec1856cd245c27c7ec1c3c04"></a><!-- doxytag: member="IMG_FMT_RGB565" ref="a00f5b90458d6175d5308abe96cc4ca33a1459892dec1856cd245c27c7ec1c3c04" args="" -->IMG_FMT_RGB565</em> </td><td> <p>16 bit per pixel, 565 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33a055290294e7739abb9e929afbdfa0d9b"></a><!-- doxytag: member="IMG_FMT_RGB555" ref="a00f5b90458d6175d5308abe96cc4ca33a055290294e7739abb9e929afbdfa0d9b" args="" -->IMG_FMT_RGB555</em> </td><td> <p>16 bit per pixel, 555 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33a8ebd19863cb1ddde5dbff8aa46452426"></a><!-- doxytag: member="IMG_FMT_UYVY" ref="a00f5b90458d6175d5308abe96cc4ca33a8ebd19863cb1ddde5dbff8aa46452426" args="" -->IMG_FMT_UYVY</em> </td><td> <p>UYVY packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33a8e72e7a8bf59591859fc1044d8681e23"></a><!-- doxytag: member="IMG_FMT_YUY2" ref="a00f5b90458d6175d5308abe96cc4ca33a8e72e7a8bf59591859fc1044d8681e23" args="" -->IMG_FMT_YUY2</em> </td><td> <p>YUYV packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33a7ad48dc0f3f732ec75f15be6ff1786ac"></a><!-- doxytag: member="IMG_FMT_YVYU" ref="a00f5b90458d6175d5308abe96cc4ca33a7ad48dc0f3f732ec75f15be6ff1786ac" args="" -->IMG_FMT_YVYU</em> </td><td> <p>YVYU packed YUV </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33a0dec4a9b4b34137bb52b93f08ed970fc"></a><!-- doxytag: member="IMG_FMT_BGR24" ref="a00f5b90458d6175d5308abe96cc4ca33a0dec4a9b4b34137bb52b93f08ed970fc" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a0d748b68569dd62caabd99ca46168616"></a><!-- doxytag: member="IMG_FMT_RGB32_LE" ref="a00f5b90458d6175d5308abe96cc4ca33a0d748b68569dd62caabd99ca46168616" args="" -->IMG_FMT_RGB32_LE</em> </td><td> <p>32 bit packed BGR0 </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33ab8134fb870a14d08d4a8a1e9b319defb"></a><!-- doxytag: member="IMG_FMT_ARGB" ref="a00f5b90458d6175d5308abe96cc4ca33ab8134fb870a14d08d4a8a1e9b319defb" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a5a8febcafd29d16254d5a4c3fcd26b9a"></a><!-- doxytag: member="IMG_FMT_ARGB_LE" ref="a00f5b90458d6175d5308abe96cc4ca33a5a8febcafd29d16254d5a4c3fcd26b9a" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a40777cae4bebd868bf9a4be8dbb275e5"></a><!-- doxytag: member="IMG_FMT_RGB565_LE" ref="a00f5b90458d6175d5308abe96cc4ca33a40777cae4bebd868bf9a4be8dbb275e5" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33af10a6ecae717253e1d59467de6d77cbc"></a><!-- doxytag: member="IMG_FMT_RGB555_LE" ref="a00f5b90458d6175d5308abe96cc4ca33af10a6ecae717253e1d59467de6d77cbc" args="" -->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="a00f5b90458d6175d5308abe96cc4ca33a3351bafc9e4bca280e9563172c865118"></a><!-- doxytag: member="IMG_FMT_YV12" ref="a00f5b90458d6175d5308abe96cc4ca33a3351bafc9e4bca280e9563172c865118" args="" -->IMG_FMT_YV12</em> </td><td> <p>planar YVU </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a00f5b90458d6175d5308abe96cc4ca33aba5454aa539d8cabde3a3848eeddfee7"></a><!-- doxytag: member="IMG_FMT_VPXI420" ref="a00f5b90458d6175d5308abe96cc4ca33aba5454aa539d8cabde3a3848eeddfee7" args="" -->IMG_FMT_VPXI420</em> </td><td> <p>< planar 4:2:0 format with vpx color space </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a4514a8301d2e85e550f64fb31aec8d38"></a><!-- doxytag: member="vpx_image.h::vpx_img_alloc" ref="a4514a8301d2e85e550f64fb31aec8d38" args="(vpx_image_t *img, 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__t.html">vpx_image_t</a>* vpx_img_alloc </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image__t.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#a9fa75a4d4b93436e4debe21996036bb2">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><td> </td> </tr> <tr> <td></td> <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 border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img</em> </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 valign="top"><tt>[in]</tt> </td><td valign="top"><em>fmt</em> </td><td>Format for the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>d_w</em> </td><td>Width of the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>d_h</em> </td><td>Height of the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>align</em> </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="a36524340c75ca36fa21d6b1fcc43dbaa"></a><!-- doxytag: member="vpx_image.h::vpx_img_wrap" ref="a36524340c75ca36fa21d6b1fcc43dbaa" args="(vpx_image_t *img, 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__t.html">vpx_image_t</a>* vpx_img_wrap </td> <td>(</td> <td class="paramtype"><a class="el" href="structvpx__image__t.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#a9fa75a4d4b93436e4debe21996036bb2">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><td> </td> </tr> <tr> <td></td> <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 border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img</em> </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 valign="top"><tt>[in]</tt> </td><td valign="top"><em>fmt</em> </td><td>Format for the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>d_w</em> </td><td>Width of the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>d_h</em> </td><td>Height of the image </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>align</em> </td><td>Alignment, in bytes, of each row in the image. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img_data</em> </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__t.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><td> </td> </tr> <tr> <td></td> <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 border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img</em> </td><td>Image descriptor </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>x</em> </td><td>leftmost column </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>y</em> </td><td>topmost row </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>w</em> </td><td>width </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>h</em> </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__t.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 border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img</em> </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__t.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 border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>img</em> </td><td>Image descriptor </td></tr> </table> </dd> </dl> </div> </div> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 25 Jun 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.6.1 </small></address> </body> </html>