Сейчас доделываем Flash-based проигрыватель для видео, сжатого лучшим в мире кодеком для экранного видео. Для него как раз делался парсер из предыдущего поста. Декодер был переведен с С++ на haXe. Тот компилирует в байткод AVM2 - виртуальной машины, используемой в 9 и 10-м флэше. Дальше ВМ его на клиенте уже JIT'ит и выполняет. Причем байткод имеет стековую ОО семантику (а-ля JVM) с минимумом типизации (например, для сложения есть отдельные команды для интов, а для сравнения уже нет, только общие, рассчитанные на определение типа в рантайме). JIT'у приходится типы выводить. Сегодня немного посравнивал скорость и впечатлился: декодер на haXe & Flash player отличается по скорости от C++ & Intel compiler всего процентов на 20. А вы говорите флэш тормозит.
Демку проигрывателя можно пощупать тут:
http://data.infognition.com/sp_demo/
Перевести кодек оказалось довольно простой задачей, гораздо сложнее было организовать логику плеера с прыганием на произвольные позиции, декодированием про запас и обеспечением плавности отображения (для чего пришлось в одном месте делать что-то вроде копроцедур и кооперативной многозадачности, ибо настоящих потоков нет).
Флэшка с декодером, парсером и логикой плеера сейчас занимает меньше 20 КБ. Осталось прикрутить звук и сделать управление посимпатичней.
Демку проигрывателя можно пощупать тут:
http://data.infognition.com/sp_demo/
Перевести кодек оказалось довольно простой задачей, гораздо сложнее было организовать логику плеера с прыганием на произвольные позиции, декодированием про запас и обеспечением плавности отображения (для чего пришлось в одном месте делать что-то вроде копроцедур и кооперативной многозадачности, ибо настоящих потоков нет).
Флэшка с декодером, парсером и логикой плеера сейчас занимает меньше 20 КБ. Осталось прикрутить звук и сделать управление посимпатичней.
no subject
Date: 2011-02-17 12:43 am (UTC)no subject
Date: 2011-02-17 08:23 am (UTC)я сам сейчас такое наблюдаю для 2d scanline, пока все четко уверены что не параллелится :)
no subject
Date: 2011-02-17 12:10 pm (UTC)no subject
Date: 2011-02-17 09:14 pm (UTC)no subject
Date: 2011-02-18 04:58 am (UTC)Про микробенчмарк подумаю, как его лучше сформулировать.
no subject
Date: 2011-04-25 08:09 am (UTC)http://encode.ru/threads/1200-Vectorized-rangecoder тема всплыла в связи с тем что какойто росийский stlab хочет запатентовать нечто подобное как часть декодирования видео :)
no subject
Date: 2011-04-25 09:01 am (UTC)Про stlab видел недавно, там заявленный метод применим только для 4-битных алфавитов, вроде, что на степени сжатия плохо сказывается.