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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Сколько МИПСов надо АРМу, чтоб МР3 играть?
GetSmart
сообщение Jul 20 2006, 11:05
Сообщение #16


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(asen)
ну и что как получилось ? там ШИМ не медленный для этого хотябы при 16 битной глубене помоему меденный максимум 8 бит

Нормальный там ШИМ. При работе процессора на 44236800 Гц (11,0592 * 4) получится 10 бит. Точнее даже 11 бит. Короче для карманного плейера это качество выше крыши.

2 COMA

А что, для работы требуется 42 КБ данных?
Как это могло влезть в LPC2106 ?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
COMA
сообщение Jul 20 2006, 11:18
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Цитата
А что, для работы требуется 42 КБ данных?
Как это могло влезть в LPC2106 ?


LPC2106 64k RAM 128k FLASH, влезает.
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Jul 20 2006, 12:05
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



ГЫ! smile.gif

ТУТА
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 20 2006, 12:12
Сообщение #19


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата
high-quality, uncompressed, 16-bit digital audio

Ну и где тут "ГЫ" ?
Воспроизведение несжатого звука. Даром никому не надо.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
COMA
сообщение Jul 20 2006, 12:13
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Вещь ! smile.gif

Осталось приделать декодер MP3
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Jul 20 2006, 12:47
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(GetSmart @ Jul 20 2006, 15:12) *
Цитата
high-quality, uncompressed, 16-bit digital audio

Ну и где тут "ГЫ" ?
Воспроизведение несжатого звука. Даром никому не надо.


А может немного мозгами пошевелить?
Или вам ключи от квартиры - где деньги лежат?
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Jul 20 2006, 13:09
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(Make_Pic @ Jul 20 2006, 15:47) *
Цитата(GetSmart @ Jul 20 2006, 15:12) *

Цитата
high-quality, uncompressed, 16-bit digital audio

Ну и где тут "ГЫ" ?
Воспроизведение несжатого звука. Даром никому не надо.


А может немного мозгами пошевелить?
Или вам ключи от квартиры - где деньги лежат?


От туда-же:
"The author was able to implement the MP3 decoding software with limited success only – the data is taken from on-board flash (no RAM for extra input buffer)
As the measurements shows , the software is able to perform mp3 decoding in real time."

Используйте 2106 вместо 2138 и будет у вас успех (как у меня например smile.gif!
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 20 2006, 13:34
Сообщение #23


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Так, вопрос к тем, кто компилировал этот MAD.

С выводом все понятно:
Код
static
enum mad_flow output(void *data,
             struct mad_header const *header,
             struct mad_pcm *pcm)
...


Патчим эту функцию, там внутри все по семплам.

Вот со входным потоком непонятки

Если так (вызов декодера):

Код
char fbuffer[8192];
unsigned int fsize;


int main(void)
{
  fsize=4000000; //Сколько-то там
  decode((unsigned char const *)fbuffer, fsize);
  return 0;
}


Ну и еще мы тут файл открываем, но это опущено...

А далее патчим input:

Код
/*
* This is a private message structure. A generic pointer to this structure
* is passed to each of the callback functions. Put here any data you need
* to access from within the callbacks.
*/

struct buffer {
  unsigned char const *start;
  unsigned long length;
};

/*
* This is the input callback. The purpose of this callback is to (re)fill
* the stream buffer which is to be decoded. In this example, an entire file
* has been mapped into memory, so we just call mad_stream_buffer() with the
* address and length of the mapping. When this callback is called a second
* time, we are finished decoding.
*/

static
enum mad_flow input(void *data,
            struct mad_stream *stream)
{
  struct buffer *buffer = data;

  if (!buffer->length)
    return MAD_FLOW_STOP;

  fread(infile,fbuffer,sizeof(fbuffer));


  if (buffer->length>=sizeof(fbuffer))
  {
    mad_stream_buffer(stream, buffer->start, sizeof(fbuffer));
    buffer->length-=sizeof(fbuffer);
  }
  else
  {
    mad_stream_buffer(stream, buffer->start, buffer->length);
    buffer->length=0;
  }
  return MAD_FLOW_CONTINUE;
}


А тут мы по кусочкам вычитываем из файла и вызываем mad_stream_buffer с вычитанным кусочком... Так стрельнет? В оригинале там маппинг ВСЕГО файла на память, как-то слабо без MMU wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
COMA
сообщение Jul 20 2006, 17:12
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



За всех не отвечу. smile.gif
Когда тестил MAD на скорость, сделал следующее - разместил кусочек MP3 файла в свободной flash. Что-то около 60k. Разместил как обычный массив - unsigned char const mp3_data[] = {0xAA, ..., 0xAA}.
Вызов функции был следующим - decode(mp3_data, state);
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jul 25 2006, 04:12
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Make_Pic @ Jul 20 2006, 15:47) *
А может немного мозгами пошевелить?
Или вам ключи от квартиры - где деньги лежат?

Для интересующихся. Вот проект продвинутого MP3 плеера с исходниками. ( Для КПК)
http://hp.vector.co.jp/authors/VA032810/

А на сайте tcmp.org проект видео проигрывателяsmile.gif
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Jul 25 2006, 09:24
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(Kopa @ Jul 25 2006, 08:12) *
Цитата(Make_Pic @ Jul 20 2006, 15:47) *

А может немного мозгами пошевелить?
Или вам ключи от квартиры - где деньги лежат?

Для интересующихся. Вот проект продвинутого MP3 плеера с исходниками. ( Для КПК)
http://hp.vector.co.jp/authors/VA032810/

А на сайте tcmp.org проект видео проигрывателяsmile.gif

Вариация все того же MADа - на жирный проц под 120MIPS и более переносится, а на LPC21XX только с кастрацией!!!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:21
Рейтинг@Mail.ru


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