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

 
 
 
Reply to this topicStart new topic
> ДЕКОДЕР ДЛЯ ADPCM?, кто нибуть занимался ли этим вопрсом
maxcy
сообщение Jun 9 2008, 08:50
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 100
Регистрация: 9-04-07
Из: киев
Пользователь №: 26 895



Смысл такой, имеется сжатый сигнал в ADPCM(4 бита).
Вот тут http://wiki.multimedia.cx/index.php?title=Microsoft_ADPCM какай никакой алгоритм, но не понятно как выбераются индексы для адиптивных коэфициентов AdaptCoeff1 [] и AdaptCoeff2 [].
Подскажите, мож кто знает???
Go to the top of the page
 
+Quote Post
scum
сообщение Jun 11 2008, 04:23
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 14-04-06
Пользователь №: 16 128



Индексы лежат первыми байтами в преамбуле, чиселки, которые называются block predictor.
Go to the top of the page
 
+Quote Post
maxcy
сообщение Jun 11 2008, 07:43
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 100
Регистрация: 9-04-07
Из: киев
Пользователь №: 26 895



Цитата(scum @ Jun 11 2008, 07:23) *
Индексы лежат первыми байтами в преамбуле, чиселки, которые называются block predictor.

дело в том что предиктор то вычесляется по формулам и он никак не может иметь значение от 0 до 6.

вобщем переделал алгоритм по http://trac.annodex.net/browser/annodex-co...adpcm.c?rev=624 принципу. вродь чёт, декодирует, но 16 розрядов не получается.
Не могу понять правельно это или нет. Второй байт вообще в нулях, а первый имеет ограниченое число возможных комбинаций. Звук вообще слышно, но каким он должен быть не знаю. Может кто подскажет?
Go to the top of the page
 
+Quote Post
scum
сообщение Jun 11 2008, 10:05
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 14-04-06
Пользователь №: 16 128



Позволю себе процитировать вышеприведенный документ:
...
byte 0 block predictor (should be in the range [0..6])
...
The block predictor value is used as an index into two adaptation coefficient tables in order to initialize two coefficients, coeff1 and coeff2.

Т.е. берется первый байт преамбулы (который должен быть от 0 до 6), и используется для вычитывания соответствующей чиселки из массивов AdaptCoeff.
Go to the top of the page
 
+Quote Post
scum
сообщение Jun 11 2008, 10:09
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 14-04-06
Пользователь №: 16 128



Позволю себе процитировать вышеприведенный документ:
...
byte 0 block predictor (should be in the range [0..6])
...
The block predictor value is used as an index into two adaptation coefficient tables in order to initialize two coefficients, coeff1 and coeff2.

Т.е. берется первый байт преамбулы (который должен быть от 0 до 6), и используется для вычитывания соответствующей чиселки из массивов AdaptCoeff.
Go to the top of the page
 
+Quote Post

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

 


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


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