zoukankan      html  css  js  c++  java
  • AVFrame 解析

    AVFrame:

    1)存储解码后的音频数据或视频数据.

    2)AVFrame必须由av_frame_alloc() 来创建(Note:这只是用来创建AVFrame自身的内存空间,AVFrame结构体中的数据缓冲区,必须由其他方法来管理)

    3)AVFrame必须由av_frame_free来释放

    4)AVFrame通常只申请一次空间,然后多次复用来保存不同的数据(例如:一个AVFrame存放从解码器接收到的帧),在这种情况下,使用av_frame_unref(),引用计数-1,当引用计数为0时,释放data空间,并且在复用该数据前,会重置该结构体数据,还原成最原始的状态

    注:In such a case, av_frame_unref() will free any references held by the frame and reset it to its original clean state before it is reused again. (这尼玛 翻译过来不是释放所有引用?是指引用计数直接变成0,然后释放data内存空间?而不是减一?)

    5)后面还有,不翻译了。。。。。。

    uint8_t *data[AV_NUM_DATA_POINTERS]:

    1)指向平面图片或平面音频频道的指针

    2)有可能与第一个分配的的字节不同(尼玛  啥意思???)

    3)一些解码器在访问到超过图片 (0,0) - (宽,高)的范围,具体看avcodec_align_dimensions2()。一些过滤器和swscale可以读取到超出平台的16个字节数据,如果这些过滤器要被使用,16个额外的字节必须被申请(what are you 说啥嘞?)

    int linesize[AV_NUM_DATA_POINTERS]:

    1)对于视频而言,代表着每个图像行的大小(字节单位)

    2)对于音频而言,代表着每个平面的大小(字节单位)

    3)对于音频而言只能设置linesize[0],对于平台音频而言,每个平面通道都必须一样大小

    4)对于视频而言linesizes应该是cpu字节对齐的倍数,对于现代桌面CPU而言基本是16或32

    5)有些代码需要这样的对齐,有些代码在没有对齐的情况下会变得很慢,而有些代码则没有区别

    6)注:linesize可能大于可用数据的大小——出于性能考虑,可能会有额外的填充

    int width, height:

    1)仅对视频帧,该帧图像的宽高。

    int nb_samples:

    1)该帧描述的音频样本(每个通道)的数量

    int format:

    1)帧的格式,-1代表未知或未设置

    2)值对应的是视频的像素格式 enum AVPixelFormat,音频的样本格式 enum AVSampleFormat

    int key_frame:

    1)是否为关键帧(1:是        0:不是)

    int64_t pts:

    1)描述事件戳,以 time_base 时间基础为单位(应该显示给用户 该帧的时间)

    int sample_rate:

    1)音频的采样率

     uint64_t channel_layout:

    1)音频数据的通道布局(啥叫通道布局?)

     int channels:

    1)音频通道数,只用于音频

    2)编码:未使用

    3)解码:由用户来读取

    备注:剩下一箩筐的参数,不一一列举,自个看头文件去吧。。。。。。

  • 相关阅读:
    python数据类型和数据运算
    python 模块介绍
    Dictionary<Key,Value>的用法
    不用Invoke就等用 Control.CheckForIllegalCrossThreadCalls = false;
    多线程+委托的安全访问(invoke)
    Lambda 表达式型的排序法
    System.Windows.Forms.AxHost.InvalidActiveXStateException”类型的异常在 ESRI.ArcGIS.AxControls.dll 中发生,但未在用户代码中进行处理
    无法嵌入互操作类型“ESRI.ArcGIS.Display.SimpleFillSymbolClass”。请改用适用的接口。
    JavaScript中样式,方法 函数的应用
    Arcgis Engine最短路径分析
  • 原文地址:https://www.cnblogs.com/helloc14/p/12235033.html
Copyright © 2011-2022 走看看