利用libav库中的解析swf_adpcm部分来解析swf_adpcm

本文介绍了如何利用libav库中的adpcm.c文件,特别是adpcm_swf_decode方法,来解析SWF_ADPCM音频数据。通过解析过程,将SWF_ADPCM数据转换为PCM数据,涉及关键数据结构如ff_adpcm_step_table,并简化AVCodecContext结构以适应需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在libav库的libavcodec文件夹中,有adpcm.c这个文件,就是用来解析adpcm音频数据,其中有一个方法是用来解析swf_adpcm数据,方法名为adpcm_swf_decode

这个方法的代码段如下

1.需要用到的数据结构:

ff_adpcm_step_table【89】

/**
 * This is the step table. Note that many programs use slight deviations from
 * this table, but such deviations are negligible:
 */
const int16_t ff_adpcm_step_table[89] = {
        7,     8,     9,    10,    11,    12,    13,    14,    16,    17,
       19,    21,    23,    25,    28,    31,    34,    37,    41,    45,
       50,    55,    60,    66,    73,    80,    88,    97,   107,   118,
      130,   143,   157,   173,   190,   209,   230,   253,   279,   307,
      337,   371,   408,   449,   494,   544,   598,   658,   724,   796,
      876,   963,  1060,  1166,  1282,  1411,  1552,  1707,  1878,  2066,
     2272,  2499,  2749,  3024,  3327,  3660,  4026,  4428,  4871,  5358,
     5894,  6484,  7132,  7845,  8630,  9493, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值