The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Прогресс в оптимизации производительности кодека Theora на платформе OMAP3

20.04.2010 18:12

Один из разработчиков Mozilla сообщил об успехе в оптимизации декодирования вдеопотоков Theora на платформе OMAP 3, используемой на таких устройствах, как Motorola Droid, Nokia N900 и Palm Pre. Задействование DSP-процессора C64x+ платформы OMAP 3 для декодирования видеокадров и GPU с поддержкой OpenGL для операций по отрисовке и преобразованию цветов (Y’CbCr в RGB) позволило добиться полноэкранного отображения видео с разрешением 800x480 пикселов и частотой 33 кадра в секунду, при загрузке центрального процессора всего на 20%. При этом разработчики утверждают, что 10-15% нагрузки на CPU тратятся на обработку звука, так как этапы декодирования и вывода звука через PulseAudio остаются неоптимизированными.

Для сравнения, при использовании классического неоптимизированного декодера libtheora процесс занимал почти все ресурсы CPU, что приводило к быстрому разряду аккумулятора. Использование оптимизированного для процессоров ARM программного декодера TheorARM позволило добиться отображения 47 кадров в секунду, но с еще большей нагрузкой на центральный процессор.

В рамках проекта разработчиками Mozilla был подготовлен специальный вариант Theora-декодера, получивший название Leonora. В будущем наработки планируется использовать для ускорения проигрывания видео в мобильной версии web-браузера Firefox.

  1. Главная ссылка к новости (http://hacks.mozilla.org/2010/...)
  2. OpenNews: Google собирается перевести видеокодек VP8 в разряд открытых
  3. OpenNews: Компания Google помогает оптимизации кодека Theora для платформы ARM
  4. OpenNews: Сравнение видеокодеков Ogg Theora и H.264
  5. OpenNews: Инициатива по привлечению Wikipedia для продвижения свободного видео в сети
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/26306-theora
Ключевые слова: theora, arm, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, xxx (??), 19:13, 20/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >При этом разработчики утверждают, что 10-15% нагрузки на CPU тратятся на обработку звука, так как этапы декодирования и вывода звука через PulseAudio остаются неоптимизированными.

    Видимо они просто пипец как неоптимизированы. 10-15% для звука это ужас.

     
     
  • 2.2, минона (?), 19:22, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    я вообще не понимаю зачем пульс в таких девайсах.
     
     
  • 3.3, anonymous (??), 20:48, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Cлышим звон но не знаем где он. Причём тут PulseAudio, если CPU жрет декодер звука ?
     
     
  • 4.7, минона (?), 21:29, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    цитата из новости:
    >и вывода звука через PulseAudio остаются неоптимизированными.

    так что остынь прниша. видать не слышал как HDA квакают с пульсом и отлично работают с альзой.
    пошарь как-нибудь на досуге в гугле "как убрать пульс из очередной убунты/федоры/этк"
    и про  100-400ms vs 10-15ms latency поинтересуйся.
    ну а потом приходи, кидай пальцы.

     
     
  • 5.8, Аноним (-), 21:42, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Latency и speed это разные вещи, если на то пошло. Не показатель, только косвенный.

    А PA там (на том же N900) по одной простой причине - нужно звук от кучи приложений микшировать по-всякому. Да, сейчас мне расскажут про dmix, да. Беда в том, что даже если dmix и можно подо все это заточить (per-application volume control, этот звук на эти устройства, этот на другие и прочее) то количество телодвижений для всего этого цирка не порадует.

     
     
  • 6.10, минона (?), 22:07, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    разные конечно. но зависымые. (сразу видно, что уже не с таким оголтелым анонимом общаюсь)
    но, эти девайсы и так ограничены в ресурсах - с одной стороны.
    и эти ресурсы в общем постоянны (разнообразия различных конфигураций нет) - с другой.
    следовательно, не так уж и трудно заточить это однажды и не парится.

    зы:
    пульс - мощная система. не доделанная местами, но мощная.
    и нафига она на н900 - мне не понятно.

     
     
  • 7.25, vasily_pupkin (?), 16:53, 25/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что DSP, потому что вывод в него все равно через юзерспейс. Все равно нужен плагин к алса. Видели как в n810? Там все принудительно через esd шпарит. Казалось бы :]
     
  • 5.12, Аноним (-), 02:31, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >и вывода звука через PulseAudio остаются неоптимизированными.

    Ну естественно каждый делает вывод такой какой ему удобней. Если дословно понимать написанное и не пытаться ничего интерпретировать, то получается, что другие способы вывода звука реализованы в декодере более эффективно. Что конечно звучит как-то бредово. А что именно авторы хотели сказать надо спрашивать у них.

     

  • 1.4, emg81 (?), 20:54, 20/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    и чего они в этой Theora нашли. я пытался ей кодировать со всевозможными опциями - слаб кодек. Как по качеству изображения (что самое важное), так и по скорости работы
     
     
  • 2.14, User294 (ok), 02:59, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    По качеству - где-то на уровне MP4 (обычного, не H.264). А по части скорости - ну так о том и ньюс что если озадачиться оптимизацией - по скорости станет весьма недурно. Кодеки - такая область где оптимизация может изменить скорость в разы. Так что заявы "так и по скорости работы" хорошо бы выдавать когда есть уверенность что кодек уже заоптимизили вдоль и поперек.
     
     
  • 3.15, emg81 (?), 04:18, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    я сравнивал на одном тестовом фрагменте Theora и дедушку XviD. Theora кодирует даже на высоких битрейтах с немалым количеством ниоткуда взявшихся артефактов. XviD с тем же битрейтом выдаёт более насыщенную деталями картинку, без таких артефактов, ну и во много раз быстрее.
    Я понимаю, что пока Theora развивается потихонечку и так далее, НО, посетив сайт, увидел, что проекту уже много-много лет, а он всё ещё далёк от приемлемого для повсеместного применения качества (про скорость вообще молчу). Конечно, может дело в том, что я использовал не тот софт и кодек не раскрыл весь свой потенциал, и так далее...
    Кстати, а как его в mencoder заставить кодировать? я и пересобирал с принудительным включением libtheora, и что только не делал... да и в инете куча вопросов, но ответов нету :(
     
     
  • 4.17, VoDA (ok), 09:18, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Google вроде хотел VP8 открыть, а Theora на базе VP2 или VP3 строится.
     
  • 4.21, Azelus (?), 12:35, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А теоре вы указывали битрейд или качество? Если через битрейд, то картинка изобилует кучей артефактов и блевотной картинкой. Если указывать качество (-q) то пропадают артефакты, да и само качество изображение становится получше.
     
     
  • 5.22, аноним (?), 12:40, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А теоре вы указывали битрейд или качество? Если через битрейд, то картинка
    >изобилует кучей артефактов и блевотной картинкой. Если указывать качество (-q) то
    >пропадают артефакты, да и само качество изображение становится получше.

    Вы только что растоптали идею применения theora для live-вещания.

     
     
  • 6.23, Azelus (?), 12:47, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Как же ,интересно, я ее растоптал?
     
  • 5.24, emg81 (?), 00:02, 22/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    указывал и качество, и битрейТ (bitrate с англ, буковки Д там нет).
    а в менкодере его кто-нибудь пользовал? если да, то скажите пожалуйста, КАК заставить работать?
     
  • 3.19, аноним (?), 09:52, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >По качеству - где-то на уровне MP4 (обычного, не H.264)

    предлагаю так: берем одинаковый семпл и ты его кодируешь теорой, а я хвидом (даже не h.264) в тот же размер. и сравниваем

     

  • 1.6, Iv946n (?), 21:22, 20/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > озволило добиться отображения 47 кадров в секунду

    Зачем кому-то нужно больше чем 25 кадров отображать?

     
     
  • 2.20, Feadot (ok), 10:34, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Зачем кому-то нужно больше чем 25 кадров отображать?

    Затем что человек может воспринимать более 25 :) Хотя некоторым индивидам нужно показывать только один черный кадр. А кому не нужно, могут смотреть в 16 кадров, как все смотрели в довоенное время...

     
  • 2.26, anonymous (??), 10:57, 26/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы снизить загрузку процессора.
    --
    Ваш К. О.
     

  • 1.9, Аноним (9), 21:49, 20/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какой вообще смысл в DSP, если ЦП позволяет воспроизводить видео? Он батарейку ест меньше?
     
     
  • 2.11, Anonymous_65536 (?), 23:19, 20/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Гораздо меньше, и разгружая проц, ты отдаляешся от тормозов в UI.
     
  • 2.13, User294 (ok), 02:56, 21/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Во первых, он - есть. И он не занят выполнением ОС и ее задач, стало быть логично его поюзать. Во вторых, может быть и несколько меньше - для DSP такие вычисления вполне удобны.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру