Я использовал кодек G729 в своем приложении VOIP, когда приложение предназначено только для armv7, оно отлично работает. Калли слышит голос. Затем я поворачиваюсь к arm64, вызывающий голос больше не слышит. Я записываю входные данные необработанного голоса до и после кодека G729 как на устройстве armv7, так и на устройстве arm64 со стороны вызывающего абонента, а затем обратно на данные G729. Я считаю, что преобразованный задний голос с устройства armv7 намного лучше, чем устройство arm64.Кодек G729, скомпилированный для iOS arm64, не работает должным образом
ответ
Это зависит от используемой модификации G729, но если вы используете Samuel Vinson's, я считаю, что нашел проблему.
В lpc.c
есть сравнение между результатом и вычитания между двумя значениями на линиях 643 и 698 соответственно:
lpc.c:643 if ((UWord32)(t0 - 0xfe000000L) < 0x01ffffffL - 0xfe000000L)
lpc.c:698 if ((UWord32)(t0 - 0xff000000L) < 0x00ffffffL - 0xff000000L)
Результат 0x00ffffffL - 0xff000000L
является 1ffffff
(33554431
) на 32 бит, но ffffffff01ffffff
(-4261412865
) на 64 бит, поскольку длинный путь больше на 64 бит на ARM-процессоре (я тестирую iPhone 4, armv7, 32 бит и iPhone 5s, arm64, 64 бит).
Таким образом, в основном на 64 бит сравнение всегда будет недействительным, так как второй член всегда отрицательный, а UWord32
всегда будет положительным.
Мое решения использовать жёстко прописанные результаты вычитания на 32 бита, поэтому с помощью 0x3ffffffL
для первых условного и 0x1ffffffL
для второго, устраняет проблему качества голоса для меня:
lpc.c:643 if ((UWord32)(t0 - 0xff000000L) < 0x3ffffffL)
lpc.c:698 if ((UWord32)(t0 - 0xfe000000L) < 0x1ffffffL)
Надеется, что это помогает.
- 1. iOS 64bit ntpdate не работает должным образом с флагом arm64
- 2. Скомпилированный файл .jar не работает должным образом
- 3. Включить кодек g729 для клиента Siphon-iPhone
- 4. Включите кодек G729 в linphone для iPhone
- 5. OCMock не работает должным образом в iOS?
- 6. Тест полета iOS не работает должным образом?
- 7. UILexicon iOS 8 не работает должным образом
- 8. iOS CATextLayer wrapped не работает должным образом
- 9. Как интегрировать кодек G729 в pjsip?
- 10. Приложение iOS не работает должным образом
- 11. Протокол ios не работает должным образом
- 12. Как добавить кодек g729 в проект SipDroid?
- 13. VideoPlayer ios не работает должным образом
- 14. Disk Cache Не работает должным образом iOS
- 15. NStimer не работает должным образом в iOS
- 16. Сериализация/десериализация iOS не работает должным образом
- 17. Picker не работает должным образом на iOS
- 18. iOS, MKMapView не работает должным образом.
- 19. clock() не работает должным образом на iOS
- 20. PubNub iOS - presenceHeartbeatInterval не работает должным образом
- 21. Юникод не работает должным образом в iOS
- 22. «addDependency» не работает должным образом в iOS
- 23. isKindOfClass не работает должным образом IOS 7
- 24. Как установить кодек g729 на сервер asterisk
- 25. не работает должным образом
- 26. : не работает должным образом
- 27. не работает должным образом
- 28. не работает должным образом
- 29. addProximityAlert не работает должным образом
- 30. dojox.mobile.SearchBox не работает должным образом
В отличие от сайтов на форуме, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –
может ур ур код? – DareDevil