Перейти к содержанию
    

mp3, realaudio и wma декодер для ARM

Реанимирую тему. :)

Появилась задача проигрывать мп3 на LPC43xx. Правильно ли я понимаю что мне нужен программный декодер который задействует FPU (он есть в lpc43) и FPU сократит "трудозатраты" на декодирование? Посоветуйте готовую библиотеку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реанимирую тему. :)

Появилась задача проигрывать мп3 на LPC43xx. Правильно ли я понимаю что мне нужен программный декодер который задействует FPU (он есть в lpc43) и FPU сократит "трудозатраты" на декодирование? Посоветуйте готовую библиотеку?

Тоже хочу MP3 прикрутить к LPC но руки не доходят ). гуглите Helix и libmad.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

гуглите Helix и libmad

Гуглить то я загуглил, libmad использует целочисленную математику, а у helix вот тут есть 'fltpt' я так понимаю оно мне и надо, но скачать не смог. В сети нашел 'fixpt' - его и запускаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гуглить то я загуглил, libmad использует целочисленную математику, а у helix вот тут есть 'fltpt' я так понимаю оно мне и надо, но скачать не смог. В сети нашел 'fixpt' - его и запускаю.

helix и на целочисленной арифметике отлично справляется на ARM

https://datatype.helixcommunity.org/Mp3dec

Качать отсюда:

https://player.helixcommunity.org/2005/downloads/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я не могу скачать доконца скачивается только 4 мегабайта из ~16.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я не могу скачать доконца скачивается только 4 мегабайта из ~16.

Предлагаю KEIL-проект для сборки библиотеки Helix MP3 из моего проекта. Возможно нужно будет подправить пути в проекте, т.к. у меня сам KEIL и проект находятся на диске D:, а не C:, как у многих. Для этого можно открыть *.UVPROJ и *.UVOPT файлы как текстовые и тупо контекстно заменить D:\ на C:\ или на что еще...

 

Я внес одно изменение в mp3dec.c - вызов call back изнутри цикла декодирования. Можно закомментировать или реализовать пустой call back. Для справки: цель call back - прокрутка диспетчера в "многозадачной" кооперативной OS типа PROTOTHREADS и подобных.

 

Работа с декодером: после однократной инициализации MP3InitDecoder() входной поток MP3 "скармливается" функции MP3Decode(), которая, если не возникла ошибка, двигает указатель на буфер и модифицирует всякие счетчики снаружи (т.к. параметры функции есть ссылки). Остальное можно посмотреть в примерах в сети.

mp3.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не делал ли кто декодер под М4, с ихним FPU или DSP наверное можно поиметь какие-то выгоды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...