sasamy 0 18 июля, 2022 Опубликовано 18 июля, 2022 · Жалоба On 7/18/2022 at 2:05 PM, mantech said: в 90% машин такое если и будут ставить, то лет через 10 i.mx6 для автомобильных применений появились уже лет 10 назад Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 9 18 июля, 2022 Опубликовано 18 июля, 2022 · Жалоба On 7/18/2022 at 1:47 PM, repstosw said: По ходу облом с декодированием h264. Просмотрел Tina SDK для T113-s3, там есть libcedarx и libcedarc - оба закрытые в блобах. Тут смотрели? On 7/18/2022 at 1:47 PM, repstosw said: Так просто заставить декодер олвиннера работать, скормив ему поток - НЕ выйдет. Необходимо парсерами проходиться по фреймам и формировать "подпорки" - все необходимые вспомогательные данные для декодера и растащить их по регистрам. Задача не из лёгких. Согласен. С mpeg1 и mpeg2 долго бодался, писал свой парсер. Пока закончил на том, что нормально воспроизводятся файлы без b-фреймов (в ffmpeg это режим кодирования по умолчанию) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 18 июля, 2022 Опубликовано 18 июля, 2022 (изменено) · Жалоба On 7/19/2022 at 12:16 AM, Ozelot said: Тут смотрели? За сегодня аналогичных репозиториев много видел! ))) Проблема в том, что не хватает информации как заполнять контекст и в какой последовательности вызывать. On 7/19/2022 at 12:16 AM, Ozelot said: Согласен. С mpeg1 и mpeg2 долго бодался, писал свой парсер. Пока закончил на том, что нормально воспроизводятся файлы без b-фреймов (в ffmpeg это режим кодирования по умолчанию) Про B-фреймы можно забыть. Потому что из аппаратных корок мало их кто вообще воспроизводить может. Только I и P. И чтобы не бодаться с парсерами, демуксами всякими, надо в ffmpeg конвертить прямо в сырой поток: файл с расширением - m2v. http://dvdnav.mplayerhq.hu/dvdinfo/mpeghdrs.html У меня MPEG2-декодер стал подавать признаки жизни. Пока безупречно показывает самый первый кадр, затем всё сыпется по причине того, что парсер фреймов пока неправильно сделал. Особо порадовало, что в режиме MPEG2 тоже можно тайлы распрямить декодером (детайлизатор не нужен): MACC_VE_OUTPUT_FORMAT&=~7; MACC_VE_OUTPUT_FORMAT|=4; //NV12 MACC_VE_EXTRA_OUT_FMT_OFFSET&=~(3UL<<30); MACC_VE_EXTRA_OUT_FMT_OFFSET|=(1UL<<30); //use special format from MACC_VE_OUTPUT_FORMAT Изменено 18 июля, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 9 18 июля, 2022 Опубликовано 18 июля, 2022 · Жалоба On 7/18/2022 at 6:03 PM, repstosw said: Про B-фреймы можно забыть. Потому что из аппаратных корок мало их кто вообще воспроизводить может. Только I и P. Allwinner-овский декодер замечательно поддерживает В-фреймы. Но там важно правильно построить цепочку воспроизводимых фреймов, т.к. Р-фреймы в потоке приходят раньше. On 7/18/2022 at 6:03 PM, repstosw said: Особо порадовало, что в режиме MPEG2 тоже можно тайлы распрямить декодером (детайлизатор не нужен) В F1C к сожалению эта фишка не работает (пробовал на jpeg-декодере, надо будет проверить и в mpeg, но сомневаюсь, что будет толк) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 19 июля, 2022 Опубликовано 19 июля, 2022 (изменено) · Жалоба On 7/19/2022 at 1:03 AM, repstosw said: Пока безупречно показывает самый первый кадр, затем всё сыпется по причине того, что парсер фреймов пока неправильно сделал. Особо порадовало, что в режиме MPEG2 тоже можно тайлы распрямить декодером (детайлизатор не нужен): On 7/19/2022 at 1:48 AM, Ozelot said: В F1C к сожалению эта фишка не работает (пробовал на jpeg-декодере, надо будет проверить и в mpeg, но сомневаюсь, что будет толк) Удалось добиться воспроизведения MPEG2 без артефактов. Причина - злую шутку сыграло распрямление тайлов декодером: так как выходной буфер может использоваться декодером как входной (для предсказания), то декодер начинает неправильно работать, если ему на вход подают распрямлённый фрейм. Пришлось использовать детайлизатор на ассемблере ( tiled_yuv.S ) перед отрисовкой на дисплей: tiled_to_planar(frame->luma_buffer ,Screen_YBUF,720,720,576 ); tiled_to_planar(frame->chroma_buffer,Screen_CBUF,720,720,576/2); По идее нужно в DE включить аппаратный детайлизатор. Но есть ли он в T113-s3 ? Что касается парсера сырого потока MPEG2, так он вообще вышел детским: от начала фрейма ищем последовательность байт 0,0,1 пока не попадётся последовательность 0,0,1,1 затем ищем до последовательности 0,0,1, "последний слайс" (посл. слайс = высота/16). Вычисляем точку конца, вычисляем размер фрейма, сдвигаем указатель старта в положение нового будущего фрейма. Не понимаю, нафига автор сорцов тащит за собой громоздкого монстра FFMPEG, ради того чтобы пропарсить элементарный поток ? https://github.com/jemk/cedrus/tree/master/mpeg-test Делаю сырой поток через ffmpeg вот так: ffmpeg -ss 00:16:24 -t 00:00:03 -i input.mkv -an -f mpeg2video -vcodec mpeg2video -vf "scale=720:576:flags=lanczos:force_original_aspect_ratio=decrease,pad=720:576:(ow-iw)/2:(oh-ih)/2,setsar=1" -r 30 -pix_fmt yuv420p -qmin 3 -qmax 3 -y output.m2v Изменено 19 июля, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 9 19 июля, 2022 Опубликовано 19 июля, 2022 · Жалоба On 7/19/2022 at 8:02 AM, repstosw said: Удалось добиться воспроизведения MPEG2 без артефактов. Поздравляю. Теперь ждем со звуком :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 19 июля, 2022 Опубликовано 19 июля, 2022 · Жалоба On 7/19/2022 at 5:30 PM, Ozelot said: Поздравляю. Теперь ждем со звуком :) Про звук давно в курсе, что его надо с видео синхронизировать. Храню звук и видео в отдельных файлах, при воспроизведении синхронизирую их. Ибо не хочу с контейнерами заморачиваться. Делал так ещё со времён создания своего nanoPlayer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 9 19 июля, 2022 Опубликовано 19 июля, 2022 · Жалоба On 7/19/2022 at 12:33 PM, repstosw said: Делал так ещё со времён создания своего nanoPlayer Помню. Это я так подколол :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 19 июля, 2022 Опубликовано 19 июля, 2022 · Жалоба Сделал со звуком: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 21 июля, 2022 Опубликовано 21 июля, 2022 (изменено) · Жалоба On 7/18/2022 at 3:20 AM, Ozelot said: Наверно стОит проверить это на V3S... Проверил кодер H264 На V3s. Всё также глухо как и с JPEG кодированием/декодированием: нулевая реакция на команду запкска + регистр длины выходного буфера нулевой. --- Запустил эзернет на физическом уровне (V3s): передаёт и принимает пакеты по прерываниям. Задал фильтрацию по MAC, а то с ПК летит всякий трэш в ответ. Снифер пакетов - Wireshark Генератор пакетов - Colasoft Packet Builder Изменено 21 июля, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ozelot 9 21 июля, 2022 Опубликовано 21 июля, 2022 · Жалоба On 7/21/2022 at 1:09 PM, repstosw said: Проверил кодер H264 На V3s. Всё также глухо как и с JPEG кодированием/декодированием: нулевая реакция на команду запкска + регистр длины выходного буфера нулевой. Жаль. Были планы на него... On 7/21/2022 at 1:09 PM, repstosw said: Запустил эзернет на физическом уровне (V3s) Подвязывайте к LwIP и ваш sdk станет в разы востребованнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 июля, 2022 Опубликовано 21 июля, 2022 (изменено) · Жалоба В 21.07.2022 в 14:41, Ozelot сказал: LwIP и ваш sdk станет в разы востребованнее. И еще нормальный УСБ стек - так вообще шикарно)))))) Никаких линуксов не надо... Изменено 21 июля, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 21 июля, 2022 Опубликовано 21 июля, 2022 · Жалоба On 7/21/2022 at 3:57 PM, mantech said: Никаких линуксов не надо... Еще 65536 вёдер, ага. А под линуксом внезапно все работает прямо здесь и сейчас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 июля, 2022 Опубликовано 21 июля, 2022 (изменено) · Жалоба В 21.07.2022 в 16:09, aaarrr сказал: А под линуксом внезапно все работает прямо здесь и сейчас. Да лишь бы в радость, только вот программирование без него в разы понятнее, проще и легче в понимании. Разумеется, если это не питономаньяки мигают лампочками, и отправляют пакетики в сетевой порт))) Можно без проблем пользоваться подходящей ИДЕ и не быть красноглазиком, которому командные строки по ночам снятся))). Ну и вишенка - свою прогу я могу вместе с потрохами и полноэкранной графикой уместить в камень с 64Мб ОЗУ, а ПЗУ подойдет мелкая SPI флешка на 4Мб в SO-8, а не монстроидальная EMMC, которую хрен разведешь на плате и запаяешь с ее 0.5мм шарами... Изменено 21 июля, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 21 июля, 2022 Опубликовано 21 июля, 2022 · Жалоба On 7/21/2022 at 4:37 PM, mantech said: программирование без него в разы понятнее, проще и легче в понимании Школьнику вполне доступно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться