<!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/vp8.h Source File</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 class="header"> <div class="headertitle"> <div class="title">vpx/vp8.h</div> </div> </div> <div class="contents"> <a href="vp8_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2010 The WebM project authors. All Rights Reserved.</span> <a name="l00003"></a>00003 <span class="comment"> *</span> <a name="l00004"></a>00004 <span class="comment"> * Use of this source code is governed by a BSD-style license</span> <a name="l00005"></a>00005 <span class="comment"> * that can be found in the LICENSE file in the root of the source</span> <a name="l00006"></a>00006 <span class="comment"> * tree. An additional intellectual property rights grant can be found</span> <a name="l00007"></a>00007 <span class="comment"> * in the file PATENTS. All contributing project authors may</span> <a name="l00008"></a>00008 <span class="comment"> * be found in the AUTHORS file in the root of the source tree.</span> <a name="l00009"></a>00009 <span class="comment"> */</span> <a name="l00010"></a>00010 <a name="l00011"></a>00011 <a name="l00031"></a>00031 <span class="preprocessor">#ifndef VP8_H</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define VP8_H</span> <a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#include "vpx_codec_impl_top.h"</span> <a name="l00034"></a>00034 <a name="l00039"></a><a class="code" href="group__vp8.html#ga8cadbc8e0af3da96ef7a2dbd4ed06599">00039</a> <span class="keyword">enum</span> <a class="code" href="group__vp8.html#ga8cadbc8e0af3da96ef7a2dbd4ed06599" title="Control functions.">vp8_com_control_id</a> <a name="l00040"></a>00040 { <a name="l00041"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a7abc38d739a5ef49c36d9b2cd88e64a6">00041</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a7abc38d739a5ef49c36d9b2cd88e64a6">VP8_SET_REFERENCE</a> = 1, <a name="l00042"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a5375b3ea3a4867d50daee6f5971c7470">00042</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a5375b3ea3a4867d50daee6f5971c7470">VP8_COPY_REFERENCE</a> = 2, <a name="l00043"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a43e85c68bc1c1473f4a94b005a59482c">00043</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599a43e85c68bc1c1473f4a94b005a59482c">VP8_SET_POSTPROC</a> = 3, <a name="l00044"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ab52ea7a97668b603812dfc205b0fd783">00044</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ab52ea7a97668b603812dfc205b0fd783">VP8_SET_DBG_COLOR_REF_FRAME</a> = 4, <a name="l00045"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599aa0d5c3eaa7cbecaf64403edc8450b060">00045</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599aa0d5c3eaa7cbecaf64403edc8450b060">VP8_SET_DBG_COLOR_MB_MODES</a> = 5, <a name="l00046"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ae0052b9dd3c64a4bb822abafb4755a87">00046</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599ae0052b9dd3c64a4bb822abafb4755a87">VP8_SET_DBG_COLOR_B_MODES</a> = 6, <a name="l00047"></a><a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d">00047</a> <a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d">VP8_SET_DBG_DISPLAY_MV</a> = 7, <a name="l00048"></a>00048 VP8_COMMON_CTRL_ID_MAX, <a name="l00049"></a>00049 VP8_DECODER_CTRL_ID_START = 256, <a name="l00050"></a>00050 }; <a name="l00051"></a>00051 <a name="l00056"></a><a class="code" href="group__vp8.html#ga99557e20eb37826e6792cd8819121770">00056</a> <span class="keyword">enum</span> <a class="code" href="group__vp8.html#ga99557e20eb37826e6792cd8819121770" title="post process flags">vp8_postproc_level</a> <a name="l00057"></a>00057 { <a name="l00058"></a>00058 VP8_NOFILTERING = 0, <a name="l00059"></a>00059 VP8_DEBLOCK = 1<<0, <a name="l00060"></a>00060 VP8_DEMACROBLOCK = 1<<1, <a name="l00061"></a>00061 VP8_ADDNOISE = 1<<2, <a name="l00062"></a><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770ab52568f51e409f219744e06b446102bb">00062</a> <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770ab52568f51e409f219744e06b446102bb">VP8_DEBUG_TXT_FRAME_INFO</a> = 1<<3, <a name="l00063"></a><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770a9e3fd9032d2556918d0f6d0d1ef46d14">00063</a> <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770a9e3fd9032d2556918d0f6d0d1ef46d14">VP8_DEBUG_TXT_MBLK_MODES</a> = 1<<4, <a name="l00064"></a><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770acc0405eaa19b1ed01fb40945cfce4d12">00064</a> <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770acc0405eaa19b1ed01fb40945cfce4d12">VP8_DEBUG_TXT_DC_DIFF</a> = 1<<5, <a name="l00065"></a><a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770aff0413e7978a7cf8915b8341373751b5">00065</a> <a class="code" href="group__vp8.html#gga99557e20eb37826e6792cd8819121770aff0413e7978a7cf8915b8341373751b5">VP8_DEBUG_TXT_RATE_INFO</a> = 1<<6, <a name="l00066"></a>00066 VP8_MFQE = 1<<10, <a name="l00067"></a>00067 }; <a name="l00068"></a>00068 <a name="l00076"></a><a class="code" href="structvp8__postproc__cfg.html">00076</a> <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> <a name="l00077"></a>00077 { <a name="l00078"></a><a class="code" href="structvp8__postproc__cfg.html#ae9adc230642ac230f39eb4c531cf85e5">00078</a> <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#ae9adc230642ac230f39eb4c531cf85e5">post_proc_flag</a>; <a name="l00079"></a><a class="code" href="structvp8__postproc__cfg.html#afe919a9546e79798d840b1492f7e0249">00079</a> <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#afe919a9546e79798d840b1492f7e0249">deblocking_level</a>; <a name="l00080"></a><a class="code" href="structvp8__postproc__cfg.html#a32f28e4003e5d9bf55d188247f3f156c">00080</a> <span class="keywordtype">int</span> <a class="code" href="structvp8__postproc__cfg.html#a32f28e4003e5d9bf55d188247f3f156c">noise_level</a>; <a name="l00081"></a>00081 } <a class="code" href="group__vp8.html#ga7e9e955211711b2f915bc59640cc0ef0" title="post process flags">vp8_postproc_cfg_t</a>; <a name="l00082"></a>00082 <a name="l00087"></a><a class="code" href="group__vp8.html#gad8ab72d8a178a68339dad2987358c331">00087</a> <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> <a name="l00088"></a>00088 { <a name="l00089"></a>00089 VP8_LAST_FRAME = 1, <a name="l00090"></a>00090 VP8_GOLD_FRAME = 2, <a name="l00091"></a>00091 VP8_ALTR_FRAME = 4 <a name="l00092"></a>00092 } <a class="code" href="group__vp8.html#ga75ac0689a81bf7202382a225c5b451b4" title="reference frame type">vpx_ref_frame_type_t</a>; <a name="l00093"></a>00093 <a name="l00099"></a><a class="code" href="structvpx__ref__frame.html">00099</a> <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> <a name="l00100"></a>00100 { <a name="l00101"></a><a class="code" href="structvpx__ref__frame.html#a7fbe51de592d0ff16d9fbd4d2b367c9b">00101</a> <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>; <a name="l00102"></a><a class="code" href="structvpx__ref__frame.html#a972d24d0243f51f84eef7e1b79c6c414">00102</a> <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>; <a name="l00103"></a>00103 } <a class="code" href="group__vp8.html#ga9157c53799cdafd12ebee65d04e16825" title="reference frame data struct">vpx_ref_frame_t</a>; <a name="l00104"></a>00104 <a name="l00105"></a>00105 <a name="l00111"></a>00111 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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> *) <a name="l00112"></a>00112 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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> *) <a name="l00113"></a>00113 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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> *) <a name="l00114"></a>00114 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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>) <a name="l00115"></a>00115 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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>) <a name="l00116"></a>00116 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">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>) <a name="l00117"></a>00117 <a class="code" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">VPX_CTRL_USE_TYPE</a>(<a class="code" href="group__vp8.html#gga8cadbc8e0af3da96ef7a2dbd4ed06599abc6aef0d7e0486d25348de217ad8441d">VP8_SET_DBG_DISPLAY_MV</a>, <span class="keywordtype">int</span>) <a name="l00118"></a>00118 <a name="l00119"></a>00119 <a name="l00122"></a>00122 <span class="preprocessor">#if !defined(VPX_CODEC_DISABLE_COMPAT) || !VPX_CODEC_DISABLE_COMPAT</span> <a name="l00123"></a>00123 <span class="preprocessor"></span><span class="comment">/* The following definitions are provided for backward compatibility with</span> <a name="l00124"></a>00124 <span class="comment"> * the VP8 1.0.x SDK. USE IN PRODUCTION CODE IS NOT RECOMMENDED.</span> <a name="l00125"></a>00125 <span class="comment"> */</span> <a name="l00126"></a>00126 <a name="l00127"></a>00127 <a class="code" href="group__codec.html#gab61b56b074706ee8423d864b511212ad">DECLSPEC_DEPRECATED</a> <span class="keyword">extern</span> <a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e" title="Codec interface structure.">vpx_codec_iface_t</a> vpx_codec_vp8_algo <a class="code" href="group__codec.html#gac1e8a42306d8e67cb94ca31c3956ee78" title="Decorator indicating a function is deprecated.">DEPRECATED</a>; <a name="l00128"></a>00128 <span class="preprocessor">#endif</span> <a name="l00129"></a>00129 <span class="preprocessor"></span> <a name="l00130"></a>00130 <span class="preprocessor">#include "vpx_codec_impl_bottom.h"</span> <a name="l00131"></a>00131 <span class="preprocessor">#endif</span> </pre></div></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>