Jump to content
    

Привет

 

кто-нибудь реализовывал задачу сжатия в h.264 на Арме в SoC'e?

 

интересно какой производительности можно достичь?

Share this post


Link to post
Share on other sites

Программно что ли? Ну, есть x264, можно собрать версию с оптимизациями NEON и прочими арм-штучками, но это не так хорошо как аппаратно...

Производительность будет низкая, буду рад если 720x576 сожмет софтово в реалтайме хотя бы один канал.

Share this post


Link to post
Share on other sites

Производительность будет низкая, буду рад если 720x576 сожмет софтово в реалтайме хотя бы один канал.

x264 имеет богатые настройки. На самых простых пресетах может и сожмет.

Но качество будет просто вырвиглаз.

Надо поиграться на обычной машине (i7 к примеру). При сжатии кодек выводит скорость сжатия (кадров/сек).

В свое время тоже прицеливался на SoC. Была даже мысль вынести на FPGA какие-то алгоритмы для ускорения x264.

Но задача была оценена на грани выполнимого. Скорее за гранью. В итоге купили кодек.

 

UPD: Поясню, что имел в виду под «поиграться на обычной машине».

Скорее всего окажется так, что при нахождении таких параметров сжатия (на достаточно мощной многоядерной машине с включенной оптимизацией), что сжатие будет осуществляться 25-30 кадров/c, качество при этом будет неприемлемым. Совершенно ясно, что арм с тем же качеством будет жать намного медленнее. В моем случае сразу был поставлен крест на этой идее, т.к. качество совсем не понравилось, мягко говоря.

Edited by x736C

Share this post


Link to post
Share on other sites

Игрались c Nano-SOC и Tegra TK1

 

640х480

 

Nano-SOC порядка 20 кадров в секунду

Tegra TK1 около 140 кадров в секунду

Share this post


Link to post
Share on other sites

Ну там же настроек немерено. И качество может быть очень разным. Надо говорить не только о разрешении.

Если бы получилось их найти где-нибудь в батнике и привести, очень Вам был бы благодарен. Для Nano-SoC очень интересно.

Share this post


Link to post
Share on other sites

Сразу хочется спросить "зачем". Хватает недорогих микросхем и соков, которые могут с этим справиться.

 

Если же хочется fpga, но нет денег на готовое ip-ядро, то я бы пошел по пути opencl и оффлоада тяжелых операций на плис (арм - хост, кернелы - в плис)

 

Share this post


Link to post
Share on other sites

Сразу хочется спросить "зачем". Хватает недорогих микросхем и соков, которые могут с этим справиться.

Готовые кодеки в интегральном исполнении не всегда походят по тем или иным причинам.

Качество сжатия для низких битрейтов, смена параметров «на лету» без перезагрузки кодека.

Хотя за последние пару лет появилось еще несколько кодеков, о них не знаю.

Существуют и другие соображения контекста применения.

 

А насчет «оффлоада тяжелых операций на плис» -- имхо не так просто, как может показаться.

Share this post


Link to post
Share on other sites

Готовые кодеки в интегральном исполнении не всегда походят по тем или иным причинам

Не подскажете какие-нибудь варианты микросхем с аппаратным кодеком H264? И автору темы пригодится.

Как раз ближайшее время предстоит задействовать, но давно не интересовался вопросом.

Share this post


Link to post
Share on other sites

Сейчас практически в каждый процессор встроен кодек или набор аппаратных ускорителей для сжатия, так скажем.

Любой более-менее мощный ARM-SoC типа малинки. Даже в отечественном 1892ВМ14Я уже встроен кодек.

Поэтому Вам лучше искать в Сети что-то свежее.

Когда я занимался вопросом, было несколько вариантов:

Самый ходовой FreeScale iMX6 и что было у меня под рукой. Проблемы с ним обозначил выше.

Еще были интегральные кодеки:

MG1264

MG3500/MG2580

Специализированные SoC

FTMCP210

N3292x

FIE8130/FIE8180

GM8125/GM8126/GM8128.

Этот зоопарк отбросил сразу по тем или иным причинам.

 

Существует аппаратно-софтовое решение на сигнальниках Ti.

 

И очень много IP ядер из которых я бы выделил AlmaTech, которое перепродавало CAST под своим брендом.

Мы его купили, вся система получилась в одном Cyclone V 150.

 

Надо исходить от задачи, какое нужно качество с битрейтом. Какая задержка.

Писать на флешку или передавать по эфиру на большое расстояние -- две разные задачи.

Share this post


Link to post
Share on other sites

Ну там же настроек немерено. И качество может быть очень разным. Надо говорить не только о разрешении.

Если бы получилось их найти где-нибудь в батнике и привести, очень Вам был бы благодарен. Для Nano-SoC очень интересно.

 

Nano-SOC с x264 c включенным Neon

 

По поводу настроек - лучше посмотрите доку на х264. Насколько я помню там были наборы параметров готовые - fastest, slowest и т.п.

 

 

Share this post


Link to post
Share on other sites

Это да. Настроек очень много. Они для удобства объединены в пресеты. Интересно, на каком пресете Nano-SoC тянет 640x480.

Share this post


Link to post
Share on other sites

Оу, всем спасибо за ответы.

Правда все равно не решил как делать ))))

Использовать старые кодеки типа MG1264 не хочется - могут снять с производства.

Использовать SoC'и с армами и аппаратными кодеками не хочется, потому что в системе уже есть CPU, не хочется усложнять разработку ПО под 2 разные платформы.

По поводу IP-ядра идея хорошая, но чуствую его цена поставит крест на разработке....

Не могли бы вы приблизительно озвучить цену IP-ядра?

 

 

Еще интересно было б действительно на OpenCL запустить. Но нужен код opencl'вский.. Буду искать

 

Share this post


Link to post
Share on other sites

Еще интересно было б действительно на OpenCL запустить. Но нужен код opencl'вский.. Буду искать

И где же он готовый оптимизированный будет просто бесплатно лежать?

Share this post


Link to post
Share on other sites

оптимизированный нигде наверное, хотя бы просто под GPU найти например. шансов больше.

Share this post


Link to post
Share on other sites

оптимизированный нигде наверное, хотя бы просто под GPU найти например. шансов больше.

x264 имеет оптимизацию под GPU.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...