查看: 3293|回复: 1

移植speex

[复制链接]
  • TA的每日心情
    开心
    2018-6-12 14:05
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2017-6-16 17:27:13 | 显示全部楼层 |阅读模式
    分享到:
    speex是一个语言压缩的库,压缩率还是比较高,而且占用资源很少,很适gd32这样子的MCU。具体的可以参考官网。
    ST官网上面有一个移植好的方案,我根据这个方案做些修改,将它移到GD32F450上,由于我外部晶振还没焊接,所以只能先用内部晶振,这样子压缩的速率就慢了好多。
    大概的一个示例
    1. #ifdef HAVE_CONFIG_H
    2. #include "config.h"
    3. #endif

    4. #include <speex/speex.h>
    5. #include <stdio.h>
    6. #include <stdlib.h>
    7. #include <speex/speex_callbacks.h>

    8. #ifdef FIXED_DEBUG
    9. extern long long spx_mips;
    10. #endif

    11. #define FRAME_SIZE 160
    12. #include <math.h>

    13. int main(int argc, char **argv)
    14. {
    15.     void * enc;
    16.     void * dec;
    17.     SpeexBits bits;
    18.     int nbBytes;
    19.     spx_int16_t input[FRAME_SIZE];
    20.     int quality = 0, complexity=1, vbr=0, enh=1;/* SPEEX PARAMETERS, MUST REMAINED UNCHANGED */
    21.     unsigned char output[200];


    22.     speex_bits_init(&bits);
    23.     enc = speex_encoder_init(&speex_nb_mode);
    24.     dec = speex_decoder_init(&speex_nb_mode);

    25.     speex_encoder_ctl(enc, SPEEX_SET_VBR, &vbr);
    26.     speex_encoder_ctl(enc, SPEEX_SET_QUALITY,&quality);
    27.     speex_encoder_ctl(enc, SPEEX_SET_COMPLEXITY, &complexity);
    28.     speex_encoder_ctl(enc,SPEEX_GET_BITRATE,&complexity);
    29.     speex_encoder_ctl(enc,SPEEX_GET_SAMPLING_RATE,&complexity);
    30.     while (1) {
    31.         speex_bits_reset(&bits);
    32.         speex_encode_int(enc, input, &bits);
    33.         nbBytes = speex_bits_write(&bits, output, sizeof(output));
    34.         //speex_bits_read_from(&bits, output, nbBytes);
    35.         //speex_decode_int(dec,&bits,input);
    36.     }
    37.     speex_bits_destroy(&bits);
    38.     speex_encoder_destroy(enc);

    39.    return 0;
    40. }
    复制代码

    speex-1.2beta3.rar

    1.49 MB, 下载次数: 26

    回复

    使用道具 举报

    该用户从未签到

    发表于 2020-6-9 14:29:13 | 显示全部楼层
    正在处理speex的算法问题,先看看研究一下,谢谢!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-16 13:58 , Processed in 0.132830 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.