版权声明:本文为博主原创文章,未经博主允许不得转载。 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.0
到1.0
之间。
数据布局
布局类型 | 说明 |
---|---|
planar | 每个声道数据各自保存为一个独立的数组,所有数组的大小相同 |
packed | 所有声道的数据保存在第一个数组中,交错存放 |
参考: av_samples_fill_arrays()
和 AVFrame