<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3"/> <title>WebM VP8 Codec SDK: vpx/vpx_image.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <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> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> <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 id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_ce0ab26228883e873492c15423e35021.html">vpx</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">vpx_image.h File Reference</div> </div> </div><!--header--> <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 class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><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 class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Image Descriptor. <a href="structvpx__image.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><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 class="memdesc:"><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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a27ebbdf8031cc70b73d31825ba0d43b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27ebbdf8031cc70b73d31825ba0d43b3"></a> #define </td><td class="memItemRight" valign="bottom"><b>VPX_IMAGE_H</b></td></tr> <tr class="separator:a27ebbdf8031cc70b73d31825ba0d43b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2bbca4a324bbc83eb49e50b6b1b7b00d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bbca4a324bbc83eb49e50b6b1b7b00d"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__image_8h.html#a2bbca4a324bbc83eb49e50b6b1b7b00d">VPX_IMAGE_ABI_VERSION</a></td></tr> <tr class="memdesc:a2bbca4a324bbc83eb49e50b6b1b7b00d"><td class="mdescLeft"> </td><td class="mdescRight">Current ABI version number. <br/></td></tr> <tr class="separator:a2bbca4a324bbc83eb49e50b6b1b7b00d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba054d28e7205f3cbd260c8b1e741bca"><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 class="separator:aba054d28e7205f3cbd260c8b1e741bca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a52193af375ccdbe6b1fc2c706e308b4e"><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 class="separator:a52193af375ccdbe6b1fc2c706e308b4e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adceef04930837f46dad16d648cb152f9"><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 class="separator:adceef04930837f46dad16d648cb152f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed2dfee103bf123bad08ceefdba21301"><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 class="separator:aed2dfee103bf123bad08ceefdba21301"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a08171c4636c655e1ab0b76e06219f9e2"><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 class="separator:a08171c4636c655e1ab0b76e06219f9e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4770fc8fa60021a2229f25553152cf81"><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 class="separator:a4770fc8fa60021a2229f25553152cf81"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aca9436ec761457cc6d2e356e0ac2fd23"><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 class="separator:aca9436ec761457cc6d2e356e0ac2fd23"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac7a57e3c466f599abbcbd655db92c24d"><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 class="separator:ac7a57e3c466f599abbcbd655db92c24d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:acb76f0439d5d186256371aadf3beeee4"><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 class="memdesc:acb76f0439d5d186256371aadf3beeee4"><td class="mdescLeft"> </td><td class="mdescRight">List of supported image formats. <a href="#acb76f0439d5d186256371aadf3beeee4"></a><br/></td></tr> <tr class="separator:acb76f0439d5d186256371aadf3beeee4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abf5ac962cc6d71b4f0e39b1b0d033e55"><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 class="memdesc:abf5ac962cc6d71b4f0e39b1b0d033e55"><td class="mdescLeft"> </td><td class="mdescRight">Image Descriptor. <a href="#abf5ac962cc6d71b4f0e39b1b0d033e55"></a><br/></td></tr> <tr class="separator:abf5ac962cc6d71b4f0e39b1b0d033e55"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba8af9e601eb9c3c41431d0f4fef65a6"><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 class="memdesc:aba8af9e601eb9c3c41431d0f4fef65a6"><td class="mdescLeft"> </td><td class="mdescRight">Representation of a rectangle on a surface. <a href="#aba8af9e601eb9c3c41431d0f4fef65a6"></a><br/></td></tr> <tr class="separator:aba8af9e601eb9c3c41431d0f4fef65a6"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a7a30a7bff7400fb83ad45fede5077193"><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 class="memdesc:a7a30a7bff7400fb83ad45fede5077193"><td class="mdescLeft"> </td><td class="mdescRight">List of supported image formats. <a href="vpx__image_8h.html#a7a30a7bff7400fb83ad45fede5077193">More...</a><br/></td></tr> <tr class="separator:a7a30a7bff7400fb83ad45fede5077193"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ab80398f28ca880368a922fa979eb66c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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 class="memdesc:ab80398f28ca880368a922fa979eb66c1"><td class="mdescLeft"> </td><td class="mdescRight">Open a descriptor, allocating storage for the underlying image. <a href="#ab80398f28ca880368a922fa979eb66c1"></a><br/></td></tr> <tr class="separator:ab80398f28ca880368a922fa979eb66c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afaf35f1f2f2f634de394faf7d6aeeeb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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 class="memdesc:afaf35f1f2f2f634de394faf7d6aeeeb9"><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 class="separator:afaf35f1f2f2f634de394faf7d6aeeeb9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab5c1d1a5548752f7cd5047f43d5f25c4"><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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a> *img, unsigned int x, unsigned int y, unsigned int w, unsigned int h)</td></tr> <tr class="memdesc:ab5c1d1a5548752f7cd5047f43d5f25c4"><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 class="separator:ab5c1d1a5548752f7cd5047f43d5f25c4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a01201327328c1cdd365632e5056b1850"><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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a> *img)</td></tr> <tr class="memdesc:a01201327328c1cdd365632e5056b1850"><td class="mdescLeft"> </td><td class="mdescRight">Flip the image vertically (top for bottom) <a href="#a01201327328c1cdd365632e5056b1850"></a><br/></td></tr> <tr class="separator:a01201327328c1cdd365632e5056b1850"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af47ebaf286812d037425d41990d48a17"><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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a> *img)</td></tr> <tr class="memdesc:af47ebaf286812d037425d41990d48a17"><td class="mdescLeft"> </td><td class="mdescRight">Close an image descriptor. <a href="#af47ebaf286812d037425d41990d48a17"></a><br/></td></tr> <tr class="separator:af47ebaf286812d037425d41990d48a17"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Describes the vpx image descriptor and associated operations. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="aba054d28e7205f3cbd260c8b1e741bca"></a> <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> <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> <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> <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> <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> <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> <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> <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> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="acb76f0439d5d186256371aadf3beeee4"></a> <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> <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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <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="vpx__image_8h.html#aba8af9e601eb9c3c41431d0f4fef65a6">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> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193"></a> <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> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a768c82ecfd7f7de4095ba587185cacc3"></a>VPX_IMG_FMT_RGB24</em> </td><td class="fielddoc"> <p>24 bit per pixel packed RGB </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6a4b7c1ab7811898df2c433168f8cad7"></a>VPX_IMG_FMT_RGB32</em> </td><td class="fielddoc"> <p>32 bit per pixel packed 0RGB </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a0e0df90f12025dffb425ab586bc190b8"></a>VPX_IMG_FMT_RGB565</em> </td><td class="fielddoc"> <p>16 bit per pixel, 565 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a7801d709598e8aa57a811ef008389fac"></a>VPX_IMG_FMT_RGB555</em> </td><td class="fielddoc"> <p>16 bit per pixel, 555 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193aaac20056f1282ec3e23b2f3df5197ebd"></a>VPX_IMG_FMT_UYVY</em> </td><td class="fielddoc"> <p>UYVY packed YUV </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a54251eea14c31a916a9181d8e38bcc2e"></a>VPX_IMG_FMT_YUY2</em> </td><td class="fielddoc"> <p>YUYV packed YUV </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6982ba2da461ca8d7b7a8a2efd018dea"></a>VPX_IMG_FMT_YVYU</em> </td><td class="fielddoc"> <p>YVYU packed YUV </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a5c585a577f88505845496cba7054a412"></a>VPX_IMG_FMT_BGR24</em> </td><td class="fielddoc"> <p>24 bit per pixel packed BGR </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a289f1c915217fd690228890db7033303"></a>VPX_IMG_FMT_RGB32_LE</em> </td><td class="fielddoc"> <p>32 bit packed BGR0 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a62257fab5e53c2c1b589e4befbaa4643"></a>VPX_IMG_FMT_ARGB</em> </td><td class="fielddoc"> <p>32 bit packed ARGB, alpha=255 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a933ca0d3511dccb7128a010c9443f13b"></a>VPX_IMG_FMT_ARGB_LE</em> </td><td class="fielddoc"> <p>32 bit packed BGRA, alpha=255 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193ae1040770cb4f2b60931e1b0d31c39c8a"></a>VPX_IMG_FMT_RGB565_LE</em> </td><td class="fielddoc"> <p>16 bit per pixel, gggbbbbb rrrrrggg </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193ac79b2394abe0cc6c9068b7ef0007d74e"></a>VPX_IMG_FMT_RGB555_LE</em> </td><td class="fielddoc"> <p>16 bit per pixel, gggbbbbb 0rrrrrgg </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a6e4e8961bbcf96478c300dc4c3e1dc18"></a>VPX_IMG_FMT_YV12</em> </td><td class="fielddoc"> <p>Image is a planar format V plane precedes U plane in memory planar YVU </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193af17ce49c9a6efd7c8c8ea8928d4ce26c"></a>VPX_IMG_FMT_I420</em> </td><td class="fielddoc"> <p>Image is a planar format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a63e1daa51719dc6129881abe81a016fc"></a>VPX_IMG_FMT_VPXYV12</em> </td><td class="fielddoc"> <p>Image is a planar format V plane precedes U plane in memory </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a7a30a7bff7400fb83ad45fede5077193a42d26966faf7079e80cbbfee1d698493"></a>VPX_IMG_FMT_VPXI420</em> </td><td class="fielddoc"> <p>< planar 4:2:0 format with vpx color space Image is a planar format </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ab80398f28ca880368a922fa979eb66c1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a>* vpx_img_alloc </td> <td>(</td> <td class="paramtype"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <pre class="fragment"> Returns a descriptor for storing an image of the given format. The storage for the descriptor is allocated on the heap. </pre><dl class="params"><dt>Parameters</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 the image buffer and each row in the image(stride).</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</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> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">vpx_image_t</a>* vpx_img_wrap </td> <td>(</td> <td class="paramtype"><a class="el" href="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <pre class="fragment"> 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. </pre><dl class="params"><dt>Parameters</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="section return"><dt>Returns</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> <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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <pre class="fragment"> Updates the displayed rectangle (aka viewport) on the image surface to match the specified coordinates and size. </pre><dl class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>0 if the requested rectangle is valid, nonzero otherwise. </dd></dl> </div> </div> <a class="anchor" id="a01201327328c1cdd365632e5056b1850"></a> <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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <pre class="fragment"> Adjusts the image descriptor's pointers and strides to make the image be referenced upside-down. </pre><dl class="params"><dt>Parameters</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> <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="vpx__image_8h.html#abf5ac962cc6d71b4f0e39b1b0d033e55">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> <pre class="fragment"> Frees all allocated storage associated with an image descriptor. </pre><dl class="params"><dt>Parameters</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><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3 </small></address> </body> </html>