为iOS arm64编译的G729编解码器无法正常运行

Liangxiu

我在VOIP应用程序中使用了G729编解码器,当该应用程序仅针对armv7时,它可以正常工作。被叫者可以清楚地听到我的声音。然后我转向arm64,被叫者不再能清楚地听到我的声音。我在输入方的armv7设备和arm64设备上记录G729编解码器之前和之后的输入语音原始数据,然后将G729编码的数据转换回去。我发现从armv7设备转换后的回声比arm64设备好得多。

克拉乌

这取决于您使用的G729实现,但是如果您使用的是Samuel Vinson的,我相信我找到了问题。

lpc.c结果之间的比较和分别在第643和698行的两个值之间的减法:

lpc.c:643  if ((UWord32)(t0 - 0xfe000000L) < 0x01ffffffL -  0xfe000000L)
lpc.c:698  if ((UWord32)(t0 - 0xff000000L) < 0x00ffffffL -  0xff000000L)

结果0x00ffffffL - 0xff000000L1ffffff33554431)在32位上,而ffffffff01ffffff-4261412865)在64位上,因为在ARM处理器上,long在64位上更大(我正在用iPhone 4,armv7、32位和iPhone 5s,arm64, 64位)。

因此,基本上在64位上,比较将始终无法通过检查,因为第二项始终为负,而aUWord32始终为正。

我的解决方案是在32位上使用减法的硬编码结果,因此将其0x3ffffffL用于第一个条件和0x1ffffffL第二个条件可为我解决语音质量问题:

lpc.c:643  if ((UWord32)(t0 - 0xff000000L) < 0x3ffffffL)
lpc.c:698  if ((UWord32)(t0 - 0xfe000000L) < 0x1ffffffL)

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为iOS arm64编译的G729编解码器无法正常运行

来自分类Dev

无法为iOS构建和安装openH264视频编解码器

来自分类Dev

G729编解码器是32 kbps还是8 kbps?

来自分类Dev

Android中的G729编解码器支持

来自分类Dev

为VirtualDub安装编解码器

来自分类Dev

如何在用于Linux的Linphone 4.3.0新SDK中启用G729音频编解码器?

来自分类Dev

编解码器参数不正确,无法为输出文件写入标头:FFMPEG-Android

来自分类Dev

如何通过hadoop集群为Google Compute Engine启用Snappy / Snappy编解码器

来自分类Dev

如何在Spark中为SaveAsSequenceFile方法提供编解码器?

来自分类Dev

如何通过avconv为iPhone制作AVI(MJPEG编解码器)?

来自分类Dev

在Python3中为print()使用编解码器错误处理程序?

来自分类Dev

如何告诉 ffmpeg 转码为 Windows Media Player 支持的视频编解码器?

来自分类Dev

UnicodeDecodeError:'charmap'编解码器无法解码位置668处的字节0x98:字符映射为<undefined>

来自分类Dev

UnicodeDecodeError:“ charmap”编解码器无法解码位置106的字节0x8f:字符映射为<undefined>

来自分类Dev

如何在iPhone / iOS中播放xiph.org音频编解码器?

来自分类Dev

如何仅使用音频编解码器制作iOS VOIP / SIP应用程序

来自分类Dev

iOS自定义块无法为arm64编译

来自分类Dev

UnicodeDecodeError:'charmap'编解码器无法在位置Y处编码字符X:字符映射为未定义

来自分类Dev

FFMPEG MOV到MP4错误{无法为输出文件#0写入标题(编解码器参数不正确?):无效的参数}

来自分类Dev

'charmap'编解码器无法在位置108中编码字符'\ ufb01':字符映射为<undefined>

来自分类Dev

G.729编解码器变体之间的区别是什么

来自分类Dev

如何将mp3和ffmpeg编解码器库的支持设置为cef?

来自分类Dev

使用 AVCaptureMovieFileOutput 实例时将视频编解码器设置为 H.264?沙马林

来自分类Dev

如何使用 FFmpeg 库获取前缀为 .264 的编解码器视频文件的持续时间?

来自分类Dev

为arm64 iOS构建C库(GMP)

来自分类Dev

UnicodeDecodeError: 'charmap' 编解码器无法解码

来自分类Dev

在带有FFmpeg的mp4容器中寻找h264编解码器的视频帧。数据包pts始终为0

来自分类Dev

如何基于FFMpeg编码命令或输出为AV1文件确定正确的HTML5视频编解码器属性?

来自分类Dev

Scala 中的 DSE 5.0 自定义编解码器 - Intellij 无法编译

Related 相关文章

  1. 1

    为iOS arm64编译的G729编解码器无法正常运行

  2. 2

    无法为iOS构建和安装openH264视频编解码器

  3. 3

    G729编解码器是32 kbps还是8 kbps?

  4. 4

    Android中的G729编解码器支持

  5. 5

    为VirtualDub安装编解码器

  6. 6

    如何在用于Linux的Linphone 4.3.0新SDK中启用G729音频编解码器?

  7. 7

    编解码器参数不正确,无法为输出文件写入标头:FFMPEG-Android

  8. 8

    如何通过hadoop集群为Google Compute Engine启用Snappy / Snappy编解码器

  9. 9

    如何在Spark中为SaveAsSequenceFile方法提供编解码器?

  10. 10

    如何通过avconv为iPhone制作AVI(MJPEG编解码器)?

  11. 11

    在Python3中为print()使用编解码器错误处理程序?

  12. 12

    如何告诉 ffmpeg 转码为 Windows Media Player 支持的视频编解码器?

  13. 13

    UnicodeDecodeError:'charmap'编解码器无法解码位置668处的字节0x98:字符映射为<undefined>

  14. 14

    UnicodeDecodeError:“ charmap”编解码器无法解码位置106的字节0x8f:字符映射为<undefined>

  15. 15

    如何在iPhone / iOS中播放xiph.org音频编解码器?

  16. 16

    如何仅使用音频编解码器制作iOS VOIP / SIP应用程序

  17. 17

    iOS自定义块无法为arm64编译

  18. 18

    UnicodeDecodeError:'charmap'编解码器无法在位置Y处编码字符X:字符映射为未定义

  19. 19

    FFMPEG MOV到MP4错误{无法为输出文件#0写入标题(编解码器参数不正确?):无效的参数}

  20. 20

    'charmap'编解码器无法在位置108中编码字符'\ ufb01':字符映射为<undefined>

  21. 21

    G.729编解码器变体之间的区别是什么

  22. 22

    如何将mp3和ffmpeg编解码器库的支持设置为cef?

  23. 23

    使用 AVCaptureMovieFileOutput 实例时将视频编解码器设置为 H.264?沙马林

  24. 24

    如何使用 FFmpeg 库获取前缀为 .264 的编解码器视频文件的持续时间?

  25. 25

    为arm64 iOS构建C库(GMP)

  26. 26

    UnicodeDecodeError: 'charmap' 编解码器无法解码

  27. 27

    在带有FFmpeg的mp4容器中寻找h264编解码器的视频帧。数据包pts始终为0

  28. 28

    如何基于FFMpeg编码命令或输出为AV1文件确定正确的HTML5视频编解码器属性?

  29. 29

    Scala 中的 DSE 5.0 自定义编解码器 - Intellij 无法编译

热门标签

归档