Почему моя сборка libmpg123 не поддерживает плавающую точку? Как мне это включить?

От good_enc функция в format.c файл в исходном коде libmpg123.
Он используется для проверки, поддерживается ли указанная кодировка в текущей сборке.

Следующее изображение взято из сеанса отладки, во время которого он проверяет, является ли (enc == 512, эквивалентно MPG123_ENC_FLOAT_32) 32-битное кодирование с плавающей запятой поддерживается.

введите описание изображения здесь

Как видно на рисунке, моя сборка по какой-то причине не поддерживает 32-битное кодирование с плавающей запятой.

Я запускаю это на Windows 7 x64 Home Premium с исходными кодами, загруженными и скомпилированными как есть.

Есть ли какие-то конфигурации, которые я пропустил? Из документации на сайте кажется, что

32-битное плавание будет обычным, начиная с mpg123-1.7.0

Я использую версию 1.14.4

1

Решение

Я не знаю, поддерживает ли ваша версия 1.14.4 числа с плавающей запятой — в прошлый раз, когда я знал, что она была поддержана последним svn trunk «only».

Так что, может быть, вытащить оттуда и скомпилировать снова.

Во всяком случае, в исходных кодах по умолчанию есть «дешевый хак», чтобы принудительно включить ваши плавающие точки.

 /* Simple hack to enable floating point output. */
if(argc >= 4 && !strcmp(argv[3], "f32")) mpg123_param(mh, MPG123_ADD_FLAGS, MPG123_FORCE_FLOAT, 0.);

Как видно здесь: http://www.mpg123.de/api/mpg123_в_wav_8c_source.shtml

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]