<!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/vp8.h Source File</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="headertitle"> <div class="title">vp8.h</div> </div> </div><!--header--> <div class="contents"> <a href="vp8_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (c) 2010 The WebM project authors. All Rights Reserved.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Use of this source code is governed by a BSD-style license</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * that can be found in the LICENSE file in the root of the source</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * tree. An additional intellectual property rights grant can be found</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * in the file PATENTS. All contributing project authors may</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * be found in the AUTHORS file in the root of the source tree.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> */</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef VP8_H</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define VP8_H</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include "vpx_codec_impl_top.h"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="group__vp8.html#ga8cadbc8e0af3da96ef7a2dbd4ed06599"> 39</a></span> <span class="keyword">enum</span> <a class="code" href="group__vp8.html#ga8cadbc8e0af3da96ef7a2dbd4ed06599" title="Control functions.">vp8_com_control_id</a></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div> <div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a7abc38d739a5ef49c36d9b2cd88e64a6"> 41</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a7abc38d739a5ef49c36d9b2cd88e64a6">VP8_SET_REFERENCE</a> = 1, </div> <div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a5375b3ea3a4867d50daee6f5971c7470"> 42</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a5375b3ea3a4867d50daee6f5971c7470">VP8_COPY_REFERENCE</a> = 2, </div> <div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a43e85c68bc1c1473f4a94b005a59482c"> 43</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a43e85c68bc1c1473f4a94b005a59482c">VP8_SET_POSTPROC</a> = 3, </div> <div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ab52ea7a97668b603812dfc205b0fd783"> 44</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ab52ea7a97668b603812dfc205b0fd783">VP8_SET_DBG_COLOR_REF_FRAME</a> = 4, </div> <div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599aa0d5c3eaa7cbecaf64403edc8450b060"> 45</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599aa0d5c3eaa7cbecaf64403edc8450b060">VP8_SET_DBG_COLOR_MB_MODES</a> = 5, </div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ae0052b9dd3c64a4bb822abafb4755a87"> 46</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ae0052b9dd3c64a4bb822abafb4755a87">VP8_SET_DBG_COLOR_B_MODES</a> = 6, </div> <div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d"> 47</a></span>  <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d">VP8_SET_DBG_DISPLAY_MV</a> = 7, </div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  VP8_COMMON_CTRL_ID_MAX,</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  VP8_DECODER_CTRL_ID_START = 256</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> };</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> <div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="group__vp8.html#ga99557e20eb37826e6792cd8819121770"> 56</a></span> <span class="keyword">enum</span> <a class="code" href="group__vp8.html#ga99557e20eb37826e6792cd8819121770" title="post process flags">vp8_postproc_level</a></div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  VP8_NOFILTERING = 0,</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  VP8_DEBLOCK = 1<<0,</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  VP8_DEMACROBLOCK = 1<<1,</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  VP8_ADDNOISE = 1<<2,</div> <div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770ab52568f51e409f219744e06b446102bb"> 62</a></span>  <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770ab52568f51e409f219744e06b446102bb">VP8_DEBUG_TXT_FRAME_INFO</a> = 1<<3, </div> <div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770a9e3fd9032d2556918d0f6d0d1ef46d14"> 63</a></span>  <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770a9e3fd9032d2556918d0f6d0d1ef46d14">VP8_DEBUG_TXT_MBLK_MODES</a> = 1<<4, </div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770acc0405eaa19b1ed01fb40945cfce4d12"> 64</a></span>  <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770acc0405eaa19b1ed01fb40945cfce4d12">VP8_DEBUG_TXT_DC_DIFF</a> = 1<<5, </div> <div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770aff0413e7978a7cf8915b8341373751b5"> 65</a></span>  <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770aff0413e7978a7cf8915b8341373751b5">VP8_DEBUG_TXT_RATE_INFO</a> = 1<<6, </div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  VP8_MFQE = 1<<10</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> };</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="structvp8__postproc__cfg.html"> 76</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvp8__postproc__cfg.html" title="post process flags">vp8_postproc_cfg</a></div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div> <div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="structvp8__postproc__cfg.html#ae9adc230642ac230f39eb4c531cf85e5"> 78</a></span>  <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#ae9adc230642ac230f39eb4c531cf85e5">post_proc_flag</a>; </div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="structvp8__postproc__cfg.html#afe919a9546e79798d840b1492f7e0249"> 79</a></span>  <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#afe919a9546e79798d840b1492f7e0249">deblocking_level</a>; </div> <div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="structvp8__postproc__cfg.html#a32f28e4003e5d9bf55d188247f3f156c"> 80</a></span>  <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#a32f28e4003e5d9bf55d188247f3f156c">noise_level</a>; </div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> } <a class="code" href="group__vp8.html#ga7e9e955211711b2f915bc59640cc0ef0" title="post process flags">vp8_postproc_cfg_t</a>;</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> <div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="group__vp8.html#gad8ab72d8a178a68339dad2987358c331"> 87</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__vp8.html#gad8ab72d8a178a68339dad2987358c331" title="reference frame type">vpx_ref_frame_type</a></div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> {</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  VP8_LAST_FRAME = 1,</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  VP8_GOLD_FRAME = 2,</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  VP8_ALTR_FRAME = 4</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> } <a class="code" href="group__vp8.html#ga75ac0689a81bf7202382a225c5b451b4" title="reference frame type">vpx_ref_frame_type_t</a>;</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="structvpx__ref__frame.html"> 99</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvpx__ref__frame.html" title="reference frame data struct">vpx_ref_frame</a></div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div> <div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="structvpx__ref__frame.html#a7fbe51de592d0ff16d9fbd4d2b367c9b"> 101</a></span>  <a class="code" href="group__vp8.html#ga75ac0689a81bf7202382a225c5b451b4" title="reference frame type">vpx_ref_frame_type_t</a> <a class="code" href="structvpx__ref__frame.html#a7fbe51de592d0ff16d9fbd4d2b367c9b">frame_type</a>; </div> <div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="structvpx__ref__frame.html#a972d24d0243f51f84eef7e1b79c6c414"> 102</a></span>  <a class="code" href="structvpx__image.html" title="Image Descriptor.">vpx_image_t</a> <a class="code" href="structvpx__ref__frame.html#a972d24d0243f51f84eef7e1b79c6c414">img</a>; </div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> } <a class="code" href="group__vp8.html#ga9157c53799cdafd12ebee65d04e16825" title="reference frame data struct">vpx_ref_frame_t</a>;</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a7abc38d739a5ef49c36d9b2cd88e64a6">VP8_SET_REFERENCE</a>, <a class="code" href="structvpx__ref__frame.html" title="reference frame data struct">vpx_ref_frame_t</a> *)</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a5375b3ea3a4867d50daee6f5971c7470">VP8_COPY_REFERENCE</a>, <a class="code" href="structvpx__ref__frame.html" title="reference frame data struct">vpx_ref_frame_t</a> *)</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a43e85c68bc1c1473f4a94b005a59482c">VP8_SET_POSTPROC</a>, <a class="code" href="structvp8__postproc__cfg.html" title="post process flags">vp8_postproc_cfg_t</a> *)</div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ab52ea7a97668b603812dfc205b0fd783">VP8_SET_DBG_COLOR_REF_FRAME</a>, <span class="keywordtype">int</span>)</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599aa0d5c3eaa7cbecaf64403edc8450b060">VP8_SET_DBG_COLOR_MB_MODES</a>, <span class="keywordtype">int</span>)</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ae0052b9dd3c64a4bb822abafb4755a87">VP8_SET_DBG_COLOR_B_MODES</a>, <span class="keywordtype">int</span>)</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <a class="code" href="group__vp8__encoder.html#gafdd19c923e5a9457928d924823d1c5f4" title="VP8 encoder control function parameter type.">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d">VP8_SET_DBG_DISPLAY_MV</a>, <span class="keywordtype">int</span>)</div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#include "vpx_codec_impl_bottom.h"</span></div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> </div><!-- fragment --></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>