реклама на сайте
подробности

 
 
> Аудиокодек OGGVorbis на CM3, пробовал ли кто?
uk8amk
сообщение Dec 12 2014, 17:38
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 5-03-09
Пользователь №: 45 694



Кодек Vorbis, страница разработчика:
http://xiph.org/vorbis/
Декодер Tremor с уменьшенными требованиями к ресурсам проца(целочисленные алгоритмы):
http://svn.xiph.org/branches/lowmem-branch/Tremor/
По возможностям что-то вроде MP3.

1)Интересует, справится ли CortexM3, какой-нибудь типичный STM32 на 20-70МГц?
Везде только общие слова, без хотя бы примерного футпринта по килобайтам ОЗУ,флеш и без MIPS-ов.
Хочу попробовать играть моно звук с качеством 30-60кбит. Пробовал Speex, но он хорош только для речи, звуки и подобие музыки - ужас.

2)И если кто-то вдруг пробовал, то наберусь наглости спросить пример(кусок) embed проекта.
Сам пытался натянуть Vorbis Tremor, но в файле codebook.c слишком много ошибок в Keil MDK сыплется. А вникнуть во все ребусы - знаний пока маловато.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Dec 13 2014, 04:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(uk8amk @ Dec 12 2014, 20:38) *
Интересует, справится ли CortexM3, какой-нибудь типичный STM32 на 20-70МГц?


Не справится однозначно. Помнится, в своё время мой отец вынужден был перейти с 80486-100 на Пентиум-3 как раз из-за того, что на его ПК не хотели воспроизводиться MP3-файлы -- не хватало производительности. Понятно, что на ПК прилично времени под себя жрёт система и т.д. и т.п., однако и производительность 80486 при одинаковой тактовой частоте будет существенно выше, чем большинства ARMов (кроме разве что Cortex-A, и то вопрос дискуссионный). Дело тут в том, что на выполнение одного и того же действия для ARMа нужно больше команд, чем для IA-32 (например, вполне типичная операция -- инкремент или декремент переменной -- требует одной команды на IA-32 и трёх на ARM, причём в последнем случае ещё и свободный регистр для самой операции нужен, плюс нужно загрузить базовый адрес переменной в другой регистр, что может потребовать увеличения числа команд). В общем, думается, Cortex-M по своей производительности будет примерно соответствовать 80386 с близкой частотой.

Что касается целочисленной и вещественной арифметики, то в тех процессорах, где последняя поддерживается аппаратно, разницы в скорости их выполнения, по сути, нет. Более того, вещественное деление может выполняться быстрей целочисленного -- за счёт меньшей разрядности делимого и делителя. Вот в древних машинах, имеющих поддержку плавающей запятой, скорость выполнения этих операций могла быть существенно меньше, чем скорость выполнения целочисленных -- но там всё упиралось в количество транзисторов, не позволяющее сделать отдельное вещественное АЛУ и прочую поддерживающую его логику.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016