Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Конвертор RLE-bitmap в BMP

Обсуждение программного обеспечения для радиолюбителей. Немного самопального софта.

Конвертор RLE-bitmap в BMP

Сообщение hardlock » 06 апр 2016 21:51

Приветствую читателей и писателеф моего форума. Вот и мне пришла пора обратиться к Вам за помощью.

Предыстория.
Ковыряю я тут потихоньку дампы камер заднего вида на предмет замены в них картинок и уже кой чего достиг. На данном этапе имею вот такой "альфа-софт":

Пока он умеет разбирать дамп на составные части, экспортировать каждую запись в отдельности, импортировать то, что экспортировал, удалять, вставлять и т.д. Умеет из записи выделить bitmap в формате RLE (о нём чуть ниже) отделив заголовок. Потом этот RLE файл конвертируется фирменной утилитой makeover.exe из состава родного SDK на камеру и на выходе получаем обычную картинку в BMP формате. А ещё мой софт уже умеет запихивать RLE-битмапы в дамп и собирать это всё в готовый к прошивке бинарник...

История.
К сожалению, родная утилита не хочет распознавать некоторые RLE битмапы и соответственно получить из них картинку я не могу. Но в камере то они отображаются, значит не корявые! Поэтому есть идея написать свой конвертор. Для этого у меня есть описание RLE формата - в аппноуте AND9333.PDF страница 35. Заголовок, который из Таблицы 45 в файл не входит. Всё содержимое файла описано в Таблице 46. Также выкладываю родную утилиту с примерами конвертируемых и НЕконвертируемых файлов. (во вложениях) В архиве есть файлик do_it.cmd. Если его запустить, то все не все RLE-шки конвертнуться в BMP-шки, а потом назад. Новые RLE файлы будут с постфиксом _new. Как видно исходные и конечные RLE файлы тоже не равны и это минус ФИРМЕННОЙ утилиты... или кривизны формата BMP - не знаю, но для меня главное получить BMP из RLE, с остальным утилита справляется настолько, насколько это нужно для внедрения своей картинки в дамп.

Просьба
Изображение
Если у кого-нибудь есть опыт работы с подобными форматами и он может уделить немного времени на решение этой задачи, прошу написать конвертор. Желательно с исходным кодом, т.к. потом планирую встроить в свой софт (копирайт естестенно сохраню Ваш) и для понимания процесса.
Единственное, что прошу не делать, это закидывать ссылками на описание и реализацию RLE кодеров, т.к. эти все темы и на хабре в том числе я уже прочитал и выкурил настолько, насколько позволило моё время.... Мне надо реализовать конкретный декодер для конкретных примеров. Если кто возьмётся за реализацию, я с удовольствием предоставлю кучу примеров кодируемых и некодируемых файлов родной утилитой.

ПыСы: как только DumpEdit научится ковырять дампы без глюков и станет хотя бы "бэтой" он обязательно будет в общем доступе.

upd1:
описание RLE-файлов в архиве
95750-2w110_00000F92_(0x91).rle
95750-3x016_00001DC0_(0xFE).rle - некодируемый, похож на 95760-2w150_00001016_(0xFE) - разметка на каком-то фоне ))).
95760-2w150_00001016_(0xFE).rle
95760-2w150_00001F04_(0x91).rle - некодируемый, похож на 95750-2w110_00000F92_(0x91) - красный треугольник с белыйм восклицательным знаком.
Вложения
makeover.rar
(420.76 КБ) Скачиваний: 10
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Конвертор RLE-bitmap в BMP

Сообщение zalk » 16 апр 2016 23:48

Походу там не простой RLE, алгоритмы с тырнета не работают.
Да и файл сам по себе странный, по алгоритму внутри сразу должна идти куча всего, а там пустота... Заголовок там что ли какой-то...
Надо думать еще.

Надо будет с makeover.exe поэкспериментировать, поскармливать ему файлы и посравнивать результаты с другими алгоритмами.
zalk
Пробегал мимо
 
Сообщения: 1
Зарегистрирован: 23 янв 2009 13:50

Re: Конвертор RLE-bitmap в BMP

Сообщение hardlock » 17 апр 2016 13:05

zalk, ты даже вспомнил свой пароль :shock:

По сабжу.
Формат RLE-файла (из даташита):


Рассмотрим конвертируемый файл минимального размера 95750-2w110_00000F92_(0x91).rle

В WinHEX это выглядит так:

красным обведён заголовок файла, который разобран на предыдущей картинке, желтым - восемь полей COLORxLUT, зелёным - три поля RLE_LUTx

Из заголовка нас интересует только размер данных (Size 0x006E) вместе с тремя полями RLE_LUT, и размер картинки (LengthX: 0x0018, LengthY: 0x0020). Далее, при формировании картинки, нам надо будут цвета COLORxLUT и RLE_LUTx - формат описан на странице 7 того же даташита.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Конвертор RLE-bitmap в BMP

Сообщение kamandors » 14 окт 2016 01:46

надо еще помощь в конверторе ?

программирую на досуге, могу помочь
kamandors
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 09 июн 2014 16:57
Откуда: Дон обл

Re: Конвертор RLE-bitmap в BMP

Сообщение hardlock » 14 окт 2016 11:37

kamandors, да, т.к. пару человек, которые брались за эту задачу решить не смогли. Я попробую взять наработки и выложить их тут.

Кстати, до программирования не дошло, не смогли раскопать алгоритм, по которому кодируется RLE. Пробовали кодировать простые мелкие битмапы чтобы понять принцип - ничего не вышло (((
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua


Вернуться в Software



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1