Repository URL to install this package:
Version:
7:2.7.1-1ubuntu2 ▾
|
<!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: AVFrame Struct Reference</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
 <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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data 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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
<li><a href="functions.html"><span>Data Fields</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<div class="title">AVFrame Struct Reference<div class="ingroups"><a class="el" href="group__lavu__frame.html">AVFrame</a></div></div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="AVFrame" -->
<p>This structure describes decoded (raw) audio or video data.
<a href="structAVFrame.html#details">More...</a></p>
<p><code>#include <<a class="el" href="frame_8h_source.html">frame.h</a>></code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a1d0f65014a8d1bf78cec8cbed2304992">data</a> [<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the picture/channel planes. <a href="#a1d0f65014a8d1bf78cec8cbed2304992"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#aa52bfc6605f6a3059a0c3226cc0f6567">linesize</a> [<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">For video, size in bytes of each picture line. <a href="#aa52bfc6605f6a3059a0c3226cc0f6567"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#afca04d808393822625e09b5ba91c6756">extended_data</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointers to the data planes/channels. <a href="#afca04d808393822625e09b5ba91c6756"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a1e71ce60cedd5f3b6811714a9f7f9e0a">width</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">width and height of the video frame <a href="#a1e71ce60cedd5f3b6811714a9f7f9e0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3f89733f429c98ba5bc64373fb0a3f13">height</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a02f45ab8191aea1660159f1e464237ea">nb_samples</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">number of audio samples (per channel) described by this frame <a href="#a02f45ab8191aea1660159f1e464237ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#aed14fa772ce46881020fd1545c86432c">format</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">format of the frame, -1 if unknown or unset Values correspond to enum AVPixelFormat for video frames, enum AVSampleFormat for audio) <a href="#aed14fa772ce46881020fd1545c86432c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3649a81e8414a193d685a6eee06ce902">key_frame</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">1 -> keyframe, 0-> not <a href="#a3649a81e8414a193d685a6eee06ce902"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavu__picture.html#gae6cbcab1f70d8e476757f1c1f5a0a78e">AVPictureType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#af9920fc3fbfa347b8943ae461b50d18b">pict_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Picture type of the frame. <a href="#af9920fc3fbfa347b8943ae461b50d18b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVRational.html">AVRational</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a62f9c20541a83d37db7072126ff0060d">sample_aspect_ratio</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sample aspect ratio for the video frame, 0/1 if unknown/unspecified. <a href="#a62f9c20541a83d37db7072126ff0060d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a0452833e3ab6ddd7acbf82817a7818a4">pts</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Presentation timestamp in time_base units (time when frame should be shown to user). <a href="#a0452833e3ab6ddd7acbf82817a7818a4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a47f555732f9c18928de727a163cd7cb6">pkt_pts</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">PTS copied from the <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that was decoded to produce this frame. <a href="#a47f555732f9c18928de727a163cd7cb6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#aa52951f35ec9e303d3dfeb4b3e44248a">pkt_dts</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">DTS copied from the <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that triggered returning this frame. <a href="#aa52951f35ec9e303d3dfeb4b3e44248a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a02ca9bb7f500d3d850f8736f3cb29c6c">coded_picture_number</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">picture number in bitstream order <a href="#a02ca9bb7f500d3d850f8736f3cb29c6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a12b00a552b74c79f0760b80fac18efe7">display_picture_number</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">picture number in display order <a href="#a12b00a552b74c79f0760b80fac18efe7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a791c071afd3e95fcae14cb781829754d">quality</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">quality (between 1 (good) and FF_LAMBDA_MAX (bad)) <a href="#a791c071afd3e95fcae14cb781829754d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a385d043b41cd182b7b1bdaec56ed19e0">opaque</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">for some private data of the user <a href="#a385d043b41cd182b7b1bdaec56ed19e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3893c612b55b82258333f99a32117e60">error</a> [<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">error <a href="#a3893c612b55b82258333f99a32117e60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#aef11fd783ad17b6841af82efa07c859e">repeat_pict</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">When decoding, this signals how much the picture must be delayed. <a href="#aef11fd783ad17b6841af82efa07c859e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a7f761518da738c704676c6a5f08eeb8e">interlaced_frame</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The content of the picture is interlaced. <a href="#a7f761518da738c704676c6a5f08eeb8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a6f3ee0596312c90a2ef2ad160c991188">top_field_first</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">If the content is interlaced, is top field displayed first. <a href="#a6f3ee0596312c90a2ef2ad160c991188"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a6144be38de30e80de331f435e61f5f4c">palette_has_changed</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tell user application that palette has changed from previous frame. <a href="#a6144be38de30e80de331f435e61f5f4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#ab54a78c51318c8c678e545b1f3d6fddd">reordered_opaque</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">reordered opaque 64bit (generally an integer or a double precision float PTS but can be anything). <a href="#ab54a78c51318c8c678e545b1f3d6fddd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#ac85daa1316e1f47e78da0ca19b7c60e6">sample_rate</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sample rate of the audio data. <a href="#ac85daa1316e1f47e78da0ca19b7c60e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a5f343e0325e3e9d9ed20e34c9e156aef">channel_layout</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Channel layout of the audio data. <a href="#a5f343e0325e3e9d9ed20e34c9e156aef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVBufferRef.html">AVBufferRef</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f">buf</a> [<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">AVBuffer references backing the data for this frame. <a href="#a4a64d05cc676bfa8e18bf22d16c8a51f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVBufferRef.html">AVBufferRef</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a254a144d113ceedc003ec1547cc5bd54">extended_buf</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">For planar audio which requires more than AV_NUM_DATA_POINTERS <a class="el" href="structAVBufferRef.html" title="A reference to a data buffer.">AVBufferRef</a> pointers, this array will hold all the references which cannot fit into <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a>. <a href="#a254a144d113ceedc003ec1547cc5bd54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#aa2dc17f4f816018b0782e1386bdbeeb1">nb_extended_buf</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of elements in extended_buf. <a href="#aa2dc17f4f816018b0782e1386bdbeeb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVFrameSideData.html">AVFrameSideData</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a44d40e03fe22a0511c9157dab22143ee">side_data</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a9061ffbfdbdfec29f2dbfc252c5569a7">nb_side_data</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a49020cc320b8fb1f5449167b6c97515b">flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frame flags, a combination of <a class="el" href="group__lavu__frame__flags.html">AV_FRAME_FLAGS</a>. <a href="#a49020cc320b8fb1f5449167b6c97515b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a3da0bf691418bc22c4bcbe6583ad589a">AVColorRange</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a853afbad220bbc58549b4860732a3aa5">color_range</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">MPEG vs JPEG YUV range. <a href="#a853afbad220bbc58549b4860732a3aa5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#ad384ee5a840bafd73daef08e6d9cafe7">AVColorPrimaries</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a59a3f830494f2ed1133103a1bc9481e7">color_primaries</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#ad4791ea14975f098b649db7fcd731ce6">AVColorTransferCharacteristic</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#ab09abb126e3922bc1d010cf044087939">color_trc</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#aff71a069509a1ad3ff54d53a1c894c85">AVColorSpace</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a9262c231f1f64869439b4fe587fe1710">colorspace</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">YUV colorspace type. <a href="#a9262c231f1f64869439b4fe587fe1710"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a1f86ed1b6a420faccacf77c98db6c1ff">AVChromaLocation</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a1d15617172d8123a66bdcf8d4d826ee2">chroma_location</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a0943e85eb624c2191490862ececd319d">best_effort_timestamp</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">frame timestamp estimated using various heuristics, in stream time base Code outside libavcodec should access this field using: av_frame_get_best_effort_timestamp(frame) <a href="#a0943e85eb624c2191490862ececd319d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3bc83474709406b511c4f3498182d18a">pkt_pos</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">reordered pos from the last <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that has been input into the decoder Code outside libavcodec should access this field using: av_frame_get_pkt_pos(frame) <a href="#a3bc83474709406b511c4f3498182d18a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a385c44d7cafe80cad82fe46e25cab221">pkt_duration</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">duration of the corresponding packet, expressed in AVStream->time_base units, 0 if unknown. <a href="#a385c44d7cafe80cad82fe46e25cab221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a5bde87fd101f66d6263bb451056dba13">metadata</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">metadata. <a href="#a5bde87fd101f66d6263bb451056dba13"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3dd46fd353a405f6e9b91c11d9c5b736">decode_error_flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">decode error flags of the frame, set to a combination of FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there were errors during the decoding. <a href="#a3dd46fd353a405f6e9b91c11d9c5b736"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a58c663568a99c1477c163e64858b3fef">channels</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">number of audio channels, only used for audio. <a href="#a58c663568a99c1477c163e64858b3fef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#a3cc73a3345ec1ff8e473ab6049c607e7">pkt_size</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">size of the corresponding packet containing the compressed frame. <a href="#a3cc73a3345ec1ff8e473ab6049c607e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVBufferRef.html">AVBufferRef</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFrame.html#ae7899bbbb38ef9da9e99f36fa69939cc">qp_table_buf</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Not to be accessed directly from outside libavutil. <a href="#ae7899bbbb38ef9da9e99f36fa69939cc"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This structure describes decoded (raw) audio or video data. </p>
<p><a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> must be allocated using <a class="el" href="group__lavu__frame.html#gac700017c5270c79c1e1befdeeb008b2f" title="Allocate an AVFrame and set its fields to default values.">av_frame_alloc()</a>. Note that this only allocates the <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> itself, the buffers for the data must be managed through other means (see below). <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> must be freed with <a class="el" href="group__lavu__frame.html#ga979d73f3228814aee56aeca0636e37cc" title="Free the frame and any dynamically allocated objects in it, e.g.">av_frame_free()</a>.</p>
<p><a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> is typically allocated once and then reused multiple times to hold different data (e.g. a single <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> to hold frames received from a decoder). In such a case, <a class="el" href="group__lavu__frame.html#ga0a2b687f9c1c5ed0089b01fd61227108" title="Unreference all the buffers referenced by frame and reset the frame fields.">av_frame_unref()</a> will free any references held by the frame and reset it to its original clean state before it is reused again.</p>
<p>The data described by an <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> is usually reference counted through the AVBuffer API. The underlying buffer references are stored in <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a> / <a class="el" href="structAVFrame.html#a254a144d113ceedc003ec1547cc5bd54" title="For planar audio which requires more than AV_NUM_DATA_POINTERS AVBufferRef pointers, this array will hold all the references which cannot fit into AVFrame.buf.">AVFrame.extended_buf</a>. An <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> is considered to be reference counted if at least one reference is set, i.e. if <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a>[0] != NULL. In such a case, every single data plane must be contained in one of the buffers in <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a> or <a class="el" href="structAVFrame.html#a254a144d113ceedc003ec1547cc5bd54" title="For planar audio which requires more than AV_NUM_DATA_POINTERS AVBufferRef pointers, this array will hold all the references which cannot fit into AVFrame.buf.">AVFrame.extended_buf</a>. There may be a single buffer for all the data, or one separate buffer for each plane, or anything in between.</p>
<p>sizeof(AVFrame) is not a part of the public ABI, so new fields may be added to the end with a minor bump. Similarly fields that are marked as to be only accessed by <a class="el" href="group__avoptions.html#gab1d208d09e487741a28016919225bef6" title="Gets a pointer to the requested field in a struct.">av_opt_ptr()</a> can be reordered. This allows 2 forks to add fields without breaking compatibility with each other. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#_a13">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#_a21">demuxing_decoding.c</a>, <a class="el" href="filter_audio_8c-example.html#_a33">filter_audio.c</a>, <a class="el" href="filtering_audio_8c-example.html#_a63">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#_a54">filtering_video.c</a>, <a class="el" href="muxing_8c-example.html#_a5">muxing.c</a>, <a class="el" href="transcode_aac_8c-example.html#_a45">transcode_aac.c</a>, and <a class="el" href="transcoding_8c-example.html#_a89">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00171">171</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a1d0f65014a8d1bf78cec8cbed2304992"></a><!-- doxytag: member="AVFrame::data" ref="a1d0f65014a8d1bf78cec8cbed2304992" args="[AV_NUM_DATA_POINTERS]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* <a class="el" href="structAVFrame.html#a1d0f65014a8d1bf78cec8cbed2304992">AVFrame::data</a>[<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>pointer to the picture/channel planes. </p>
<p>This might be different from the first allocated byte</p>
<p>Some decoders access areas outside 0,0 - width,height, please see <a class="el" href="group__lavc__decoding.html#ga34e3269dc1b9e2c98e9371241722e7e2" title="Modify width and height values so that they will result in a memory buffer that is acceptable for the...">avcodec_align_dimensions2()</a>. Some filters and swscale can read up to 16 bytes beyond the planes, if these filters are to be used, then 16 extra bytes must be allocated. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a50">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a45">demuxing_decoding.c</a>, <a class="el" href="filtering_audio_8c-example.html#a68">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#a59">filtering_video.c</a>, <a class="el" href="muxing_8c-example.html#a90">muxing.c</a>, and <a class="el" href="transcode_aac_8c-example.html#a88">transcode_aac.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00182">182</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="decoding__encoding_8c_source.html#l00242">audio_decode_example()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00506">decode_write_frame()</a>, <a class="el" href="filtering__video_8c_source.html#l00172">display_frame()</a>, <a class="el" href="muxing_8c_source.html#l00420">fill_yuv_image()</a>, <a class="el" href="muxing_8c_source.html#l00267">get_audio_frame()</a>, <a class="el" href="transcode__aac_8c_source.html#l00597">load_encode_and_write()</a>, <a class="el" href="filtering__audio_8c_source.html#l00198">print_frame()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>, and <a class="el" href="muxing_8c_source.html#l00296">write_audio_frame()</a>.</p>
</div>
</div>
<a class="anchor" id="aa52bfc6605f6a3059a0c3226cc0f6567"></a><!-- doxytag: member="AVFrame::linesize" ref="aa52bfc6605f6a3059a0c3226cc0f6567" args="[AV_NUM_DATA_POINTERS]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#aa52bfc6605f6a3059a0c3226cc0f6567">AVFrame::linesize</a>[<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>For video, size in bytes of each picture line. </p>
<p>For audio, size in bytes of each plane.</p>
<p>For audio, only linesize[0] may be set. For planar audio, each channel plane must be the same size.</p>
<p>For video the linesizes should be multiples of the CPUs alignment preference, this is 16 or 32 for modern desktop CPUs. Some code requires such alignment other code can be slower without correct alignment, for yet other it makes no difference.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>The linesize may be larger than the size of usable data -- there may be extra padding present for performance reasons. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a70">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a46">demuxing_decoding.c</a>, <a class="el" href="filtering_video_8c-example.html#a62">filtering_video.c</a>, and <a class="el" href="muxing_8c-example.html#a113">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00199">199</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00506">decode_write_frame()</a>, <a class="el" href="filtering__video_8c_source.html#l00172">display_frame()</a>, <a class="el" href="muxing_8c_source.html#l00420">fill_yuv_image()</a>, and <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>.</p>
</div>
</div>
<a class="anchor" id="afca04d808393822625e09b5ba91c6756"></a><!-- doxytag: member="AVFrame::extended_data" ref="afca04d808393822625e09b5ba91c6756" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t** <a class="el" href="structAVFrame.html#afca04d808393822625e09b5ba91c6756">AVFrame::extended_data</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>pointers to the data planes/channels. </p>
<p>For video, this should simply point to data[].</p>
<p>For planar audio, each channel has a separate data pointer, and linesize[0] contains the size of each channel buffer. For packed audio, there is just one data pointer, and linesize[0] contains the total size of the buffer for all channels.</p>
<p>Note: Both data and extended_data should always be set in a valid frame, but for planar audio with more channels that can fit in data, extended_data must be used in order to access all channels. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demuxing_decoding_8c-example.html#a51">demuxing_decoding.c</a>, <a class="el" href="filter_audio_8c-example.html#a43">filter_audio.c</a>, and <a class="el" href="transcode_aac_8c-example.html#a74">transcode_aac.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00215">215</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>, <a class="el" href="filter__audio_8c_source.html#l00215">process_output()</a>, and <a class="el" href="transcode__aac_8c_source.html#l00441">read_decode_convert_and_store()</a>.</p>
</div>
</div>
<a class="anchor" id="a1e71ce60cedd5f3b6811714a9f7f9e0a"></a><!-- doxytag: member="AVFrame::width" ref="a1e71ce60cedd5f3b6811714a9f7f9e0a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a1e71ce60cedd5f3b6811714a9f7f9e0a">AVFrame::width</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>width and height of the video frame </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a67">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a36">demuxing_decoding.c</a>, <a class="el" href="filtering_video_8c-example.html#a61">filtering_video.c</a>, and <a class="el" href="muxing_8c-example.html#a108">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00220">220</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00360">alloc_picture()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="filtering__video_8c_source.html#l00172">display_frame()</a>, and <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>.</p>
</div>
</div>
<a class="anchor" id="a3f89733f429c98ba5bc64373fb0a3f13"></a><!-- doxytag: member="AVFrame::height" ref="a3f89733f429c98ba5bc64373fb0a3f13" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a3f89733f429c98ba5bc64373fb0a3f13">AVFrame::height</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a68">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a37">demuxing_decoding.c</a>, <a class="el" href="filtering_video_8c-example.html#a60">filtering_video.c</a>, and <a class="el" href="muxing_8c-example.html#a109">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00220">220</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00360">alloc_picture()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="filtering__video_8c_source.html#l00172">display_frame()</a>, and <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>.</p>
</div>
</div>
<a class="anchor" id="a02f45ab8191aea1660159f1e464237ea"></a><!-- doxytag: member="AVFrame::nb_samples" ref="a02f45ab8191aea1660159f1e464237ea" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a02f45ab8191aea1660159f1e464237ea">AVFrame::nb_samples</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>number of audio samples (per channel) described by this frame </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a28">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a49">demuxing_decoding.c</a>, <a class="el" href="filter_audio_8c-example.html#a40">filter_audio.c</a>, <a class="el" href="filtering_audio_8c-example.html#a65">filtering_audio.c</a>, <a class="el" href="muxing_8c-example.html#a73">muxing.c</a>, and <a class="el" href="transcode_aac_8c-example.html#a73">transcode_aac.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00225">225</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00181">alloc_audio_frame()</a>, <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="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="transcode__aac_8c_source.html#l00550">encode_audio_frame()</a>, <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>, <a class="el" href="filtering__audio_8c_source.html#l00198">print_frame()</a>, <a class="el" href="filter__audio_8c_source.html#l00215">process_output()</a>, <a class="el" href="transcode__aac_8c_source.html#l00441">read_decode_convert_and_store()</a>, and <a class="el" href="muxing_8c_source.html#l00296">write_audio_frame()</a>.</p>
</div>
</div>
<a class="anchor" id="aed14fa772ce46881020fd1545c86432c"></a><!-- doxytag: member="AVFrame::format" ref="aed14fa772ce46881020fd1545c86432c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#aed14fa772ce46881020fd1545c86432c">AVFrame::format</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>format of the frame, -1 if unknown or unset Values correspond to enum AVPixelFormat for video frames, enum AVSampleFormat for audio) </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a30">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a38">demuxing_decoding.c</a>, <a class="el" href="filter_audio_8c-example.html#a36">filter_audio.c</a>, and <a class="el" href="muxing_8c-example.html#a70">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00232">232</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00181">alloc_audio_frame()</a>, <a class="el" href="muxing_8c_source.html#l00360">alloc_picture()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00103">audio_encode_example()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>, <a class="el" href="filter__audio_8c_source.html#l00215">process_output()</a>, and <a class="el" href="decoding__encoding_8c_source.html#l00347">video_encode_example()</a>.</p>
</div>
</div>
<a class="anchor" id="a3649a81e8414a193d685a6eee06ce902"></a><!-- doxytag: member="AVFrame::key_frame" ref="a3649a81e8414a193d685a6eee06ce902" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a3649a81e8414a193d685a6eee06ce902">AVFrame::key_frame</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>1 -> keyframe, 0-> not </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00237">237</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="af9920fc3fbfa347b8943ae461b50d18b"></a><!-- doxytag: member="AVFrame::pict_type" ref="af9920fc3fbfa347b8943ae461b50d18b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavu__picture.html#gae6cbcab1f70d8e476757f1c1f5a0a78e">AVPictureType</a> <a class="el" href="structAVFrame.html#af9920fc3fbfa347b8943ae461b50d18b">AVFrame::pict_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Picture type of the frame. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="transcoding_8c-example.html#a109">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00242">242</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="transcoding_8c_source.html#l00402">filter_encode_write_frame()</a>.</p>
</div>
</div>
<a class="anchor" id="a62f9c20541a83d37db7072126ff0060d"></a><!-- doxytag: member="AVFrame::sample_aspect_ratio" ref="a62f9c20541a83d37db7072126ff0060d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVRational.html">AVRational</a> <a class="el" href="structAVFrame.html#a62f9c20541a83d37db7072126ff0060d">AVFrame::sample_aspect_ratio</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sample aspect ratio for the video frame, 0/1 if unknown/unspecified. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00252">252</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0452833e3ab6ddd7acbf82817a7818a4"></a><!-- doxytag: member="AVFrame::pts" ref="a0452833e3ab6ddd7acbf82817a7818a4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#a0452833e3ab6ddd7acbf82817a7818a4">AVFrame::pts</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Presentation timestamp in time_base units (time when frame should be shown to user). </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a71">decoding_encoding.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#a42">demuxing_decoding.c</a>, <a class="el" href="filter_audio_8c-example.html#a47">filter_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#a56">filtering_video.c</a>, <a class="el" href="muxing_8c-example.html#a93">muxing.c</a>, <a class="el" href="transcode_aac_8c-example.html#a81">transcode_aac.c</a>, and <a class="el" href="transcoding_8c-example.html#a121">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00257">257</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, <a class="el" href="filtering__video_8c_source.html#l00172">display_frame()</a>, <a class="el" href="transcode__aac_8c_source.html#l00550">encode_audio_frame()</a>, <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>, <a class="el" href="filtering__video_8c_source.html#l00203">main()</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="a47f555732f9c18928de727a163cd7cb6"></a><!-- doxytag: member="AVFrame::pkt_pts" ref="a47f555732f9c18928de727a163cd7cb6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#a47f555732f9c18928de727a163cd7cb6">AVFrame::pkt_pts</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>PTS copied from the <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that was decoded to produce this frame. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00262">262</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa52951f35ec9e303d3dfeb4b3e44248a"></a><!-- doxytag: member="AVFrame::pkt_dts" ref="aa52951f35ec9e303d3dfeb4b3e44248a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#aa52951f35ec9e303d3dfeb4b3e44248a">AVFrame::pkt_dts</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>DTS copied from the <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that triggered returning this frame. </p>
<p>(if frame threading isn't used) This is also the Presentation time of this <a class="el" href="structAVFrame.html" title="This structure describes decoded (raw) audio or video data.">AVFrame</a> calculated from only <a class="el" href="structAVPacket.html#a85dbbd306b44b02390cd91c45e6a0f76" title="Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed...">AVPacket.dts</a> values without pts values. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00269">269</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a02ca9bb7f500d3d850f8736f3cb29c6c"></a><!-- doxytag: member="AVFrame::coded_picture_number" ref="a02ca9bb7f500d3d850f8736f3cb29c6c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a02ca9bb7f500d3d850f8736f3cb29c6c">AVFrame::coded_picture_number</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>picture number in bitstream order </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demuxing_decoding_8c-example.html#a40">demuxing_decoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00274">274</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>.</p>
</div>
</div>
<a class="anchor" id="a12b00a552b74c79f0760b80fac18efe7"></a><!-- doxytag: member="AVFrame::display_picture_number" ref="a12b00a552b74c79f0760b80fac18efe7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a12b00a552b74c79f0760b80fac18efe7">AVFrame::display_picture_number</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>picture number in display order </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00278">278</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a791c071afd3e95fcae14cb781829754d"></a><!-- doxytag: member="AVFrame::quality" ref="a791c071afd3e95fcae14cb781829754d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a791c071afd3e95fcae14cb781829754d">AVFrame::quality</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>quality (between 1 (good) and FF_LAMBDA_MAX (bad)) </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00283">283</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a385d043b41cd182b7b1bdaec56ed19e0"></a><!-- doxytag: member="AVFrame::opaque" ref="a385d043b41cd182b7b1bdaec56ed19e0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="structAVFrame.html#a385d043b41cd182b7b1bdaec56ed19e0">AVFrame::opaque</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>for some private data of the user </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00346">346</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3893c612b55b82258333f99a32117e60"></a><!-- doxytag: member="AVFrame::error" ref="a3893c612b55b82258333f99a32117e60" args="[AV_NUM_DATA_POINTERS]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t <a class="el" href="structAVFrame.html#a3893c612b55b82258333f99a32117e60">AVFrame::error</a>[<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>error </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00351">351</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="aef11fd783ad17b6841af82efa07c859e"></a><!-- doxytag: member="AVFrame::repeat_pict" ref="aef11fd783ad17b6841af82efa07c859e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#aef11fd783ad17b6841af82efa07c859e">AVFrame::repeat_pict</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>When decoding, this signals how much the picture must be delayed. </p>
<p>extra_delay = repeat_pict / (2*fps) </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00362">362</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7f761518da738c704676c6a5f08eeb8e"></a><!-- doxytag: member="AVFrame::interlaced_frame" ref="a7f761518da738c704676c6a5f08eeb8e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a7f761518da738c704676c6a5f08eeb8e">AVFrame::interlaced_frame</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The content of the picture is interlaced. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00367">367</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6f3ee0596312c90a2ef2ad160c991188"></a><!-- doxytag: member="AVFrame::top_field_first" ref="a6f3ee0596312c90a2ef2ad160c991188" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a6f3ee0596312c90a2ef2ad160c991188">AVFrame::top_field_first</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If the content is interlaced, is top field displayed first. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00372">372</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6144be38de30e80de331f435e61f5f4c"></a><!-- doxytag: member="AVFrame::palette_has_changed" ref="a6144be38de30e80de331f435e61f5f4c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a6144be38de30e80de331f435e61f5f4c">AVFrame::palette_has_changed</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tell user application that palette has changed from previous frame. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00377">377</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab54a78c51318c8c678e545b1f3d6fddd"></a><!-- doxytag: member="AVFrame::reordered_opaque" ref="ab54a78c51318c8c678e545b1f3d6fddd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#ab54a78c51318c8c678e545b1f3d6fddd">AVFrame::reordered_opaque</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>reordered opaque 64bit (generally an integer or a double precision float PTS but can be anything). </p>
<p>The user sets <a class="el" href="structAVCodecContext.html#a64c09907902b41744c3ea60c89fd42fb" title="opaque 64bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque">AVCodecContext.reordered_opaque</a> to represent the input at that time, the decoder reorders values as needed and sets <a class="el" href="structAVFrame.html#ab54a78c51318c8c678e545b1f3d6fddd" title="reordered opaque 64bit (generally an integer or a double precision float PTS but can be anything)...">AVFrame.reordered_opaque</a> to exactly one of the values provided by the user through <a class="el" href="structAVCodecContext.html#a64c09907902b41744c3ea60c89fd42fb" title="opaque 64bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque">AVCodecContext.reordered_opaque</a> </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000046">Deprecated:</a></b></dt><dd>in favor of pkt_pts </dd></dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00399">399</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac85daa1316e1f47e78da0ca19b7c60e6"></a><!-- doxytag: member="AVFrame::sample_rate" ref="ac85daa1316e1f47e78da0ca19b7c60e6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#ac85daa1316e1f47e78da0ca19b7c60e6">AVFrame::sample_rate</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sample rate of the audio data. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="filter_audio_8c-example.html#a45">filter_audio.c</a>, and <a class="el" href="muxing_8c-example.html#a72">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00422">422</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00181">alloc_audio_frame()</a>, and <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>.</p>
</div>
</div>
<a class="anchor" id="a5f343e0325e3e9d9ed20e34c9e156aef"></a><!-- doxytag: member="AVFrame::channel_layout" ref="a5f343e0325e3e9d9ed20e34c9e156aef" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t <a class="el" href="structAVFrame.html#a5f343e0325e3e9d9ed20e34c9e156aef">AVFrame::channel_layout</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Channel layout of the audio data. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="decoding_encoding_8c-example.html#a31">decoding_encoding.c</a>, <a class="el" href="filter_audio_8c-example.html#a38">filter_audio.c</a>, and <a class="el" href="muxing_8c-example.html#a71">muxing.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00427">427</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00181">alloc_audio_frame()</a>, <a class="el" href="decoding__encoding_8c_source.html#l00103">audio_encode_example()</a>, <a class="el" href="filter__audio_8c_source.html#l00242">get_input()</a>, and <a class="el" href="filter__audio_8c_source.html#l00215">process_output()</a>.</p>
</div>
</div>
<a class="anchor" id="a4a64d05cc676bfa8e18bf22d16c8a51f"></a><!-- doxytag: member="AVFrame::buf" ref="a4a64d05cc676bfa8e18bf22d16c8a51f" args="[AV_NUM_DATA_POINTERS]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVBufferRef.html">AVBufferRef</a>* <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f">AVFrame::buf</a>[<a class="el" href="frame_8h.html#add80189702cf0f5ea82718576fb43201">AV_NUM_DATA_POINTERS</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>AVBuffer references backing the data for this frame. </p>
<p>If all elements of this array are NULL, then this frame is not reference counted. This array must be filled contiguously -- if buf[i] is non-NULL then buf[j] must also be non-NULL for all j < i.</p>
<p>There may be at most one AVBuffer per data plane, so for video this array always contains all the references. For planar audio with more than AV_NUM_DATA_POINTERS channels, there may be more buffers than can fit in this array. Then the extra <a class="el" href="structAVBufferRef.html" title="A reference to a data buffer.">AVBufferRef</a> pointers are stored in the extended_buf array. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00441">441</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a254a144d113ceedc003ec1547cc5bd54"></a><!-- doxytag: member="AVFrame::extended_buf" ref="a254a144d113ceedc003ec1547cc5bd54" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVBufferRef.html">AVBufferRef</a>** <a class="el" href="structAVFrame.html#a254a144d113ceedc003ec1547cc5bd54">AVFrame::extended_buf</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>For planar audio which requires more than AV_NUM_DATA_POINTERS <a class="el" href="structAVBufferRef.html" title="A reference to a data buffer.">AVBufferRef</a> pointers, this array will hold all the references which cannot fit into <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a>. </p>
<p>Note that this is different from <a class="el" href="structAVFrame.html#afca04d808393822625e09b5ba91c6756" title="pointers to the data planes/channels.">AVFrame.extended_data</a>, which always contains all the pointers. This array only contains the extra pointers, which cannot fit into <a class="el" href="structAVFrame.html#a4a64d05cc676bfa8e18bf22d16c8a51f" title="AVBuffer references backing the data for this frame.">AVFrame.buf</a>.</p>
<p>This array is always allocated using <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> by whoever constructs the frame. It is freed in <a class="el" href="group__lavu__frame.html#ga0a2b687f9c1c5ed0089b01fd61227108" title="Unreference all the buffers referenced by frame and reset the frame fields.">av_frame_unref()</a>. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00455">455</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa2dc17f4f816018b0782e1386bdbeeb1"></a><!-- doxytag: member="AVFrame::nb_extended_buf" ref="aa2dc17f4f816018b0782e1386bdbeeb1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#aa2dc17f4f816018b0782e1386bdbeeb1">AVFrame::nb_extended_buf</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of elements in extended_buf. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00459">459</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a44d40e03fe22a0511c9157dab22143ee"></a><!-- doxytag: member="AVFrame::side_data" ref="a44d40e03fe22a0511c9157dab22143ee" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVFrameSideData.html">AVFrameSideData</a>** <a class="el" href="structAVFrame.html#a44d40e03fe22a0511c9157dab22143ee">AVFrame::side_data</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="frame_8h_source.html#l00461">461</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9061ffbfdbdfec29f2dbfc252c5569a7"></a><!-- doxytag: member="AVFrame::nb_side_data" ref="a9061ffbfdbdfec29f2dbfc252c5569a7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a9061ffbfdbdfec29f2dbfc252c5569a7">AVFrame::nb_side_data</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="frame_8h_source.html#l00462">462</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a49020cc320b8fb1f5449167b6c97515b"></a><!-- doxytag: member="AVFrame::flags" ref="a49020cc320b8fb1f5449167b6c97515b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a49020cc320b8fb1f5449167b6c97515b">AVFrame::flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frame flags, a combination of <a class="el" href="group__lavu__frame__flags.html">AV_FRAME_FLAGS</a>. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00482">482</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a853afbad220bbc58549b4860732a3aa5"></a><!-- doxytag: member="AVFrame::color_range" ref="a853afbad220bbc58549b4860732a3aa5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a3da0bf691418bc22c4bcbe6583ad589a">AVColorRange</a> <a class="el" href="structAVFrame.html#a853afbad220bbc58549b4860732a3aa5">AVFrame::color_range</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>MPEG vs JPEG YUV range. </p>
<p>It must be accessed using <a class="el" href="group__lavu__frame.html#ga829e2f3cb3edcc04d76fa9eac37392cd">av_frame_get_color_range()</a> and <a class="el" href="group__lavu__frame.html#ga862e9789b46539b3edcf0ae4cb106f95">av_frame_set_color_range()</a>.</p>
<ul>
<li>encoding: Set by user</li>
<li>decoding: Set by libavcodec </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00491">491</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a59a3f830494f2ed1133103a1bc9481e7"></a><!-- doxytag: member="AVFrame::color_primaries" ref="a59a3f830494f2ed1133103a1bc9481e7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#ad384ee5a840bafd73daef08e6d9cafe7">AVColorPrimaries</a> <a class="el" href="structAVFrame.html#a59a3f830494f2ed1133103a1bc9481e7">AVFrame::color_primaries</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="frame_8h_source.html#l00493">493</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab09abb126e3922bc1d010cf044087939"></a><!-- doxytag: member="AVFrame::color_trc" ref="ab09abb126e3922bc1d010cf044087939" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#ad4791ea14975f098b649db7fcd731ce6">AVColorTransferCharacteristic</a> <a class="el" href="structAVFrame.html#ab09abb126e3922bc1d010cf044087939">AVFrame::color_trc</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="frame_8h_source.html#l00495">495</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9262c231f1f64869439b4fe587fe1710"></a><!-- doxytag: member="AVFrame::colorspace" ref="a9262c231f1f64869439b4fe587fe1710" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#aff71a069509a1ad3ff54d53a1c894c85">AVColorSpace</a> <a class="el" href="structAVFrame.html#a9262c231f1f64869439b4fe587fe1710">AVFrame::colorspace</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>YUV colorspace type. </p>
<p>It must be accessed using <a class="el" href="group__lavu__frame.html#ga03224acf06cbd666f3878a2c35b3f704">av_frame_get_colorspace()</a> and <a class="el" href="group__lavu__frame.html#ga43e7dd7b76a6d76811e7f33557fd48e6">av_frame_set_colorspace()</a>.</p>
<ul>
<li>encoding: Set by user</li>
<li>decoding: Set by libavcodec </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00504">504</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1d15617172d8123a66bdcf8d4d826ee2"></a><!-- doxytag: member="AVFrame::chroma_location" ref="a1d15617172d8123a66bdcf8d4d826ee2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a1f86ed1b6a420faccacf77c98db6c1ff">AVChromaLocation</a> <a class="el" href="structAVFrame.html#a1d15617172d8123a66bdcf8d4d826ee2">AVFrame::chroma_location</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="frame_8h_source.html#l00506">506</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0943e85eb624c2191490862ececd319d"></a><!-- doxytag: member="AVFrame::best_effort_timestamp" ref="a0943e85eb624c2191490862ececd319d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#a0943e85eb624c2191490862ececd319d">AVFrame::best_effort_timestamp</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>frame timestamp estimated using various heuristics, in stream time base Code outside libavcodec should access this field using: av_frame_get_best_effort_timestamp(frame) </p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by libavcodec, read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00515">515</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3bc83474709406b511c4f3498182d18a"></a><!-- doxytag: member="AVFrame::pkt_pos" ref="a3bc83474709406b511c4f3498182d18a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#a3bc83474709406b511c4f3498182d18a">AVFrame::pkt_pos</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>reordered pos from the last <a class="el" href="structAVPacket.html" title="This structure stores compressed data.">AVPacket</a> that has been input into the decoder Code outside libavcodec should access this field using: av_frame_get_pkt_pos(frame) </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00524">524</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a385c44d7cafe80cad82fe46e25cab221"></a><!-- doxytag: member="AVFrame::pkt_duration" ref="a385c44d7cafe80cad82fe46e25cab221" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFrame.html#a385c44d7cafe80cad82fe46e25cab221">AVFrame::pkt_duration</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>duration of the corresponding packet, expressed in AVStream->time_base units, 0 if unknown. </p>
<p>Code outside libavcodec should access this field using: av_frame_get_pkt_duration(frame)</p>
<ul>
<li>encoding: unused</li>
<li>decoding: Read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00534">534</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5bde87fd101f66d6263bb451056dba13"></a><!-- doxytag: member="AVFrame::metadata" ref="a5bde87fd101f66d6263bb451056dba13" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a>* <a class="el" href="structAVFrame.html#a5bde87fd101f66d6263bb451056dba13">AVFrame::metadata</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>metadata. </p>
<p>Code outside libavcodec should access this field using: av_frame_get_metadata(frame)</p>
<ul>
<li>encoding: Set by user.</li>
<li>decoding: Set by libavcodec. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00543">543</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3dd46fd353a405f6e9b91c11d9c5b736"></a><!-- doxytag: member="AVFrame::decode_error_flags" ref="a3dd46fd353a405f6e9b91c11d9c5b736" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a3dd46fd353a405f6e9b91c11d9c5b736">AVFrame::decode_error_flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>decode error flags of the frame, set to a combination of FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there were errors during the decoding. </p>
<p>Code outside libavcodec should access this field using: av_frame_get_decode_error_flags(frame)</p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by libavcodec, read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00554">554</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a58c663568a99c1477c163e64858b3fef"></a><!-- doxytag: member="AVFrame::channels" ref="a58c663568a99c1477c163e64858b3fef" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a58c663568a99c1477c163e64858b3fef">AVFrame::channels</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>number of audio channels, only used for audio. </p>
<p>Code outside libavcodec should access this field using: av_frame_get_channels(frame)</p>
<ul>
<li>encoding: unused</li>
<li>decoding: Read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00565">565</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3cc73a3345ec1ff8e473ab6049c607e7"></a><!-- doxytag: member="AVFrame::pkt_size" ref="a3cc73a3345ec1ff8e473ab6049c607e7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFrame.html#a3cc73a3345ec1ff8e473ab6049c607e7">AVFrame::pkt_size</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>size of the corresponding packet containing the compressed frame. </p>
<p>It must be accessed using <a class="el" href="group__lavu__frame.html#ga03e2090721bb5d66f292090c7e7e2524">av_frame_get_pkt_size()</a> and <a class="el" href="group__lavu__frame.html#ga12742a052df91eeb22a0062cf3da0504">av_frame_set_pkt_size()</a>. It is set to a negative value if unknown.</p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by libavcodec, read by user. </li>
</ul>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00575">575</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae7899bbbb38ef9da9e99f36fa69939cc"></a><!-- doxytag: member="AVFrame::qp_table_buf" ref="ae7899bbbb38ef9da9e99f36fa69939cc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVBufferRef.html">AVBufferRef</a>* <a class="el" href="structAVFrame.html#ae7899bbbb38ef9da9e99f36fa69939cc">AVFrame::qp_table_buf</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Not to be accessed directly from outside libavutil. </p>
<p>Definition at line <a class="el" href="frame_8h_source.html#l00580">580</a> of file <a class="el" href="frame_8h_source.html">frame.h</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>libavutil/<a class="el" href="frame_8h_source.html">frame.h</a></li>
</ul>
</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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </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  <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>