Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ffmpeg-doc / usr / share / doc / ffmpeg / api / group__lavc__misc.html
Size: Mime:
<!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.6"/>
<title>FFmpeg: Utility functions</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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">FFmpeg
   &#160;<span id="projectnumber">3.0.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Utility functions<div class="ingroups"><a class="el" href="group__libavc.html">Encoding/Decoding Library</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Miscellaneous utility functions related to both encoding and decoding (or neither).  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__lavc__misc__pixfmt"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc__pixfmt.html">Pixel formats</a></td></tr>
<tr class="memdesc:group__lavc__misc__pixfmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for working with pixel formats. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__lavc__fft"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__fft.html">FFT functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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:ga7a013315e444069ec9630ddf3edce3f8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga7a013315e444069ec9630ddf3edce3f8">AVLockOp</a> { <a class="el" href="group__lavc__misc.html#gga7a013315e444069ec9630ddf3edce3f8a486a4a2d7a97554c2e073536c038465d">AV_LOCK_CREATE</a>, 
<a class="el" href="group__lavc__misc.html#gga7a013315e444069ec9630ddf3edce3f8af684bbd8575f2686f42346f5e43be673">AV_LOCK_OBTAIN</a>, 
<a class="el" href="group__lavc__misc.html#gga7a013315e444069ec9630ddf3edce3f8a7c470cd815cdef3b16a977e9a8c89c69">AV_LOCK_RELEASE</a>, 
<a class="el" href="group__lavc__misc.html#gga7a013315e444069ec9630ddf3edce3f8aee9ae55e2efe16565998e473c2a18935">AV_LOCK_DESTROY</a>
 }</td></tr>
<tr class="memdesc:ga7a013315e444069ec9630ddf3edce3f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock operation used by lockmgr.  <a href="group__lavc__misc.html#ga7a013315e444069ec9630ddf3edce3f8">More...</a><br/></td></tr>
<tr class="separator:ga7a013315e444069ec9630ddf3edce3f8"><td class="memSeparator" colspan="2">&#160;</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:ga4e17541c4f237465b50668d279192da8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga4e17541c4f237465b50668d279192da8">avcodec_set_dimensions</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *s, int <a class="el" href="demuxing__decoding_8c.html#a2474a5474cbff19523a51eb1de01cda4">width</a>, int <a class="el" href="demuxing__decoding_8c.html#ad12fc34ce789bce6c8a05d8a17138534">height</a>)</td></tr>
<tr class="separator:ga4e17541c4f237465b50668d279192da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f9e278e427564ee2e8b0ad875dbe5df"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga1f9e278e427564ee2e8b0ad875dbe5df">av_get_codec_tag_string</a> (char *buf, size_t buf_size, unsigned int codec_tag)</td></tr>
<tr class="memdesc:ga1f9e278e427564ee2e8b0ad875dbe5df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put a string representing the codec tag codec_tag in buf.  <a href="#ga1f9e278e427564ee2e8b0ad875dbe5df">More...</a><br/></td></tr>
<tr class="separator:ga1f9e278e427564ee2e8b0ad875dbe5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d4056568b5ab73d2e55800d9a5caa66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga6d4056568b5ab73d2e55800d9a5caa66">avcodec_string</a> (char *buf, int buf_size, <a class="el" href="structAVCodecContext.html">AVCodecContext</a> *enc, int encode)</td></tr>
<tr class="separator:ga6d4056568b5ab73d2e55800d9a5caa66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dc4a8003d0818a235bde2d8fbe81e11"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga0dc4a8003d0818a235bde2d8fbe81e11">av_get_profile_name</a> (const <a class="el" href="structAVCodec.html">AVCodec</a> *codec, int profile)</td></tr>
<tr class="memdesc:ga0dc4a8003d0818a235bde2d8fbe81e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a name for the specified profile, if available.  <a href="#ga0dc4a8003d0818a235bde2d8fbe81e11">More...</a><br/></td></tr>
<tr class="separator:ga0dc4a8003d0818a235bde2d8fbe81e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f9d1f2fbf0978fc1ddc2fe196f29fa4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga7f9d1f2fbf0978fc1ddc2fe196f29fa4">avcodec_profile_name</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> codec_id, int profile)</td></tr>
<tr class="memdesc:ga7f9d1f2fbf0978fc1ddc2fe196f29fa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a name for the specified profile, if available.  <a href="#ga7f9d1f2fbf0978fc1ddc2fe196f29fa4">More...</a><br/></td></tr>
<tr class="separator:ga7f9d1f2fbf0978fc1ddc2fe196f29fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ccd730ba6e891b6c61da68ab138c63f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga9ccd730ba6e891b6c61da68ab138c63f">avcodec_default_execute</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c, int(*func)(<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c2, void *arg2), void *arg, int *ret, int count, int size)</td></tr>
<tr class="separator:ga9ccd730ba6e891b6c61da68ab138c63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga365b89d7f5b6dc9f930f07ec4078a611"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga365b89d7f5b6dc9f930f07ec4078a611">avcodec_default_execute2</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c, int(*func)(<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c2, void *arg2, int, int), void *arg, int *ret, int count)</td></tr>
<tr class="separator:ga365b89d7f5b6dc9f930f07ec4078a611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66b44aad56fa22a78fb8916eb8cc0516"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga66b44aad56fa22a78fb8916eb8cc0516">avcodec_fill_audio_frame</a> (<a class="el" href="structAVFrame.html">AVFrame</a> *<a class="el" href="extract__mvs_8c.html#ad7d33d579a8d4241a5e643e39287a209">frame</a>, int nb_channels, enum <a class="el" href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a> sample_fmt, const uint8_t *buf, int buf_size, int align)</td></tr>
<tr class="memdesc:ga66b44aad56fa22a78fb8916eb8cc0516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data. ">AVFrame</a> audio data and linesize pointers.  <a href="#ga66b44aad56fa22a78fb8916eb8cc0516">More...</a><br/></td></tr>
<tr class="separator:ga66b44aad56fa22a78fb8916eb8cc0516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf60b0e076f822abcb2700eb601d352a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gaf60b0e076f822abcb2700eb601d352a6">avcodec_flush_buffers</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *avctx)</td></tr>
<tr class="memdesc:gaf60b0e076f822abcb2700eb601d352a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the internal decoder state / flush internal buffers.  <a href="#gaf60b0e076f822abcb2700eb601d352a6">More...</a><br/></td></tr>
<tr class="separator:gaf60b0e076f822abcb2700eb601d352a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0717e7440fdb123f708082f66cd9b41d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga0717e7440fdb123f708082f66cd9b41d">av_get_bits_per_sample</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> codec_id)</td></tr>
<tr class="memdesc:ga0717e7440fdb123f708082f66cd9b41d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return codec bits per sample.  <a href="#ga0717e7440fdb123f708082f66cd9b41d">More...</a><br/></td></tr>
<tr class="separator:ga0717e7440fdb123f708082f66cd9b41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa5775a0bd6a6ab58011e8492156eb6e"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gafa5775a0bd6a6ab58011e8492156eb6e">av_get_pcm_codec</a> (enum <a class="el" href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a> fmt, int be)</td></tr>
<tr class="memdesc:gafa5775a0bd6a6ab58011e8492156eb6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the PCM codec associated with a sample format.  <a href="#gafa5775a0bd6a6ab58011e8492156eb6e">More...</a><br/></td></tr>
<tr class="separator:gafa5775a0bd6a6ab58011e8492156eb6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadddbcd146ffaf53016bac730c631f7b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gadddbcd146ffaf53016bac730c631f7b3">av_get_exact_bits_per_sample</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> codec_id)</td></tr>
<tr class="memdesc:gadddbcd146ffaf53016bac730c631f7b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return codec bits per sample.  <a href="#gadddbcd146ffaf53016bac730c631f7b3">More...</a><br/></td></tr>
<tr class="separator:gadddbcd146ffaf53016bac730c631f7b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3266a8c3df0790c62259f91afcde45a9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga3266a8c3df0790c62259f91afcde45a9">av_get_audio_frame_duration</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *avctx, int frame_bytes)</td></tr>
<tr class="memdesc:ga3266a8c3df0790c62259f91afcde45a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return audio frame duration.  <a href="#ga3266a8c3df0790c62259f91afcde45a9">More...</a><br/></td></tr>
<tr class="separator:ga3266a8c3df0790c62259f91afcde45a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga520e0d7584b92d70e51ff0fcc3551764"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga520e0d7584b92d70e51ff0fcc3551764">av_register_bitstream_filter</a> (<a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a> *bsf)</td></tr>
<tr class="memdesc:ga520e0d7584b92d70e51ff0fcc3551764"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a bitstream filter.  <a href="#ga520e0d7584b92d70e51ff0fcc3551764">More...</a><br/></td></tr>
<tr class="separator:ga520e0d7584b92d70e51ff0fcc3551764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f87a57cd7c08c1d9b9bfe1a4bd611f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga4f87a57cd7c08c1d9b9bfe1a4bd611f3">av_bitstream_filter_init</a> (const char *name)</td></tr>
<tr class="memdesc:ga4f87a57cd7c08c1d9b9bfe1a4bd611f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and initialize a bitstream filter context given a bitstream filter name.  <a href="#ga4f87a57cd7c08c1d9b9bfe1a4bd611f3">More...</a><br/></td></tr>
<tr class="separator:ga4f87a57cd7c08c1d9b9bfe1a4bd611f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ab3bf4e396f0bbc5151df6af765543d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga1ab3bf4e396f0bbc5151df6af765543d">av_bitstream_filter_filter</a> (<a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a> *bsfc, <a class="el" href="structAVCodecContext.html">AVCodecContext</a> *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)</td></tr>
<tr class="memdesc:ga1ab3bf4e396f0bbc5151df6af765543d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter bitstream.  <a href="#ga1ab3bf4e396f0bbc5151df6af765543d">More...</a><br/></td></tr>
<tr class="separator:ga1ab3bf4e396f0bbc5151df6af765543d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabee15852c201976249e89964161a44b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gabee15852c201976249e89964161a44b4">av_bitstream_filter_close</a> (<a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a> *bsf)</td></tr>
<tr class="memdesc:gabee15852c201976249e89964161a44b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release bitstream filter context.  <a href="#gabee15852c201976249e89964161a44b4">More...</a><br/></td></tr>
<tr class="separator:gabee15852c201976249e89964161a44b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga940bf6b3f2ea61c0265e48e66545f976"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga940bf6b3f2ea61c0265e48e66545f976">av_bitstream_filter_next</a> (const <a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a> *f)</td></tr>
<tr class="memdesc:ga940bf6b3f2ea61c0265e48e66545f976"><td class="mdescLeft">&#160;</td><td class="mdescRight">If f is NULL, return the first registered bitstream filter, if f is non-NULL, return the next registered bitstream filter after f, or NULL if f is the last one.  <a href="#ga940bf6b3f2ea61c0265e48e66545f976">More...</a><br/></td></tr>
<tr class="separator:ga940bf6b3f2ea61c0265e48e66545f976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04a23a2336412504052d5c4e0c7716ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga04a23a2336412504052d5c4e0c7716ee">av_fast_padded_malloc</a> (void *ptr, unsigned int *size, size_t min_size)</td></tr>
<tr class="memdesc:ga04a23a2336412504052d5c4e0c7716ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same behaviour av_fast_malloc but the buffer has additional AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0.  <a href="#ga04a23a2336412504052d5c4e0c7716ee">More...</a><br/></td></tr>
<tr class="separator:ga04a23a2336412504052d5c4e0c7716ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea5550dc9271f356631f7002772158d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gaea5550dc9271f356631f7002772158d8">av_fast_padded_mallocz</a> (void *ptr, unsigned int *size, size_t min_size)</td></tr>
<tr class="memdesc:gaea5550dc9271f356631f7002772158d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same behaviour av_fast_padded_malloc except that buffer will always be 0-initialized after call.  <a href="#gaea5550dc9271f356631f7002772158d8">More...</a><br/></td></tr>
<tr class="separator:gaea5550dc9271f356631f7002772158d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga144411ccbce77847ee9ce10d7fe5361c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga144411ccbce77847ee9ce10d7fe5361c">av_xiphlacing</a> (unsigned char *s, unsigned int v)</td></tr>
<tr class="memdesc:ga144411ccbce77847ee9ce10d7fe5361c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode extradata length to a buffer.  <a href="#ga144411ccbce77847ee9ce10d7fe5361c">More...</a><br/></td></tr>
<tr class="separator:ga144411ccbce77847ee9ce10d7fe5361c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8df73458e977b4a0f9d8e4f1eeae47f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga8df73458e977b4a0f9d8e4f1eeae47f1">av_log_missing_feature</a> (void *avc, const char *feature, int want_sample)</td></tr>
<tr class="memdesc:ga8df73458e977b4a0f9d8e4f1eeae47f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a generic warning message about a missing feature.  <a href="#ga8df73458e977b4a0f9d8e4f1eeae47f1">More...</a><br/></td></tr>
<tr class="separator:ga8df73458e977b4a0f9d8e4f1eeae47f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90d24e73ca8633fc9e42c4bf2faf7923"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga90d24e73ca8633fc9e42c4bf2faf7923">av_log_ask_for_sample</a> (void *avc, const char *msg,...) <a class="el" href="attributes_8h.html#a4b078d4b8e02c0f452ee1dcaa7d983d3">av_printf_format</a>(2</td></tr>
<tr class="memdesc:ga90d24e73ca8633fc9e42c4bf2faf7923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log a generic warning message asking for a sample.  <a href="#ga90d24e73ca8633fc9e42c4bf2faf7923">More...</a><br/></td></tr>
<tr class="separator:ga90d24e73ca8633fc9e42c4bf2faf7923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e7e3fd30164d0af5139885404fd2407"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga1e7e3fd30164d0af5139885404fd2407">av_register_hwaccel</a> (<a class="el" href="structAVHWAccel.html">AVHWAccel</a> *hwaccel)</td></tr>
<tr class="memdesc:ga1e7e3fd30164d0af5139885404fd2407"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register the hardware accelerator hwaccel.  <a href="#ga1e7e3fd30164d0af5139885404fd2407">More...</a><br/></td></tr>
<tr class="separator:ga1e7e3fd30164d0af5139885404fd2407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd85ab0da8585474814590a81d011d5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVHWAccel.html">AVHWAccel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gacd85ab0da8585474814590a81d011d5c">av_hwaccel_next</a> (const <a class="el" href="structAVHWAccel.html">AVHWAccel</a> *hwaccel)</td></tr>
<tr class="memdesc:gacd85ab0da8585474814590a81d011d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL, returns the next registered hardware accelerator after hwaccel, or NULL if hwaccel is the last one.  <a href="#gacd85ab0da8585474814590a81d011d5c">More...</a><br/></td></tr>
<tr class="separator:gacd85ab0da8585474814590a81d011d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae120ec60cdf49cf0f793eff3ec731bcc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gae120ec60cdf49cf0f793eff3ec731bcc">av_lockmgr_register</a> (int(*cb)(void **mutex, enum <a class="el" href="group__lavc__misc.html#ga7a013315e444069ec9630ddf3edce3f8">AVLockOp</a> op))</td></tr>
<tr class="memdesc:gae120ec60cdf49cf0f793eff3ec731bcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a user provided lock manager supporting the operations specified by AVLockOp.  <a href="#gae120ec60cdf49cf0f793eff3ec731bcc">More...</a><br/></td></tr>
<tr class="separator:gae120ec60cdf49cf0f793eff3ec731bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9680ab906f1206deafc521ed54927375"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavu__misc.html#ga9a84bba4713dfced21a1a56163be1f48">AVMediaType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga9680ab906f1206deafc521ed54927375">avcodec_get_type</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> codec_id)</td></tr>
<tr class="memdesc:ga9680ab906f1206deafc521ed54927375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the given codec.  <a href="#ga9680ab906f1206deafc521ed54927375">More...</a><br/></td></tr>
<tr class="separator:ga9680ab906f1206deafc521ed54927375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2016a52e94f867ebe5113bdf448e182d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga2016a52e94f867ebe5113bdf448e182d">avcodec_get_name</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> id)</td></tr>
<tr class="memdesc:ga2016a52e94f867ebe5113bdf448e182d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of a codec.  <a href="#ga2016a52e94f867ebe5113bdf448e182d">More...</a><br/></td></tr>
<tr class="separator:ga2016a52e94f867ebe5113bdf448e182d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga906dda732e79eac12067c6d7ea19b630"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga906dda732e79eac12067c6d7ea19b630">avcodec_is_open</a> (<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *s)</td></tr>
<tr class="separator:ga906dda732e79eac12067c6d7ea19b630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b665824e4d9144f8d4f6c01e3e85aa3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga2b665824e4d9144f8d4f6c01e3e85aa3">av_codec_is_encoder</a> (const <a class="el" href="structAVCodec.html">AVCodec</a> *codec)</td></tr>
<tr class="separator:ga2b665824e4d9144f8d4f6c01e3e85aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6dc18eef1afca3610644a52565cf8a31"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga6dc18eef1afca3610644a52565cf8a31">av_codec_is_decoder</a> (const <a class="el" href="structAVCodec.html">AVCodec</a> *codec)</td></tr>
<tr class="separator:ga6dc18eef1afca3610644a52565cf8a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac09f8ddc2d4b36c5a85c6befba0d0888"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#gac09f8ddc2d4b36c5a85c6befba0d0888">avcodec_descriptor_get</a> (enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> id)</td></tr>
<tr class="separator:gac09f8ddc2d4b36c5a85c6befba0d0888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga909ef5261eafb1be1871f718353632bd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga909ef5261eafb1be1871f718353632bd">avcodec_descriptor_next</a> (const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a> *prev)</td></tr>
<tr class="memdesc:ga909ef5261eafb1be1871f718353632bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate over all codec descriptors known to libavcodec.  <a href="#ga909ef5261eafb1be1871f718353632bd">More...</a><br/></td></tr>
<tr class="separator:ga909ef5261eafb1be1871f718353632bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga199f854b030f24bd31d251f9d36f1392"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga199f854b030f24bd31d251f9d36f1392">avcodec_descriptor_get_by_name</a> (const char *name)</td></tr>
<tr class="separator:ga199f854b030f24bd31d251f9d36f1392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8686e21fb057cdbd5d5078c9822a726d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVCPBProperties.html">AVCPBProperties</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__misc.html#ga8686e21fb057cdbd5d5078c9822a726d">av_cpb_properties_alloc</a> (size_t *size)</td></tr>
<tr class="memdesc:ga8686e21fb057cdbd5d5078c9822a726d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a CPB properties structure and initialize its fields to default values.  <a href="#ga8686e21fb057cdbd5d5078c9822a726d">More...</a><br/></td></tr>
<tr class="separator:ga8686e21fb057cdbd5d5078c9822a726d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Miscellaneous utility functions related to both encoding and decoding (or neither). </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga7a013315e444069ec9630ddf3edce3f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lavc__misc.html#ga7a013315e444069ec9630ddf3edce3f8">AVLockOp</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lock operation used by lockmgr. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7a013315e444069ec9630ddf3edce3f8a486a4a2d7a97554c2e073536c038465d"></a>AV_LOCK_CREATE</em>&#160;</td><td class="fielddoc">
<p>Create a mutex. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7a013315e444069ec9630ddf3edce3f8af684bbd8575f2686f42346f5e43be673"></a>AV_LOCK_OBTAIN</em>&#160;</td><td class="fielddoc">
<p>Lock the mutex. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7a013315e444069ec9630ddf3edce3f8a7c470cd815cdef3b16a977e9a8c89c69"></a>AV_LOCK_RELEASE</em>&#160;</td><td class="fielddoc">
<p>Unlock the mutex. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga7a013315e444069ec9630ddf3edce3f8aee9ae55e2efe16565998e473c2a18935"></a>AV_LOCK_DESTROY</em>&#160;</td><td class="fielddoc">
<p>Free mutex resources. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="avcodec_8h_source.html#l05308">5308</a> of file <a class="el" href="avcodec_8h_source.html">avcodec.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga4e17541c4f237465b50668d279192da8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void avcodec_set_dimensions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000031">Deprecated:</a></b></dt><dd>this function is not supposed to be used from outside of lavc </dd></dl>

</div>
</div>
<a class="anchor" id="ga1f9e278e427564ee2e8b0ad875dbe5df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t av_get_codec_tag_string </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>codec_tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Put a string representing the codec tag codec_tag in buf. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>buffer to place codec tag in </td></tr>
    <tr><td class="paramname">buf_size</td><td>size in bytes of buf </td></tr>
    <tr><td class="paramname">codec_tag</td><td>codec tag to assign </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of the string that would have been generated if enough space had been available, excluding the trailing null </dd></dl>

</div>
</div>
<a class="anchor" id="ga6d4056568b5ab73d2e55800d9a5caa66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void avcodec_string </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>enc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>encode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga0dc4a8003d0818a235bde2d8fbe81e11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* av_get_profile_name </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVCodec.html">AVCodec</a> *&#160;</td>
          <td class="paramname"><em>codec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>profile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a name for the specified profile, if available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">codec</td><td>the codec that is searched for the given profile </td></tr>
    <tr><td class="paramname">profile</td><td>the profile value for which a name is requested </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A name for the profile if found, NULL otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7f9d1f2fbf0978fc1ddc2fe196f29fa4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* avcodec_profile_name </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>codec_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>profile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a name for the specified profile, if available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">codec_id</td><td>the ID of the codec to which the requested profile belongs </td></tr>
    <tr><td class="paramname">profile</td><td>the profile value for which a name is requested </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A name for the profile if found, NULL otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>unlike <a class="el" href="group__lavc__misc.html#ga0dc4a8003d0818a235bde2d8fbe81e11" title="Return a name for the specified profile, if available. ">av_get_profile_name()</a>, which searches a list of profiles supported by a specific decoder or encoder implementation, this function searches the list of profiles from the <a class="el" href="structAVCodecDescriptor.html" title="This struct describes the properties of a single codec described by an AVCodecID. ...">AVCodecDescriptor</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga9ccd730ba6e891b6c61da68ab138c63f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int avcodec_default_execute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c2, void *arg2)&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>ret</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga365b89d7f5b6dc9f930f07ec4078a611"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int avcodec_default_execute2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(<a class="el" href="structAVCodecContext.html">AVCodecContext</a> *c2, void *arg2, int, int)&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>ret</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga66b44aad56fa22a78fb8916eb8cc0516"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int avcodec_fill_audio_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVFrame.html">AVFrame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nb_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a>&#160;</td>
          <td class="paramname"><em>sample_fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>align</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fill <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data. ">AVFrame</a> audio data and linesize pointers. </p>
<p>The buffer buf must be a preallocated buffer with a size big enough to contain the specified samples amount. The filled <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data. ">AVFrame</a> data pointers will point to this buffer.</p>
<p><a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data. ">AVFrame</a> extended_data channel pointers are allocated if necessary for planar audio.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>the <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data. ">AVFrame</a> frame-&gt;nb_samples must be set prior to calling the function. This function fills in frame-&gt;data, frame-&gt;extended_data, frame-&gt;linesize[0]. </td></tr>
    <tr><td class="paramname">nb_channels</td><td>channel count </td></tr>
    <tr><td class="paramname">sample_fmt</td><td>sample format </td></tr>
    <tr><td class="paramname">buf</td><td>buffer to use for frame data </td></tr>
    <tr><td class="paramname">buf_size</td><td>size of buffer </td></tr>
    <tr><td class="paramname">align</td><td>plane size sample alignment (0 = default) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;=0 on success, negative error code on failure </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>return the size in bytes required to store the samples in case of success, at the next libavutil bump </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a35">decoding_encoding.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="decoding__encoding_8c_source.html#l00103">audio_encode_example()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf60b0e076f822abcb2700eb601d352a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void avcodec_flush_buffers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>avctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset the internal decoder state / flush internal buffers. </p>
<p>Should be called e.g. when seeking or when switching to a different stream.</p>
<dl class="section note"><dt>Note</dt><dd>when refcounted frames are not used (i.e. avctx-&gt;refcounted_frames is 0), this invalidates the frames previously returned from the decoder. When refcounted frames are used, the decoder just releases any references it might keep internally, but the caller's reference remains valid. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0717e7440fdb123f708082f66cd9b41d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_get_bits_per_sample </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>codec_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return codec bits per sample. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">codec_id</td><td>the codec </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits per sample or zero if unknown for the given codec. </dd></dl>

</div>
</div>
<a class="anchor" id="gafa5775a0bd6a6ab58011e8492156eb6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> av_get_pcm_codec </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a>&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>be</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the PCM codec associated with a sample format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">be</td><td>endianness, 0 for little, 1 for big, -1 (or anything else) for native </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE </dd></dl>

</div>
</div>
<a class="anchor" id="gadddbcd146ffaf53016bac730c631f7b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_get_exact_bits_per_sample </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>codec_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return codec bits per sample. </p>
<p>Only return non-zero if the bits per sample is exactly correct, not an approximation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">codec_id</td><td>the codec </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits per sample or zero if unknown for the given codec. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3266a8c3df0790c62259f91afcde45a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_get_audio_frame_duration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>avctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>frame_bytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return audio frame duration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">avctx</td><td>codec context </td></tr>
    <tr><td class="paramname">frame_bytes</td><td>size of the frame, or 0 if unknown </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>frame duration, in samples, if known. 0 if not able to determine. </dd></dl>

</div>
</div>
<a class="anchor" id="ga520e0d7584b92d70e51ff0fcc3551764"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void av_register_bitstream_filter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a> *&#160;</td>
          <td class="paramname"><em>bsf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a bitstream filter. </p>
<p>The filter will be accessible to the application code through <a class="el" href="group__lavc__misc.html#ga940bf6b3f2ea61c0265e48e66545f976" title="If f is NULL, return the first registered bitstream filter, if f is non-NULL, return the next registe...">av_bitstream_filter_next()</a> or can be directly initialized with <a class="el" href="group__lavc__misc.html#ga4f87a57cd7c08c1d9b9bfe1a4bd611f3" title="Create and initialize a bitstream filter context given a bitstream filter name. ">av_bitstream_filter_init()</a>.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__lavc__core.html#gaf1a2bb4e7c7611c131bb6212bf0fa639" title="Register all the codecs, parsers and bitstream filters which were enabled at configuration time...">avcodec_register_all()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4f87a57cd7c08c1d9b9bfe1a4bd611f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a>* av_bitstream_filter_init </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create and initialize a bitstream filter context given a bitstream filter name. </p>
<p>The returned context must be freed with <a class="el" href="group__lavc__misc.html#gabee15852c201976249e89964161a44b4" title="Release bitstream filter context. ">av_bitstream_filter_close()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the bitstream filter </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a bitstream filter context if a matching filter was found and successfully initialized, NULL otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga1ab3bf4e396f0bbc5151df6af765543d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_bitstream_filter_filter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a> *&#160;</td>
          <td class="paramname"><em>bsfc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>avctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>poutbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>poutbuf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>buf_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>keyframe</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Filter bitstream. </p>
<p>This function filters the buffer buf with size buf_size, and places the filtered buffer in the buffer pointed to by poutbuf.</p>
<p>The output buffer must be freed by the caller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bsfc</td><td>bitstream filter context created by <a class="el" href="group__lavc__misc.html#ga4f87a57cd7c08c1d9b9bfe1a4bd611f3" title="Create and initialize a bitstream filter context given a bitstream filter name. ">av_bitstream_filter_init()</a> </td></tr>
    <tr><td class="paramname">avctx</td><td><a class="el" href="structAVCodecContext.html" title="main external API structure. ">AVCodecContext</a> accessed by the filter, may be NULL. If specified, this must point to the encoder context of the output stream the packet is sent to. </td></tr>
    <tr><td class="paramname">args</td><td>arguments which specify the filter configuration, may be NULL </td></tr>
    <tr><td class="paramname">poutbuf</td><td>pointer which is updated to point to the filtered buffer </td></tr>
    <tr><td class="paramname">poutbuf_size</td><td>pointer which is updated to the filtered buffer size in bytes </td></tr>
    <tr><td class="paramname">buf</td><td>buffer containing the data to filter </td></tr>
    <tr><td class="paramname">buf_size</td><td>size in bytes of buf </td></tr>
    <tr><td class="paramname">keyframe</td><td>set to non-zero if the buffer to filter corresponds to a key-frame packet data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;= 0 in case of success, or a negative error code in case of failure</dd></dl>
<p>If the return value is positive, an output buffer is allocated and is available in *poutbuf, and is distinct from the input buffer.</p>
<p>If the return value is 0, the output buffer is not allocated and should be considered identical to the input buffer, or in case *poutbuf was set it points to the input buffer (not necessarily to its starting address). </p>

</div>
</div>
<a class="anchor" id="gabee15852c201976249e89964161a44b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void av_bitstream_filter_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVBitStreamFilterContext.html">AVBitStreamFilterContext</a> *&#160;</td>
          <td class="paramname"><em>bsf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Release bitstream filter context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bsf</td><td>the bitstream filter context created with <a class="el" href="group__lavc__misc.html#ga4f87a57cd7c08c1d9b9bfe1a4bd611f3" title="Create and initialize a bitstream filter context given a bitstream filter name. ">av_bitstream_filter_init()</a>, can be NULL </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga940bf6b3f2ea61c0265e48e66545f976"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a>* av_bitstream_filter_next </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVBitStreamFilter.html">AVBitStreamFilter</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If f is NULL, return the first registered bitstream filter, if f is non-NULL, return the next registered bitstream filter after f, or NULL if f is the last one. </p>
<p>This function can be used to iterate over all registered bitstream filters. </p>

</div>
</div>
<a class="anchor" id="ga04a23a2336412504052d5c4e0c7716ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void av_fast_padded_malloc </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>min_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Same behaviour av_fast_malloc but the buffer has additional AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0. </p>
<p>In addition the whole buffer will initially and after resizes be 0-initialized so that no uninitialized data will ever appear. </p>

</div>
</div>
<a class="anchor" id="gaea5550dc9271f356631f7002772158d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void av_fast_padded_mallocz </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>min_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Same behaviour av_fast_padded_malloc except that buffer will always be 0-initialized after call. </p>

</div>
</div>
<a class="anchor" id="ga144411ccbce77847ee9ce10d7fe5361c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int av_xiphlacing </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Encode extradata length to a buffer. </p>
<p>Used by xiph codecs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>buffer to write to; must be at least (v/255+1) bytes long </td></tr>
    <tr><td class="paramname">v</td><td>size of extradata in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes written to the buffer. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8df73458e977b4a0f9d8e4f1eeae47f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void av_log_missing_feature </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>avc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>feature</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>want_sample</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Log a generic warning message about a missing feature. </p>
<p>This function is intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) only, and would normally not be used by applications. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">avc</td><td>a pointer to an arbitrary struct of which the first field is a pointer to an <a class="el" href="structAVClass.html" title="Describe the class of an AVClass context structure. ">AVClass</a> struct </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">feature</td><td>string containing the name of the missing feature </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">want_sample</td><td>indicates if samples are wanted which exhibit this feature. If want_sample is non-zero, additional verbage will be added to the log message which tells the user how to report samples to the development mailing list. </td></tr>
  </table>
  </dd>
</dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000032">Deprecated:</a></b></dt><dd>Use avpriv_report_missing_feature() instead. </dd></dl>

</div>
</div>
<a class="anchor" id="ga90d24e73ca8633fc9e42c4bf2faf7923"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void av_log_ask_for_sample </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>avc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Log a generic warning message asking for a sample. </p>
<p>This function is intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) only, and would normally not be used by applications. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">avc</td><td>a pointer to an arbitrary struct of which the first field is a pointer to an <a class="el" href="structAVClass.html" title="Describe the class of an AVClass context structure. ">AVClass</a> struct </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>string containing an optional message, or NULL if no message </td></tr>
  </table>
  </dd>
</dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000033">Deprecated:</a></b></dt><dd>Use avpriv_request_sample() instead. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1e7e3fd30164d0af5139885404fd2407"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> void void av_register_hwaccel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVHWAccel.html">AVHWAccel</a> *&#160;</td>
          <td class="paramname"><em>hwaccel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register the hardware accelerator hwaccel. </p>

</div>
</div>
<a class="anchor" id="gacd85ab0da8585474814590a81d011d5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structAVHWAccel.html">AVHWAccel</a>* av_hwaccel_next </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVHWAccel.html">AVHWAccel</a> *&#160;</td>
          <td class="paramname"><em>hwaccel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL, returns the next registered hardware accelerator after hwaccel, or NULL if hwaccel is the last one. </p>

</div>
</div>
<a class="anchor" id="gae120ec60cdf49cf0f793eff3ec731bcc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_lockmgr_register </td>
          <td>(</td>
          <td class="paramtype">int(*)(void **mutex, enum <a class="el" href="group__lavc__misc.html#ga7a013315e444069ec9630ddf3edce3f8">AVLockOp</a> op)&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a user provided lock manager supporting the operations specified by AVLockOp. </p>
<p>The "mutex" argument to the function points to a (void *) where the lockmgr should store/get a pointer to a user allocated mutex. It is NULL upon AV_LOCK_CREATE and equal to the value left by the last call for all other ops. If the lock manager is unable to perform the op then it should leave the mutex in the same state as when it was called and return a non-zero value. However, when called with AV_LOCK_DESTROY the mutex will always be assumed to have been successfully destroyed. If av_lockmgr_register succeeds it will return a non-negative value, if it fails it will return a negative value and destroy all mutex and unregister all callbacks. av_lockmgr_register is not thread-safe, it must be called from a single thread before any calls which make use of locking are used.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cb</td><td>User defined callback. av_lockmgr_register invokes calls to this callback and the previously registered callback. The callback will be used to create more than one mutex each of which must be backed by its own underlying locking mechanism (i.e. do not use a single static object to implement your lock manager). If cb is set to NULL the lockmgr will be unregistered. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9680ab906f1206deafc521ed54927375"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lavu__misc.html#ga9a84bba4713dfced21a1a56163be1f48">AVMediaType</a> avcodec_get_type </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>codec_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the type of the given codec. </p>

</div>
</div>
<a class="anchor" id="ga2016a52e94f867ebe5113bdf448e182d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* avcodec_get_name </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of a codec. </p>
<dl class="section return"><dt>Returns</dt><dd>a static string identifying the codec; never NULL </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="muxing_8c-example.html#a35">muxing.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00092">add_stream()</a>.</p>

</div>
</div>
<a class="anchor" id="ga906dda732e79eac12067c6d7ea19b630"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int avcodec_is_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVCodecContext.html">AVCodecContext</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a positive value if s is open (i.e. <a class="el" href="group__lavc__core.html#ga11f785a188d7d9df71621001465b0f1d" title="Initialize the AVCodecContext to use the given AVCodec. ">avcodec_open2()</a> was called on it with no corresponding <a class="el" href="group__lavc__core.html#gaf4daa92361efb3523ef5afeb0b54077f" title="Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext its...">avcodec_close()</a>), 0 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2b665824e4d9144f8d4f6c01e3e85aa3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_codec_is_encoder </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVCodec.html">AVCodec</a> *&#160;</td>
          <td class="paramname"><em>codec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a non-zero number if codec is an encoder, zero otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga6dc18eef1afca3610644a52565cf8a31"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int av_codec_is_decoder </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVCodec.html">AVCodec</a> *&#160;</td>
          <td class="paramname"><em>codec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a non-zero number if codec is a decoder, zero otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gac09f8ddc2d4b36c5a85c6befba0d0888"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a>* avcodec_descriptor_get </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a>&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>descriptor for given codec ID or NULL if no descriptor exists. </dd></dl>

</div>
</div>
<a class="anchor" id="ga909ef5261eafb1be1871f718353632bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a>* avcodec_descriptor_next </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a> *&#160;</td>
          <td class="paramname"><em>prev</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Iterate over all codec descriptors known to libavcodec. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">prev</td><td>previous descriptor. NULL to get the first descriptor.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>next descriptor or NULL after the last descriptor </dd></dl>

</div>
</div>
<a class="anchor" id="ga199f854b030f24bd31d251f9d36f1392"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structAVCodecDescriptor.html">AVCodecDescriptor</a>* avcodec_descriptor_get_by_name </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>codec descriptor with the given name or NULL if no such descriptor exists. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8686e21fb057cdbd5d5078c9822a726d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structAVCPBProperties.html">AVCPBProperties</a>* av_cpb_properties_alloc </td>
          <td>(</td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocate a CPB properties structure and initialize its fields to default values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>if non-NULL, the size of the allocated struct will be written here. This is useful for embedding it in side data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the newly allocated struct or NULL on failure </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>