libswresample 库执行高度优化的音频重采样、重矩阵化和样本格式转换操作。
具体来说,此库执行以下转换:
- 重采样:是改变音频速率的过程,例如从 44100Hz 的高采样率到 8000Hz。从高采样率到低采样率的音频转换是一个有损过程。有多种重采样选项和算法可供选择。
- 格式转换:是转换样本类型的过程,例如从 16 位有符号样本到无符号 8 位或浮点样本。当从打包布局(所有属于不同通道的样本交错在同一缓冲区中)传递到平面布局(所有属于同一通道的样本存储在专用缓冲区或“平面”中)时,它还处理打包转换。
- 重新矩阵化:是更改通道布局的过程,例如从立体声变为单声道。当输入通道无法映射到输出流时,该过程是有损的,因为它涉及不同的增益因子和混合。
各种其他音频转换(例如拉伸和填充)可通过专用选项启用。