<!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/vp8cx.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.4 --> <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> </div> <div class="headertitle"> <div class="title">vpx/vp8cx.h File Reference<div class="ingroups"><a class="el" href="group__vp8__encoder.html">WebM VP8 Encoder</a></div></div> </div> </div> <div class="contents"> <p>Provides definitions for using the VP8 encoder algorithm within the vpx Codec Interface. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="vp8_8h_source.html">vp8.h</a>"</code><br/> <code>#include "vpx_codec_impl_top.h"</code><br/> <code>#include "vpx_codec_impl_bottom.h"</code><br/> </div> <p><a href="vp8cx_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__roi__map.html">vpx_roi_map</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx region of interest map <a href="structvpx__roi__map.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__active__map.html">vpx_active_map</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx active region map <a href="structvpx__active__map.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__scaling__mode.html">vpx_scaling_mode</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx image scaling mode <a href="structvpx__scaling__mode.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="gae0ac779c2d78f39ad22df9f9f246d1fa"></a><!-- doxytag: member="vp8cx.h::VP8CX_H" ref="gae0ac779c2d78f39ad22df9f9f246d1fa" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>VP8CX_H</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#gafb51c67e5743275146bc1fc425727da3">VP8_EFLAG_NO_REF_LAST</a>   (1<<16)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't reference the last frame. <a href="group__vp8__encoder.html#gafb51c67e5743275146bc1fc425727da3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#gabb5e95343a2738abef44eca13059da33">VP8_EFLAG_NO_REF_GF</a>   (1<<17)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't reference the golden frame. <a href="group__vp8__encoder.html#gabb5e95343a2738abef44eca13059da33"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga650ab0baea12be91082226a5cc18776a">VP8_EFLAG_NO_REF_ARF</a>   (1<<21)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't reference the alternate reference frame. <a href="group__vp8__encoder.html#ga650ab0baea12be91082226a5cc18776a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga602edb6b02a89cb2db7a16d6dffba583">VP8_EFLAG_NO_UPD_LAST</a>   (1<<18)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't update the last frame. <a href="group__vp8__encoder.html#ga602edb6b02a89cb2db7a16d6dffba583"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#gab01d066c5236457d345ce1cab4c41d6b">VP8_EFLAG_NO_UPD_GF</a>   (1<<22)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't update the golden frame. <a href="group__vp8__encoder.html#gab01d066c5236457d345ce1cab4c41d6b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga1cff46a5287e73a620660030d40b9e6c">VP8_EFLAG_NO_UPD_ARF</a>   (1<<23)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Don't update the alternate reference frame. <a href="group__vp8__encoder.html#ga1cff46a5287e73a620660030d40b9e6c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#gacb64c00adcb361f72a9a3028eb12f5ff">VP8_EFLAG_FORCE_GF</a>   (1<<19)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Force golden frame update. <a href="group__vp8__encoder.html#gacb64c00adcb361f72a9a3028eb12f5ff"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga50584fe4bdb62ff935347576539650b7">VP8_EFLAG_FORCE_ARF</a>   (1<<24)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Force alternate reference frame update. <a href="group__vp8__encoder.html#ga50584fe4bdb62ff935347576539650b7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga5b91ad179910d4efc23aef66c7b2148b">VP8_EFLAG_NO_UPD_ENTROPY</a>   (1<<20)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Disable entropy update. <a href="group__vp8__encoder.html#ga5b91ad179910d4efc23aef66c7b2148b"></a><br/></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="group__vp8__encoder.html#ga70071b1bb6cac9a1ef0ea3d8362ff94f">vpx_scaling_mode_1d</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga100ca891ad96995e61780ae777bf8663">VPX_SCALING_MODE</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx 1-D scaling mode <a href="group__vp8__encoder.html#ga100ca891ad96995e61780ae777bf8663"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__roi__map.html">vpx_roi_map</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga5be1a94d436a5e9296f5be06f57ccbd1">vpx_roi_map_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx region of interest map <a href="group__vp8__encoder.html#ga5be1a94d436a5e9296f5be06f57ccbd1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__active__map.html">vpx_active_map</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga7b48f7962f5061979f0f8ece6fb1cba8">vpx_active_map_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx active region map <a href="group__vp8__encoder.html#ga7b48f7962f5061979f0f8ece6fb1cba8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__scaling__mode.html">vpx_scaling_mode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga9600359ed9096cd96c621d9cf6c8df38">vpx_scaling_mode_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx image scaling mode <a href="group__vp8__encoder.html#ga9600359ed9096cd96c621d9cf6c8df38"></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="group__vp8__encoder.html#ga6deae3d561c838952552c3d3756322ec">vp8e_enc_control_id</a> { <br/>   <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca79463ec67bb7c282ffd090622f2a46e4">VP8E_UPD_ENTROPY</a> = 5, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca140d031294fb8c36252c802e8328c1f4">VP8E_UPD_REFERENCE</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca5bb579ead6122fafbf4a8838aa5c221e">VP8E_USE_REFERENCE</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca25a828dbab350f80db769a8f53e3940f">VP8E_SET_ROI_MAP</a>, <br/>   <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca6c904eb7e9e4aa58052742b56f1b4497">VP8E_SET_ACTIVEMAP</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca7a6db9fd1c434d2e4d91b3935777ab9f">VP8E_SET_SCALEMODE</a> = 11, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca953ff0eaa2fcdc2ecd627e449b026853">VP8E_SET_CPUUSED</a> = 13, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca24a5530efabb8b4949d01622b1d72cb0">VP8E_SET_ENABLEAUTOALTREF</a>, <br/>   <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca3fa90cb70bade72af3c2d8d91471a36c">VP8E_SET_NOISE_SENSITIVITY</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca815930923fff388825ee3cc4ef69bb28">VP8E_SET_SHARPNESS</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322ecab34559df04d3d662616300ed0682dcfd">VP8E_SET_STATIC_THRESHOLD</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca462a4f14f39a6eb5c4a4004fc8d0ad75">VP8E_SET_TOKEN_PARTITIONS</a>, <br/>   <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca5bb0569b813853e981a61c97697cbecd">VP8E_GET_LAST_QUANTIZER</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322ecad2cfc9712d2eab30b5a59a60d0daaade">VP8E_GET_LAST_QUANTIZER_64</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca628d73f1a69fadd8aa57e0dfef578da8">VP8E_SET_ARNR_MAXFRAMES</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca0a8c40a768af935ae73faa53355c3244">VP8E_SET_ARNR_STRENGTH</a>, <br/>   <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca4e0a0af58670012026c213083cd48f3a">VP8E_SET_ARNR_TYPE</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca126ccbe7bde63b59cec5ea68a82dd498">VP8E_SET_TUNING</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322ecacd4f5b730bddb9788c3d0b82218ec503">VP8E_SET_CQ_LEVEL</a>, <a class="el" href="group__vp8__encoder.html#gga6deae3d561c838952552c3d3756322eca09c69ff4a3aabdb307d4f24027dfc4c1">VP8E_SET_MAX_INTRA_BITRATE_PCT</a> <br/> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">VP8 encoder control functions. <a href="group__vp8__encoder.html#ga6deae3d561c838952552c3d3756322ec">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga70071b1bb6cac9a1ef0ea3d8362ff94f">vpx_scaling_mode_1d</a> { <b>VP8E_NORMAL</b> = 0, <b>VP8E_FOURFIVE</b> = 1, <b>VP8E_THREEFIVE</b> = 2, <b>VP8E_ONETWO</b> = 3 }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vpx 1-D scaling mode <a href="group__vp8__encoder.html#ga70071b1bb6cac9a1ef0ea3d8362ff94f">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga57a092f46c3afa879c237f775d4f51dd">vp8e_encoding_mode</a> { <b>VP8_BEST_QUALITY_ENCODING</b>, <b>VP8_GOOD_QUALITY_ENCODING</b>, <b>VP8_REAL_TIME_ENCODING</b> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">VP8 encoding mode. <a href="group__vp8__encoder.html#ga57a092f46c3afa879c237f775d4f51dd">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga5f7508ba3fb453b47f62313ed0b864d2">vp8e_token_partitions</a> { <b>VP8_ONE_TOKENPARTITION</b> = 0, <b>VP8_TWO_TOKENPARTITION</b> = 1, <b>VP8_FOUR_TOKENPARTITION</b> = 2, <b>VP8_EIGHT_TOKENPARTITION</b> = 3 }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">VP8 token partition mode. <a href="group__vp8__encoder.html#ga5f7508ba3fb453b47f62313ed0b864d2">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vp8__encoder.html#ga371dbc29054b3d46364af996ad42ab94">vp8e_tuning</a> { <b>VP8_TUNE_PSNR</b>, <b>VP8_TUNE_SSIM</b> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">VP8 model tuning parameters. <a href="group__vp8__encoder.html#ga371dbc29054b3d46364af996ad42ab94">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="member-group"></a> Algorithm interface for VP8</h2></td></tr> <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp0b829b38ff2e659173b35cd78e0735bd"></a> This interface provides the capability to encode raw VP8 streams, as would be found in AVI files. </p> </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga689ede372ab835c8e1c9631f17b47eb5"></a><!-- doxytag: member="vp8cx.h::vpx_codec_vp8_cx_algo" ref="ga689ede372ab835c8e1c9631f17b47eb5" args="" --> <a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> </td><td class="memItemRight" valign="bottom"><b>vpx_codec_vp8_cx_algo</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1b5362d0d5b5a2d50f173f9c160fad9f"></a><!-- doxytag: member="vp8cx.h::vpx_codec_vp8_cx" ref="ga1b5362d0d5b5a2d50f173f9c160fad9f" args="(void)" --> <a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> * </td><td class="memItemRight" valign="bottom"><b>vpx_codec_vp8_cx</b> (void)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Provides definitions for using the VP8 encoder algorithm within the vpx Codec Interface. </p> </div></div> <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 30 2012 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.4 </small></address> </body> </html>