在优化的Emscripten中构建/编译Opus(libopus)

时间:2018-03-28 14:37:56

标签: emscripten webassembly opus

是否可以使用Emscripten进行优化来构建/编译Opus / libopus?我不确定这是否是Emscripten和WebAssembly的当前限制,或者是否存在确保解码器在WebAssembly(wasm)中进行优化的选项。

<小时/> 我在opus_decoder下面收到以下警告:

  CC       src/opus_decoder.lo
src/opus_decoder.c:37:10: warning: You appear to be compiling without optimization, if so
opus will be very slow. [-W#pragma-messages]

在没有Emscripten包装器的情况下正常编译Opus时不会产生此警告:

$ ./configure --disable-intrinsics --disable-rtcd
$ make

包装时引入警告:

$ emconfigure ./configure --disable-intrinsics --disable-rtcd
$ emmake make

使用:

  • emcc 1.37.35
  • Opus v1.3-beta - 也测试了今天的主人(d01199b

3 个答案:

答案 0 :(得分:2)

您可以将CFLAGS传递到配置步骤,如下所示:

emconfigure ./configure --disable-intrinsics --disable-rtcd CFLAGS='-O2'

这将启用优化并隐藏消息。

答案 1 :(得分:1)

嗯,你在emscripten中运行它,所以它不会很快......:)

问题在于,如果你假装是gcc但实际上并不是x86目标,那么你会受到这条消息的攻击。<​​/ p>

您可以忽略该消息(优化似乎仅适用于x86)或定义OPUS_WILL_BE_SLOW(-DOPUS_WILL_BE_SLOW)以使其消失。

答案 2 :(得分:0)

我还没有测试过webassembly,但我过去使用emscripten编译来创建与asm.js一起使用的代码,我已经将这些选项用于emcc

GROUP BY