Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: JPEG для ARM_
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
etoja
Утомили балбесы вроде Nixona, рекомендующие поиск.
Не знаешь - молчи.

Для Anatoly_P выкладываю простой исходник декодера jpeg с описанием формата и полезными примечаниями.
Nixon
Э, за что ж меня так?
Anatoly_P
Цитата(etoja @ Jul 31 2008, 16:15) *
Утомили балбесы вроде Nixona, рекомендующие поиск.
Не знаешь - молчи.

Для Anatoly_P выкладываю простой исходник декодера jpeg с описанием формата и полезными примечаниями.


Огромное спасибо. А то я уже начал разбираться в коде для компов...
Т.к. действительно уже дофинга описаний из нета закатал. Т.е что-то удобоваримое фик найдешь..
Вообщем спасибо и большое..
Пойду домой со спокойной душой, а завтра разберемся yeah.gif
Anatoly_P
Здрасте!
Посмотрел сегодня файл с кодом...
М-да. Я уже такой начал ковырять раньше
Он вообщем-то не для АРМ т.к. там есть ассемблерные вставки вроде как не АРМ.
Этот файл я без переделок и проблем откомпилировал на Вижуал студии и все работает.
так что для АРМ буду переделывать, надеюсь не много придется
SergeiCh
В microwindows есть ссылка на этот ресурс. Не смотрели?
AndrewN
Цитата(Anatoly_P @ Aug 1 2008, 09:24) *
Он вообщем-то не для АРМ т.к. там есть ассемблерные вставки вроде как не АРМ.


Ассемблерные вставки аккуратно сделаны под ватком на х86. А где же #include "jpegdec.h"?
VAI
Цитата
Ассемблерные вставки аккуратно сделаны под ватком на х86. А где же #include "jpegdec.h"?

Этот пример найдёте на ресурсе, из поста SergeiCh-а.
Кстати, uC/GUI имееет функции работы с BMP и JPEG файлами...
Anatoly_P
Цитата(SergeiCh @ Aug 1 2008, 11:02) *
В microwindows есть ссылка на этот ресурс. Не смотрели?

Есть у меня и это, но там слишком дофига. так сказать на все случае жизни. Лучше вышеуказанный пример портировать на АРМ.
Чем сейчас и занимаюсь
Rst7
Цитата
Лучше вышеуказанный пример портировать на АРМ.


Рекомендую сразу IDCT на целочисленный заменить. Float - это не для мелких ARM'ов. Взять его можно в jpeg-6b, файл jidctfst.c, но еще надо глядеть на коэффициенты, там хитрость есть.
Anatoly_P
Главная проблема пока видится в том, чтобы с меньшими затратами определить, что делают асмовские вставки . Я в асме для 086 совсем не силен
VAI
uC/GUI написана на чистом С...
Alex B._
Цитата(VAI @ Aug 2 2008, 18:17) *
uC/GUI написана на чистом С...

неправда. Асмовые модули лежат в папке uC-CPU - посмотрите в любом порте
VAI
Цитата
неправда. Асмовые модули лежат в папке uC-CPU - посмотрите в любом порте

Я про GUI, а Вы про саму ось...
Вот здесь Itch давал ссылку на сборку uC/GUI, в которой есть JPEG, Memdev, Multilayer.
Проверил, качается.
И ни какого асма.
Alex B._
Цитата(VAI @ Aug 3 2008, 08:57) *
Я про GUI, а Вы про саму ось...

сорри, ступил, вы правы.
Anatoly_P
Похоже вариантов исходников JPG в сети только два: один от разработчиков формата, а второй от Cristi Cuturicu.
Первый вариант слишком большой т.к. на все случае жизни.
Ковыряние со вторым у меня зашло в тупичок т.к. линковщик пишет, что памяти не хватает crying.gif

Error: L6406W: No space in execution regions with .ANY selector matching Section .bss(jpegdec.o).
Error: L6407W: Sections of aggregate size 0xa13b4 bytes could not fit into .ANY selector(s).

Может кто знает, как это обойти, проц LPC2468
VAI
Цитата(Anatoly_P @ Aug 4 2008, 19:54) *
Похоже вариантов исходников JPG в сети только два: один от разработчиков формата, а второй от Cristi Cuturicu.

Вы совсем слепой? А чуть выше я ссылку на uC/GUI дал. И русскими буквами написано, там есть поддержка JPG, и написана на С.
Anatoly_P
Цитата(VAI @ Aug 5 2008, 06:10) *
Вы совсем слепой? А чуть выше я ссылку на uC/GUI дал. И русскими буквами написано, там есть поддержка JPG, и написана на С.

Вот не надо ругаться, скатал я исходники по Вашей ссылке. Так они точно такие(во всяком случае очень похожи с первого взгляда), как на сайте разработчиков JPG. Это и логично, зачем изобретать велосипед, если разработчики формата дают код. Только там все в куче и конвертация из формата в формат и кодирование и декодирование. А хотелось бы код только декодера...
etoja
Код у румынского программиста очень хороший: структурирован, прост и понятен.
Я портировал его тексты для LPC2138 и LPC2106.
Все вопросы можно решить, предварительно почитав описание JPEG.
Лучшим описанием JPEG является, к сожалению, американский армейский стандарт.
Anatoly_P
Цитата(etoja @ Aug 5 2008, 12:03) *
Код у румынского программиста очень хороший: структурирован, прост и понятен.
Я портировал его тексты для LPC2138 и LPC2106.
Все вопросы можно решить, предварительно почитав описание JPEG.
Лучшим описанием JPEG является, к сожалению, американский армейский стандарт.

А я вот к сожалению в портированию застрял на нехватке памяти... У меня только 512к внешней ОЗУ. Данные по алгоритму румынского товарища туда не помещаются. Не подскажете Вы как с этим обошлись?
Спасибо за стандарт, счас начну читать...
Rst7
Цитата
Данные по алгоритму румынского товарища туда не помещаются.


Простите, но там нужен входной буфер, выходной (размером с картинку), 64 элемента буфера DCT, таблички уровней квантизации (мелочь, по 64 байта) и табличка Хаффмана (это побольше, но в пределах нескольких килобайт). Как Вы ухитряетесь не помещаться, не понятно. Приведите map-файл, чтоли...
etoja
Про память:
1) Если вам нужна картинка целиком, то потребуется память на весь несжатый кадр.
2) Если картинку нужно отображать на экране, то обрабатывайте квадратики 8х8 в порядке их чтения из
jpeg файла и сразу отправляйте на отображение в видеоконтроллер.
3) Буфер для входного jpeg файла тоже не нужен, поскольку jpeg файл состоит из записей о квадратиках 8х8, которые вы последовательно читаете и обрабатываете.
Anatoly_P
Цитата(etoja @ Aug 6 2008, 10:34) *
Про память:
1) Если вам нужна картинка целиком, то потребуется память на весь несжатый кадр.
2) Если картинку нужно отображать на экране, то обрабатывайте квадратики 8х8 в порядке их чтения из
jpeg файла и сразу отправляйте на отображение в видеоконтроллер.
3) Буфер для входного jpeg файла тоже не нужен, поскольку jpeg файл состоит из записей о квадратиках 8х8, которые вы последовательно читаете и обрабатываете.

Спасибо за советик, в ходе разборок к этому и шел. Но не хотелось сильно в сам алгорит декодирования вникать, а там таблица Хофмана с каким-то полем V на 65 килобайт. А переменных для этой таблицы две по 4 т.е. все мои 512 к и сожрут..
Вообщем придется таки в алгоритм въезжать
etoja
Декодирование по Хафману можно поместить в несколько килобайт (код+данные).
Anatoly_P
Цитата(etoja @ Aug 6 2008, 17:23) *
Декодирование по Хафману можно поместить в несколько килобайт (код+данные).

Еслиб Вы ещё и ссылку подкинули, где этот алгоритм доходчиво описан, то совсем здоро былобы..
:-)
etoja
Алгоритм и исходники Стэнфордского университета.

Кстати, высокое качество образования Стэнфордского университета связано с переводом на английский язык лекций российского Имперского физико-технического института ещё в царское время. После революции этот институт, организованный 175 лет назад, был переименован в Бауманский.
Anatoly_P
Цитата(etoja @ Aug 8 2008, 12:11) *
Алгоритм и исходники Стэнфордского университета.
...


О!! Большое спасибо. Таких исходников больше ни у кого не было. Да ещё с описанием файлов. Совсем шикарно. smile.gif Только пока я добрался уже 25 человек скатало.... smile.gif
Спасибо.
Пока другим занимаюсь, но от JPEG мне не отделаться...
(Хотел я в свое время в Бауманский поступать, но учился, можно сказать, в соседнем)
Vitaliy_ARM
Цитата(etoja @ Aug 8 2008, 13:11) *
Алгоритм и исходники Стэнфордского университета.

Кстати, высокое качество образования Стэнфордского университета связано с переводом на английский язык лекций российского Имперского физико-технического института ещё в царское время. После революции этот институт, организованный 175 лет назад, был переименован в Бауманский.


Может бросите ссылку на исходники этого университета.

И еще один нескромный вопрос, кто нибудь с MJPEG работал? Уже неделю не могу нормальной доки найти. Судя по тому что нашел он очень просто делается из JPEG-ов, но как при это формируется файл видео?
_4afc_
Цитата(Vitaliy_ARM @ Aug 13 2008, 19:45) *
И еще один нескромный вопрос, кто нибудь с MJPEG работал? Уже неделю не могу нормальной доки найти. Судя по тому что нашел он очень просто делается из JPEG-ов, но как при это формируется файл видео?


bmrc.berkeley.edu MJPEG_chunkfile
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.