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-doc / api / group__lavc__packet.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"/>
<title>FFmpeg: AVPacket</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<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">2.7.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<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>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">AVPacket</div>  </div>
<div class="ingroups"><a class="el" href="group__lavc__core.html">Core functions/structures.</a></div></div><!--header-->
<div class="contents">

<p>Types and functions for working with <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a>.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAVPacketSideData.html">AVPacketSideData</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAVPacket.html">AVPacket</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This structure stores compressed data.  <a href="structAVPacket.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga75603d7c2b8adf5829f4fd2fb860168f">AV_PKT_FLAG_KEY</a>&#160;&#160;&#160;0x0001</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The packet contains a keyframe.  <a href="#ga75603d7c2b8adf5829f4fd2fb860168f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga46187df0d7711108ece88804dcc38025">AV_PKT_FLAG_CORRUPT</a>&#160;&#160;&#160;0x0002</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The packet content is corrupted.  <a href="#ga46187df0d7711108ece88804dcc38025"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a> { <br/>
&#160;&#160;<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a9b3c18a18a684fcbb1a2cc25cc6869dd">AV_PKT_DATA_PALETTE</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97ad353d4a7841087354593a97bef92841a">AV_PKT_DATA_NEW_EXTRADATA</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97ad42d2eb8c04516552e0c422257192bc0">AV_PKT_DATA_PARAM_CHANGE</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a48dc789fa9d31046e153233374f52b86">AV_PKT_DATA_H263_MB_INFO</a>, 
<br/>
&#160;&#160;<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97af91f58c27612d229e57eee2e587e03e6">AV_PKT_DATA_REPLAYGAIN</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97aab8c149a1e6c67aad340733becec87e1">AV_PKT_DATA_DISPLAYMATRIX</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97ad87020fae601b684bfb27ee64a457303">AV_PKT_DATA_STEREO3D</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a66ec22464b50c285114e79604e9e0a0b">AV_PKT_DATA_AUDIO_SERVICE_TYPE</a>, 
<br/>
&#160;&#160;<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a">AV_PKT_DATA_SKIP_SAMPLES</a> = 70, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a0933bb1f539acca421bfaa293cb3ee95">AV_PKT_DATA_JP_DUALMONO</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a18d2e9d2c572fbe22a5880176fc41e9a">AV_PKT_DATA_STRINGS_METADATA</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a94c6e44bd31184da4d72ed4d322ffc69">AV_PKT_DATA_SUBTITLE_POSITION</a>, 
<br/>
&#160;&#160;<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a72e6d25102c0504549754fcd9ac871b7">AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97ad95c0f65ae13f5c2f03bf32accc5ecb2">AV_PKT_DATA_WEBVTT_IDENTIFIER</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a8dfefd91c6ee7f37af363a93a8211119">AV_PKT_DATA_WEBVTT_SETTINGS</a>, 
<a class="el" href="group__lavc__packet.html#gga9a80bfcacc586b483a973272800edb97a8f5f41fa3f854d68604ed81950bc8ee9">AV_PKT_DATA_METADATA_UPDATE</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga437bfa981d4c8968ca92f41ecbcb8054">AVSideDataParamChangeFlags</a> { <a class="el" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054a18ac29a4e928b1ef8eff4893ae70073c">AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT</a> =  0x0001, 
<a class="el" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054a1afb2793dfb14b0db3caca605b2baabc">AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT</a> =  0x0002, 
<a class="el" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054ac0fd6e147f7e6ebe14002f95594e5317">AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE</a> =  0x0004, 
<a class="el" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054af1a5e3b694261807e0ed9032b424c165">AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS</a> =  0x0008
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><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__packet.html#ga7582daad8c59bb6e5df39db6f9881d97">av_destruct_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default packet destructor.  <a href="#ga7582daad8c59bb6e5df39db6f9881d97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gac9cb9756175b96e7441575803757fb73">av_init_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize optional fields of a packet with default values.  <a href="#gac9cb9756175b96e7441575803757fb73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gadfa708660b85a56749c753124de2da7d">av_new_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate the payload of a packet and initialize its fields with default values.  <a href="#gadfa708660b85a56749c753124de2da7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gaceba1c21e5718f87abdf61cf21500485">av_shrink_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce packet size, correctly zeroing padding.  <a href="#gaceba1c21e5718f87abdf61cf21500485"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga74f66e072998b8ce81ef3aba8d617a58">av_grow_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, int grow_by)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase packet size, correctly zeroing padding.  <a href="#ga74f66e072998b8ce81ef3aba8d617a58"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga7ca877e1f0ded89a27199b65e9a077dc">av_packet_from_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, uint8_t *data, int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a reference-counted packet from <a class="el" href="group__lavu__mem.html#ga9722446c5e310ffedfaac9489864796d" title="Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...">av_malloc()</a>ed data.  <a href="#ga7ca877e1f0ded89a27199b65e9a077dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga04c83bc8a685960564a169f3a050b915">av_dup_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga917dac9e139893510532c9bea475ef11">av_copy_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *dst, const <a class="el" href="structAVPacket.html">AVPacket</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy packet, including contents.  <a href="#ga917dac9e139893510532c9bea475ef11"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga14ca6bb8bfe5508b0071765efc9266f6">av_copy_packet_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *dst, const <a class="el" href="structAVPacket.html">AVPacket</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy packet side data.  <a href="#ga14ca6bb8bfe5508b0071765efc9266f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gae65881462e78f98b268f34661d921ee0">av_free_packet</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a packet.  <a href="#gae65881462e78f98b268f34661d921ee0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gac59f9714ac34774b43b3797c80b06c68">av_packet_new_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a> type, int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate new information of a packet.  <a href="#gac59f9714ac34774b43b3797c80b06c68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gaefae1892a6e7de60928da347ec74f460">av_packet_shrink_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a> type, int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Shrink the already allocated side data buffer.  <a href="#gaefae1892a6e7de60928da347ec74f460"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga13f8dba52eed886ad2c7d2510da289f8">av_packet_get_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a> type, int *size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get side information from packet.  <a href="#ga13f8dba52eed886ad2c7d2510da289f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gae27195b8483cfe56407a664af5b52951">av_packet_merge_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga7febd324eb8a1109e74416e9c82045b1">av_packet_split_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga78c05e43a5d021eb10e63b28a541bce3">av_packet_side_data_name</a> (enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a> type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga7a0673855be71c876334ed04c6989ae8">av_packet_pack_dictionary</a> (<a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> *dict, int *size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pack a dictionary for use in side_data.  <a href="#ga7a0673855be71c876334ed04c6989ae8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga1db169cc19e8194eca7311f877783a50">av_packet_unpack_dictionary</a> (const uint8_t *data, int size, <a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> **dict)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpack a dictionary from side_data.  <a href="#ga1db169cc19e8194eca7311f877783a50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga5cf4ba712aca9b300daf1eea1b8a9ebb">av_packet_free_side_data</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience function to free all the side data stored.  <a href="#ga5cf4ba712aca9b300daf1eea1b8a9ebb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gadb05d71fa2ea7b7fd3e8cfc6d9065a47">av_packet_ref</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *dst, const <a class="el" href="structAVPacket.html">AVPacket</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup a new reference to the data described by a given packet.  <a href="#gadb05d71fa2ea7b7fd3e8cfc6d9065a47"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2">av_packet_unref</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wipe the packet.  <a href="#ga63d5a489b419bd5d45cfd09091cbcbc2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#ga91dbb1359f99547adb544ee96a406b21">av_packet_move_ref</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *dst, <a class="el" href="structAVPacket.html">AVPacket</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Move every field in src to dst and reset src.  <a href="#ga91dbb1359f99547adb544ee96a406b21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gade00f67930f4e2a3401b67b701d5b3a2">av_packet_copy_props</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *dst, const <a class="el" href="structAVPacket.html">AVPacket</a> *src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy only "properties" fields from src to dst.  <a href="#gade00f67930f4e2a3401b67b701d5b3a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavc__packet.html#gae5c86e4d93f6e7aa62ef2c60763ea67e">av_packet_rescale_ts</a> (<a class="el" href="structAVPacket.html">AVPacket</a> *<a class="el" href="extract__mvs_8c.html#a3d4c6562f0b27cf0cacbbea5c038c090">pkt</a>, <a class="el" href="structAVRational.html">AVRational</a> tb_src, <a class="el" href="structAVRational.html">AVRational</a> tb_dst)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert valid timing fields (timestamps / durations) in a packet from one timebase to another.  <a href="#gae5c86e4d93f6e7aa62ef2c60763ea67e"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Types and functions for working with <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a>. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga75603d7c2b8adf5829f4fd2fb860168f"></a><!-- doxytag: member="avcodec.h::AV_PKT_FLAG_KEY" ref="ga75603d7c2b8adf5829f4fd2fb860168f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__lavc__packet.html#ga75603d7c2b8adf5829f4fd2fb860168f">AV_PKT_FLAG_KEY</a>&#160;&#160;&#160;0x0001</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The packet contains a keyframe. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="muxing_8c-example.html#a121">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="libavcodec_2avcodec_8h_source.html#l01207">1207</a> of file <a class="el" href="libavcodec_2avcodec_8h_source.html">avcodec.h</a>.</p>

<p>Referenced by <a class="el" href="muxing_8c_source.html#l00490">write_video_frame()</a>.</p>

</div>
</div>
<a class="anchor" id="ga46187df0d7711108ece88804dcc38025"></a><!-- doxytag: member="avcodec.h::AV_PKT_FLAG_CORRUPT" ref="ga46187df0d7711108ece88804dcc38025" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__lavc__packet.html#ga46187df0d7711108ece88804dcc38025">AV_PKT_FLAG_CORRUPT</a>&#160;&#160;&#160;0x0002</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The packet content is corrupted. </p>

<p>Definition at line <a class="el" href="libavcodec_2avcodec_8h_source.html#l01208">1208</a> of file <a class="el" href="libavcodec_2avcodec_8h_source.html">avcodec.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga9a80bfcacc586b483a973272800edb97"></a><!-- doxytag: member="avcodec.h::AVPacketSideDataType" ref="ga9a80bfcacc586b483a973272800edb97" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a9b3c18a18a684fcbb1a2cc25cc6869dd"></a><!-- doxytag: member="AV_PKT_DATA_PALETTE" ref="gga9a80bfcacc586b483a973272800edb97a9b3c18a18a684fcbb1a2cc25cc6869dd" args="" -->AV_PKT_DATA_PALETTE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97ad353d4a7841087354593a97bef92841a"></a><!-- doxytag: member="AV_PKT_DATA_NEW_EXTRADATA" ref="gga9a80bfcacc586b483a973272800edb97ad353d4a7841087354593a97bef92841a" args="" -->AV_PKT_DATA_NEW_EXTRADATA</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97ad42d2eb8c04516552e0c422257192bc0"></a><!-- doxytag: member="AV_PKT_DATA_PARAM_CHANGE" ref="gga9a80bfcacc586b483a973272800edb97ad42d2eb8c04516552e0c422257192bc0" args="" -->AV_PKT_DATA_PARAM_CHANGE</em>&nbsp;</td><td>
<p>An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows: </p>
<div class="fragment"><pre class="fragment"> u32le param_flags
 <span class="keywordflow">if</span> (param_flags &amp; <a class="code" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054a18ac29a4e928b1ef8eff4893ae70073c">AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT</a>)
     s32le channel_count
 <span class="keywordflow">if</span> (param_flags &amp; <a class="code" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054a1afb2793dfb14b0db3caca605b2baabc">AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT</a>)
     u64le channel_layout
 <span class="keywordflow">if</span> (param_flags &amp; <a class="code" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054ac0fd6e147f7e6ebe14002f95594e5317">AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE</a>)
     s32le sample_rate
 <span class="keywordflow">if</span> (param_flags &amp; <a class="code" href="group__lavc__packet.html#gga437bfa981d4c8968ca92f41ecbcb8054af1a5e3b694261807e0ed9032b424c165">AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS</a>)
     s32le <a class="code" href="demuxing__decoding_8c.html#a2474a5474cbff19523a51eb1de01cda4">width</a>
     s32le <a class="code" href="demuxing__decoding_8c.html#ad12fc34ce789bce6c8a05d8a17138534">height</a>
</pre></div> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a48dc789fa9d31046e153233374f52b86"></a><!-- doxytag: member="AV_PKT_DATA_H263_MB_INFO" ref="gga9a80bfcacc586b483a973272800edb97a48dc789fa9d31046e153233374f52b86" args="" -->AV_PKT_DATA_H263_MB_INFO</em>&nbsp;</td><td>
<p>An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of structures with info about macroblocks relevant to splitting the packet into smaller packets on macroblock edges (e.g. </p>
<p>as for RFC 2190). That is, it does not necessarily contain info about all macroblocks, as long as the distance between macroblocks in the info is smaller than the target payload size. Each MB info structure is 12 bytes, and is laid out as follows: </p>
<div class="fragment"><pre class="fragment"> u32le bit offset from the start of the packet
 u8    current quantizer at the start of the macroblock
 u8    GOB number
 u16le macroblock address within the GOB
 u8    horizontal MV predictor
 u8    vertical MV predictor
 u8    horizontal MV predictor <span class="keywordflow">for</span> block number 3
 u8    vertical MV predictor <span class="keywordflow">for</span> block number 3
</pre></div> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97af91f58c27612d229e57eee2e587e03e6"></a><!-- doxytag: member="AV_PKT_DATA_REPLAYGAIN" ref="gga9a80bfcacc586b483a973272800edb97af91f58c27612d229e57eee2e587e03e6" args="" -->AV_PKT_DATA_REPLAYGAIN</em>&nbsp;</td><td>
<p>This side data should be associated with an audio stream and contains ReplayGain information in form of the <a class="el" href="structAVReplayGain.html" title="ReplayGain information (see http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification).">AVReplayGain</a> struct. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97aab8c149a1e6c67aad340733becec87e1"></a><!-- doxytag: member="AV_PKT_DATA_DISPLAYMATRIX" ref="gga9a80bfcacc586b483a973272800edb97aab8c149a1e6c67aad340733becec87e1" args="" -->AV_PKT_DATA_DISPLAYMATRIX</em>&nbsp;</td><td>
<p>This side data contains a 3x3 transformation matrix describing an affine transformation that needs to be applied to the decoded video frames for correct presentation. </p>
<p>See <a class="el" href="display_8h.html">libavutil/display.h</a> for a detailed description of the data. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97ad87020fae601b684bfb27ee64a457303"></a><!-- doxytag: member="AV_PKT_DATA_STEREO3D" ref="gga9a80bfcacc586b483a973272800edb97ad87020fae601b684bfb27ee64a457303" args="" -->AV_PKT_DATA_STEREO3D</em>&nbsp;</td><td>
<p>This side data should be associated with a video stream and contains Stereoscopic 3D information in form of the <a class="el" href="structAVStereo3D.html" title="Stereo 3D type: this structure describes how two videos are packed within a single video surface...">AVStereo3D</a> struct. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a66ec22464b50c285114e79604e9e0a0b"></a><!-- doxytag: member="AV_PKT_DATA_AUDIO_SERVICE_TYPE" ref="gga9a80bfcacc586b483a973272800edb97a66ec22464b50c285114e79604e9e0a0b" args="" -->AV_PKT_DATA_AUDIO_SERVICE_TYPE</em>&nbsp;</td><td>
<p>This side data should be associated with an audio stream and corresponds to enum AVAudioServiceType. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a"></a><!-- doxytag: member="AV_PKT_DATA_SKIP_SAMPLES" ref="gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a" args="" -->AV_PKT_DATA_SKIP_SAMPLES</em>&nbsp;</td><td>
<p>Recommmends skipping the specified number of samples. </p>
<div class="fragment"><pre class="fragment"> u32le number of samples to skip from start of <span class="keyword">this</span> packet
 u32le number of samples to skip from end of <span class="keyword">this</span> packet
 u8    reason <span class="keywordflow">for</span> start skip
 u8    reason <span class="keywordflow">for</span> end   skip (0=padding silence, 1=convergence)
</pre></div> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a0933bb1f539acca421bfaa293cb3ee95"></a><!-- doxytag: member="AV_PKT_DATA_JP_DUALMONO" ref="gga9a80bfcacc586b483a973272800edb97a0933bb1f539acca421bfaa293cb3ee95" args="" -->AV_PKT_DATA_JP_DUALMONO</em>&nbsp;</td><td>
<p>An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio specific to Japanese DTV and if it is true, recommends only the selected channel to be used. </p>
<div class="fragment"><pre class="fragment"> u8    selected channels (0=mail/left, 1=sub/right, 2=both)
</pre></div> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a18d2e9d2c572fbe22a5880176fc41e9a"></a><!-- doxytag: member="AV_PKT_DATA_STRINGS_METADATA" ref="gga9a80bfcacc586b483a973272800edb97a18d2e9d2c572fbe22a5880176fc41e9a" args="" -->AV_PKT_DATA_STRINGS_METADATA</em>&nbsp;</td><td>
<p>A list of zero terminated key/value strings. </p>
<p>There is no end marker for the list, so it is required to rely on the side data size to stop. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a94c6e44bd31184da4d72ed4d322ffc69"></a><!-- doxytag: member="AV_PKT_DATA_SUBTITLE_POSITION" ref="gga9a80bfcacc586b483a973272800edb97a94c6e44bd31184da4d72ed4d322ffc69" args="" -->AV_PKT_DATA_SUBTITLE_POSITION</em>&nbsp;</td><td>
<p>Subtitle event position. </p>
<div class="fragment"><pre class="fragment"> u32le x1
 u32le y1
 u32le x2
 u32le y2
</pre></div> </td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a72e6d25102c0504549754fcd9ac871b7"></a><!-- doxytag: member="AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL" ref="gga9a80bfcacc586b483a973272800edb97a72e6d25102c0504549754fcd9ac871b7" args="" -->AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL</em>&nbsp;</td><td>
<p>Data found in BlockAdditional element of matroska container. </p>
<p>There is no end marker for the data, so it is required to rely on the side data size to recognize the end. 8 byte id (as found in BlockAddId) followed by data. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97ad95c0f65ae13f5c2f03bf32accc5ecb2"></a><!-- doxytag: member="AV_PKT_DATA_WEBVTT_IDENTIFIER" ref="gga9a80bfcacc586b483a973272800edb97ad95c0f65ae13f5c2f03bf32accc5ecb2" args="" -->AV_PKT_DATA_WEBVTT_IDENTIFIER</em>&nbsp;</td><td>
<p>The optional first identifier line of a WebVTT cue. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a8dfefd91c6ee7f37af363a93a8211119"></a><!-- doxytag: member="AV_PKT_DATA_WEBVTT_SETTINGS" ref="gga9a80bfcacc586b483a973272800edb97a8dfefd91c6ee7f37af363a93a8211119" args="" -->AV_PKT_DATA_WEBVTT_SETTINGS</em>&nbsp;</td><td>
<p>The optional settings (rendering instructions) that immediately follow the timestamp specifier of a WebVTT cue. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga9a80bfcacc586b483a973272800edb97a8f5f41fa3f854d68604ed81950bc8ee9"></a><!-- doxytag: member="AV_PKT_DATA_METADATA_UPDATE" ref="gga9a80bfcacc586b483a973272800edb97a8f5f41fa3f854d68604ed81950bc8ee9" args="" -->AV_PKT_DATA_METADATA_UPDATE</em>&nbsp;</td><td>
<p>A list of zero terminated key/value strings. </p>
<p>There is no end marker for the list, so it is required to rely on the side data size to stop. This side data includes updated metadata which appeared in the stream. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="libavcodec_2avcodec_8h_source.html#l00976">976</a> of file <a class="el" href="libavcodec_2avcodec_8h_source.html">avcodec.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga437bfa981d4c8968ca92f41ecbcb8054"></a><!-- doxytag: member="avcodec.h::AVSideDataParamChangeFlags" ref="ga437bfa981d4c8968ca92f41ecbcb8054" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lavc__packet.html#ga437bfa981d4c8968ca92f41ecbcb8054">AVSideDataParamChangeFlags</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga437bfa981d4c8968ca92f41ecbcb8054a18ac29a4e928b1ef8eff4893ae70073c"></a><!-- doxytag: member="AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT" ref="gga437bfa981d4c8968ca92f41ecbcb8054a18ac29a4e928b1ef8eff4893ae70073c" args="" -->AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga437bfa981d4c8968ca92f41ecbcb8054a1afb2793dfb14b0db3caca605b2baabc"></a><!-- doxytag: member="AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT" ref="gga437bfa981d4c8968ca92f41ecbcb8054a1afb2793dfb14b0db3caca605b2baabc" args="" -->AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga437bfa981d4c8968ca92f41ecbcb8054ac0fd6e147f7e6ebe14002f95594e5317"></a><!-- doxytag: member="AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE" ref="gga437bfa981d4c8968ca92f41ecbcb8054ac0fd6e147f7e6ebe14002f95594e5317" args="" -->AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga437bfa981d4c8968ca92f41ecbcb8054af1a5e3b694261807e0ed9032b424c165"></a><!-- doxytag: member="AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS" ref="gga437bfa981d4c8968ca92f41ecbcb8054af1a5e3b694261807e0ed9032b424c165" args="" -->AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="libavcodec_2avcodec_8h_source.html#l01210">1210</a> of file <a class="el" href="libavcodec_2avcodec_8h_source.html">avcodec.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7582daad8c59bb6e5df39db6f9881d97"></a><!-- doxytag: member="avcodec.h::av_destruct_packet" ref="ga7582daad8c59bb6e5df39db6f9881d97" args="(AVPacket *pkt)" -->
<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 <a class="el" href="group__lavc__packet.html#ga7582daad8c59bb6e5df39db6f9881d97">av_destruct_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default packet destructor. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd>use the AVBuffer API instead </dd></dl>

</div>
</div>
<a class="anchor" id="gac9cb9756175b96e7441575803757fb73"></a><!-- doxytag: member="avcodec.h::av_init_packet" ref="gac9cb9756175b96e7441575803757fb73" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#gac9cb9756175b96e7441575803757fb73">av_init_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize optional fields of a packet with default values. </p>
<p>Note, this does not touch the data and size members, which have to be initialized separately.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a35">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a86">demuxing_decoding.c</a>, <a class="el" href="muxing_8c-example.html#a95">muxing.c</a>, <a class="el" href="transcode_aac_8c-example.html#a41">transcode_aac.c</a>, and <a class="el" href="transcoding_8c-example.html#a96">transcoding.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="decoding__encoding_8c_source.html#l00242">audio_decode_example()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00103">audio_encode_example()</a>, <a class="el" href="transcoding_8c_source.html#l00366">encode_write_frame()</a>, <a class="el" href="transcode__aac_8c_source.html#l00214">init_packet()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00226">main()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00534">video_decode_example()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>, <a class="el" href="muxing_8c_source.html#l00296">write_audio_frame()</a>, and <a class="el" href="muxing_8c_source.html#l00490">write_video_frame()</a>.</p>

</div>
</div>
<a class="anchor" id="gadfa708660b85a56749c753124de2da7d"></a><!-- doxytag: member="avcodec.h::av_new_packet" ref="gadfa708660b85a56749c753124de2da7d" args="(AVPacket *pkt, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#gadfa708660b85a56749c753124de2da7d">av_new_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</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">

<p>Allocate the payload of a packet and initialize its fields with default values. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">size</td><td>wanted payload size </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if OK, AVERROR_xxx otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gaceba1c21e5718f87abdf61cf21500485"></a><!-- doxytag: member="avcodec.h::av_shrink_packet" ref="gaceba1c21e5718f87abdf61cf21500485" args="(AVPacket *pkt, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#gaceba1c21e5718f87abdf61cf21500485">av_shrink_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</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">

<p>Reduce packet size, correctly zeroing padding. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">size</td><td>new size </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga74f66e072998b8ce81ef3aba8d617a58"></a><!-- doxytag: member="avcodec.h::av_grow_packet" ref="ga74f66e072998b8ce81ef3aba8d617a58" args="(AVPacket *pkt, int grow_by)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga74f66e072998b8ce81ef3aba8d617a58">av_grow_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>grow_by</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Increase packet size, correctly zeroing padding. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">grow_by</td><td>number of bytes by which to increase the size of the packet </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7ca877e1f0ded89a27199b65e9a077dc"></a><!-- doxytag: member="avcodec.h::av_packet_from_data" ref="ga7ca877e1f0ded89a27199b65e9a077dc" args="(AVPacket *pkt, uint8_t *data, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga7ca877e1f0ded89a27199b65e9a077dc">av_packet_from_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</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">

<p>Initialize a reference-counted packet from <a class="el" href="group__lavu__mem.html#ga9722446c5e310ffedfaac9489864796d" title="Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...">av_malloc()</a>ed data. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet to be initialized. This function will set the data, size, buf and destruct fields, all others are left untouched. </td></tr>
    <tr><td class="paramname">data</td><td>Data allocated by <a class="el" href="group__lavu__mem.html#ga9722446c5e310ffedfaac9489864796d" title="Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...">av_malloc()</a> to be used as packet data. If this function returns successfully, the data is owned by the underlying AVBuffer. The caller may not access the data through other means. </td></tr>
    <tr><td class="paramname">size</td><td>size of data in bytes, without the padding. I.e. the full buffer size is assumed to be size + FF_INPUT_BUFFER_PADDING_SIZE.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, a negative AVERROR on error </dd></dl>

</div>
</div>
<a class="anchor" id="ga04c83bc8a685960564a169f3a050b915"></a><!-- doxytag: member="avcodec.h::av_dup_packet" ref="ga04c83bc8a685960564a169f3a050b915" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga04c83bc8a685960564a169f3a050b915">av_dup_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>This is a hack - the packet memory allocation stuff is broken. The packet is allocated if it was not really allocated. </dd></dl>

</div>
</div>
<a class="anchor" id="ga917dac9e139893510532c9bea475ef11"></a><!-- doxytag: member="avcodec.h::av_copy_packet" ref="ga917dac9e139893510532c9bea475ef11" args="(AVPacket *dst, const AVPacket *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga917dac9e139893510532c9bea475ef11">av_copy_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy packet, including contents. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, negative AVERROR on fail </dd></dl>

</div>
</div>
<a class="anchor" id="ga14ca6bb8bfe5508b0071765efc9266f6"></a><!-- doxytag: member="avcodec.h::av_copy_packet_side_data" ref="ga14ca6bb8bfe5508b0071765efc9266f6" args="(AVPacket *dst, const AVPacket *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga14ca6bb8bfe5508b0071765efc9266f6">av_copy_packet_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy packet side data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, negative AVERROR on fail </dd></dl>

</div>
</div>
<a class="anchor" id="gae65881462e78f98b268f34661d921ee0"></a><!-- doxytag: member="avcodec.h::av_free_packet" ref="gae65881462e78f98b268f34661d921ee0" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#gae65881462e78f98b268f34661d921ee0">av_free_packet</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a packet. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet to free </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a39">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a89">demuxing_decoding.c</a>, <a class="el" href="filtering_audio_8c-example.html#a83">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#a79">filtering_video.c</a>, <a class="el" href="remuxing_8c-example.html#a46">remuxing.c</a>, <a class="el" href="transcode_aac_8c-example.html#a62">transcode_aac.c</a>, and <a class="el" href="transcoding_8c-example.html#a123">transcoding.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="decoding__encoding_8c_source.html#l00103">audio_encode_example()</a>, <a class="el" href="transcode__aac_8c_source.html#l00303">decode_audio_frame()</a>, <a class="el" href="transcode__aac_8c_source.html#l00550">encode_audio_frame()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00226">main()</a>, and <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>.</p>

</div>
</div>
<a class="anchor" id="gac59f9714ac34774b43b3797c80b06c68"></a><!-- doxytag: member="avcodec.h::av_packet_new_side_data" ref="gac59f9714ac34774b43b3797c80b06c68" args="(AVPacket *pkt, enum AVPacketSideDataType type, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* <a class="el" href="group__lavc__packet.html#gac59f9714ac34774b43b3797c80b06c68">av_packet_new_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a>&#160;</td>
          <td class="paramname"><em>type</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">

<p>Allocate new information of a packet. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">type</td><td>side information type </td></tr>
    <tr><td class="paramname">size</td><td>side information size </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to fresh allocated data or NULL otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gaefae1892a6e7de60928da347ec74f460"></a><!-- doxytag: member="avcodec.h::av_packet_shrink_side_data" ref="gaefae1892a6e7de60928da347ec74f460" args="(AVPacket *pkt, enum AVPacketSideDataType type, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#gaefae1892a6e7de60928da347ec74f460">av_packet_shrink_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a>&#160;</td>
          <td class="paramname"><em>type</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">

<p>Shrink the already allocated side data buffer. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">type</td><td>side information type </td></tr>
    <tr><td class="paramname">size</td><td>new side information size </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, &lt; 0 on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga13f8dba52eed886ad2c7d2510da289f8"></a><!-- doxytag: member="avcodec.h::av_packet_get_side_data" ref="ga13f8dba52eed886ad2c7d2510da289f8" args="(AVPacket *pkt, enum AVPacketSideDataType type, int *size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* <a class="el" href="group__lavc__packet.html#ga13f8dba52eed886ad2c7d2510da289f8">av_packet_get_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a>&#160;</td>
          <td class="paramname"><em>type</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">

<p>Get side information from packet. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
    <tr><td class="paramname">type</td><td>desired side information type </td></tr>
    <tr><td class="paramname">size</td><td>pointer for side information size to store (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to data if present or NULL otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gae27195b8483cfe56407a664af5b52951"></a><!-- doxytag: member="avcodec.h::av_packet_merge_side_data" ref="gae27195b8483cfe56407a664af5b52951" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#gae27195b8483cfe56407a664af5b52951">av_packet_merge_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga7febd324eb8a1109e74416e9c82045b1"></a><!-- doxytag: member="avcodec.h::av_packet_split_side_data" ref="ga7febd324eb8a1109e74416e9c82045b1" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga7febd324eb8a1109e74416e9c82045b1">av_packet_split_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga78c05e43a5d021eb10e63b28a541bce3"></a><!-- doxytag: member="avcodec.h::av_packet_side_data_name" ref="ga78c05e43a5d021eb10e63b28a541bce3" args="(enum AVPacketSideDataType type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="group__lavc__packet.html#ga78c05e43a5d021eb10e63b28a541bce3">av_packet_side_data_name</a> </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__lavc__packet.html#ga9a80bfcacc586b483a973272800edb97">AVPacketSideDataType</a>&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga7a0673855be71c876334ed04c6989ae8"></a><!-- doxytag: member="avcodec.h::av_packet_pack_dictionary" ref="ga7a0673855be71c876334ed04c6989ae8" args="(AVDictionary *dict, int *size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* <a class="el" href="group__lavc__packet.html#ga7a0673855be71c876334ed04c6989ae8">av_packet_pack_dictionary</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> *&#160;</td>
          <td class="paramname"><em>dict</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">

<p>Pack a dictionary for use in side_data. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dict</td><td>The dictionary to pack. </td></tr>
    <tr><td class="paramname">size</td><td>pointer to store the size of the returned data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to data if successful, NULL otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga1db169cc19e8194eca7311f877783a50"></a><!-- doxytag: member="avcodec.h::av_packet_unpack_dictionary" ref="ga1db169cc19e8194eca7311f877783a50" args="(const uint8_t *data, int size, AVDictionary **dict)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#ga1db169cc19e8194eca7311f877783a50">av_packet_unpack_dictionary</a> </td>
          <td>(</td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> **&#160;</td>
          <td class="paramname"><em>dict</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unpack a dictionary from side_data. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>data from side_data </td></tr>
    <tr><td class="paramname">size</td><td>size of the data </td></tr>
    <tr><td class="paramname">dict</td><td>the metadata storage dictionary </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, &lt; 0 on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga5cf4ba712aca9b300daf1eea1b8a9ebb"></a><!-- doxytag: member="avcodec.h::av_packet_free_side_data" ref="ga5cf4ba712aca9b300daf1eea1b8a9ebb" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#ga5cf4ba712aca9b300daf1eea1b8a9ebb">av_packet_free_side_data</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to free all the side data stored. </p>
<p>All the other fields stay untouched.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gadb05d71fa2ea7b7fd3e8cfc6d9065a47"></a><!-- doxytag: member="avcodec.h::av_packet_ref" ref="gadb05d71fa2ea7b7fd3e8cfc6d9065a47" args="(AVPacket *dst, const AVPacket *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#gadb05d71fa2ea7b7fd3e8cfc6d9065a47">av_packet_ref</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Setup a new reference to the data described by a given packet. </p>
<p>If src is reference-counted, setup dst as a new reference to the buffer in src. Otherwise allocate a new buffer in dst and copy the data from src into it.</p>
<p>All the other fields are copied from src.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2" title="Wipe the packet.">av_packet_unref</a></dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Destination packet </td></tr>
    <tr><td class="paramname">src</td><td>Source packet</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, a negative AVERROR on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga63d5a489b419bd5d45cfd09091cbcbc2"></a><!-- doxytag: member="avcodec.h::av_packet_unref" ref="ga63d5a489b419bd5d45cfd09091cbcbc2" args="(AVPacket *pkt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2">av_packet_unref</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Wipe the packet. </p>
<p>Unreference the buffer referenced by the packet and reset the remaining packet fields to their default values.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>The packet to be unreferenced. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga91dbb1359f99547adb544ee96a406b21"></a><!-- doxytag: member="avcodec.h::av_packet_move_ref" ref="ga91dbb1359f99547adb544ee96a406b21" args="(AVPacket *dst, AVPacket *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#ga91dbb1359f99547adb544ee96a406b21">av_packet_move_ref</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Move every field in src to dst and reset src. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2" title="Wipe the packet.">av_packet_unref</a></dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">src</td><td>Source packet, will be reset </td></tr>
    <tr><td class="paramname">dst</td><td>Destination packet </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gade00f67930f4e2a3401b67b701d5b3a2"></a><!-- doxytag: member="avcodec.h::av_packet_copy_props" ref="gade00f67930f4e2a3401b67b701d5b3a2" args="(AVPacket *dst, const AVPacket *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavc__packet.html#gade00f67930f4e2a3401b67b701d5b3a2">av_packet_copy_props</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy only "properties" fields from src to dst. </p>
<p>Properties for the purpose of this function are all the fields beside those related to the packet data (buf, data, size)</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>Destination packet </td></tr>
    <tr><td class="paramname">src</td><td>Source packet</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success AVERROR on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="gae5c86e4d93f6e7aa62ef2c60763ea67e"></a><!-- doxytag: member="avcodec.h::av_packet_rescale_ts" ref="gae5c86e4d93f6e7aa62ef2c60763ea67e" args="(AVPacket *pkt, AVRational tb_src, AVRational tb_dst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__lavc__packet.html#gae5c86e4d93f6e7aa62ef2c60763ea67e">av_packet_rescale_ts</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVPacket.html">AVPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVRational.html">AVRational</a>&#160;</td>
          <td class="paramname"><em>tb_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVRational.html">AVRational</a>&#160;</td>
          <td class="paramname"><em>tb_dst</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert valid timing fields (timestamps / durations) in a packet from one timebase to another. </p>
<p>Timestamps with unknown values (AV_NOPTS_VALUE) will be ignored.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pkt</td><td>packet on which the conversion will be performed </td></tr>
    <tr><td class="paramname">tb_src</td><td>source timebase, in which the timing fields in pkt are expressed </td></tr>
    <tr><td class="paramname">tb_dst</td><td>destination timebase, to which the timing fields will be converted </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="muxing_8c-example.html#a28">muxing.c</a>, and <a class="el" href="transcoding_8c-example.html#a99">transcoding.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="transcoding_8c_source.html#l00366">encode_write_frame()</a>, <a class="el" href="transcoding_8c_source.html#l00466">main()</a>, <a class="el" href="muxing_8c_source.html#l00080">write_frame()</a>, and <a class="el" href="muxing_8c_source.html#l00490">write_video_frame()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- 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>Defines</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>



<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.7.6.1
</small></address>

</body>
</html>