FFmpeg基础:AVSampleFormat

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36783046/article/details/86656394

定义

enum AVSampleFormat {
    AV_SAMPLE_FMT_NONE = -1,
    AV_SAMPLE_FMT_U8,          ///< unsigned 8 bits
    AV_SAMPLE_FMT_S16,         ///< signed 16 bits
    AV_SAMPLE_FMT_S32,         ///< signed 32 bits
    AV_SAMPLE_FMT_FLT,         ///< float
    AV_SAMPLE_FMT_DBL,         ///< double

    AV_SAMPLE_FMT_U8P,         ///< unsigned 8 bits, planar
    AV_SAMPLE_FMT_S16P,        ///< signed 16 bits, planar
    AV_SAMPLE_FMT_S32P,        ///< signed 32 bits, planar
    AV_SAMPLE_FMT_FLTP,        ///< float, planar
    AV_SAMPLE_FMT_DBLP,        ///< double, planar
    AV_SAMPLE_FMT_S64,         ///< signed 64 bits
    AV_SAMPLE_FMT_S64P,        ///< signed 64 bits, planar

    AV_SAMPLE_FMT_NB           ///< Number of sample formats. DO NOT USE if linking dynamically
};

位置

libavutil/samplefmt.h

说明

  • 样本值用基本的C类型来表示(如:8位,16位,32位……),因此没有提供有符号24位的样本格式,即使它是一个常见的原始音频数据格式。
  • 浮点格式的全音量范围在-1.01.0 之间。

数据布局

布局类型 说明
planar 每个声道数据各自保存为一个独立的数组,所有数组的大小相同
packed 所有声道的数据保存在第一个数组中,交错存放

参考: av_samples_fill_arrays()AVFrame

猜你喜欢

转载自blog.csdn.net/qq_36783046/article/details/86656394
今日推荐