AVFrame
<h5>简要描述</h5>
<ul>
<li>AVFrame是包含码流参数较多的结构体</li>
</ul>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">data[AV_NUM_DATA_POINTERS]</td>
<td style="text-align: left;">uint8_t*</td>
<td>解码后原始数据(对视频来说是YUV,RGB,对音频来说是PCM)</td>
</tr>
<tr>
<td style="text-align: left;">linesize[AV_NUM_DATA_POINTERS]</td>
<td style="text-align: left;">int</td>
<td>data中“一行”数据的大小。注意:未必等于图像的宽,一般大于图像的宽</td>
</tr>
<tr>
<td style="text-align: left;">width, height</td>
<td style="text-align: left;">int</td>
<td>视频帧宽和高</td>
</tr>
<tr>
<td style="text-align: left;">nb_samples</td>
<td style="text-align: left;">int</td>
<td>音频的一个AVFrame中可能包含多个音频帧,在此标记包含了几个</td>
</tr>
<tr>
<td style="text-align: left;">format</td>
<td style="text-align: left;">int</td>
<td>解码后原始数据类型(YUV420,YUV422,RGB24...)</td>
</tr>
<tr>
<td style="text-align: left;">key_frame</td>
<td style="text-align: left;">int</td>
<td>是否是关键帧</td>
</tr>
<tr>
<td style="text-align: left;">pict_type</td>
<td style="text-align: left;">enum AVPictureType</td>
<td>帧类型(I,B,P...)</td>
</tr>
<tr>
<td style="text-align: left;">sample_aspect_ratio</td>
<td style="text-align: left;">AVRational</td>
<td>宽高比(16:9,4:3...)</td>
</tr>
<tr>
<td style="text-align: left;">pts</td>
<td style="text-align: left;">int64_t</td>
<td>显示时间戳</td>
</tr>
<tr>
<td style="text-align: left;">coded_picture_number</td>
<td style="text-align: left;">int</td>
<td>编码帧序号</td>
</tr>
<tr>
<td style="text-align: left;">display_picture_number</td>
<td style="text-align: left;">int</td>
<td>显示帧序号</td>
</tr>
<tr>
<td style="text-align: left;">...</td>
<td style="text-align: left;">...</td>
<td>...</td>
</tr>
</tbody>
</table>