广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    fdk-aac怎么使用

    来源:网络收集  点击:  时间:2024-05-29
    【导读】:
    下面就是小编带给大家的fdk-aac怎么使用方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看。方法/步骤1/6分步阅读

    Fdk-aac相比 faac以及其他的aac库,好处是输出码率控制精准,而且支持he-aac的编解码,看了下android源码里面,openmax的soft aac组件就是用fdk-aac实现的。

    2/6

    decoder decoder主要有两种模式, RAW和ADTS RAW模式: 需要在初始化decoder的时候传入AudioSpecInfo,表明即将送入的rawdata的samplerate, channel等; 送数据的时候把ADTS头去掉 m_hAacDecoder=aacDecoder_Open(TT_MP4_RAW,1);

    3/6

    aacDecoder_ConfigRaw(m_hAacDecoder,m_SpecInfo,m_SpecInfoSize) ADTS模式: 初始化时不需要传入AudioSpecInfo;送数据时要加上ADTS头 aacDecoder_Open(TT_MP4_ADTS,1);

    4/6

    送数据时常用如下形式: UINT bytesValid = lInSize;while(bytesValid0 decoderErr==AAC_DEC_NOT_ENOUGH_BITS){aacDecoder_Fill( m_hAacDecoder,pIn,(UINT*)lInSize,bytesValid); decoderErr = aacDecoder_DecodeFrame(m_hAacDecoder,(INT_PCM*)m_decodeBuffer,m_decodeBufSize,0);}

    5/6

    解码库会分配一个过渡性的decoder-internal input buffer,这个buffer大小又RANSPORTDEC_INBUF_SIZE规定,可以任意设定但必须满足两个条件:1:each input channel requires 768 bytes2:the whole buffer must be of size 2^nSo for example a stereo decoder: TRANSPORTDEC_INBUF_SIZE = 2 768 = 1536 = 2048(选择2048bytes)。

    6/6

    aacDecoder_Fill就是从input buffer往ecoder-internalinput buffer里面拷贝数据,返回的是input buffer中还剩下多少没有被拷贝的数据(bytesValid)aacDecoder_DecodeFrame用来解码internal buffer中的数据,如果数据不足以解码。

    注意事项

    以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。

    个人意见,仅供参考。

    软件
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_855000.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 12:56:22  耗时:0.023
    0.0227s