24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

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

Обсуждение программного обеспечения для радиолюбителей. Немного самопального софта.
Post Reply
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

Предыстория.
Ковыряю я тут потихоньку дампы камер заднего вида на предмет замены в них картинок и уже кой чего достиг. На данном этапе имею вот такой "альфа-софт":
DumpEdit.png
DumpEdit2.png
Пока он умеет разбирать дамп на составные части, экспортировать каждую запись в отдельности, импортировать то, что экспортировал, удалять, вставлять и т.д. Умеет из записи выделить 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, с остальным утилита справляется настолько, насколько это нужно для внедрения своей картинки в дамп.

Просьба
Image
Если у кого-нибудь есть опыт работы с подобными форматами и он может уделить немного времени на решение этой задачи, прошу написать конвертор. Желательно с исходным кодом, т.к. потом планирую встроить в свой софт (копирайт естестенно сохраню Ваш) и для понимания процесса.
Единственное, что прошу не делать, это закидывать ссылками на описание и реализацию 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) - красный треугольник с белыйм восклицательным знаком.
Attachments
makeover.rar
(420.76 KiB) Downloaded 320 times
zalk
Пробегал мимо
Posts: 1
Joined: 23 Jan 2009 12:50

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

Post by zalk »

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

Надо будет с makeover.exe поэкспериментировать, поскармливать ему файлы и посравнивать результаты с другими алгоритмами.
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

По сабжу.
Формат RLE-файла (из даташита):
Bitmap_format.png
Рассмотрим конвертируемый файл минимального размера 95750-2w110_00000F92_(0x91).rle
95750-2w110_00000F92_(0x91)_screen.png
В WinHEX это выглядит так:
95750-2w110_00000F92_(0x91)_winHex_screen.png
красным обведён заголовок файла, который разобран на предыдущей картинке, желтым - восемь полей COLORxLUT, зелёным - три поля RLE_LUTx

Из заголовка нас интересует только размер данных (Size 0x006E) вместе с тремя полями RLE_LUT, и размер картинки (LengthX: 0x0018, LengthY: 0x0020). Далее, при формировании картинки, нам надо будут цвета COLORxLUT и RLE_LUTx - формат описан на странице 7 того же даташита.
RLE_LUT_format.png
kamandors
Пробегал мимо
Posts: 5
Joined: 09 Jun 2014 16:57
Location: Дон обл

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

Post by kamandors »

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

программирую на досуге, могу помочь
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

Кстати, до программирования не дошло, не смогли раскопать алгоритм, по которому кодируется RLE. Пробовали кодировать простые мелкие битмапы чтобы понять принцип - ничего не вышло (((
kamandors
Пробегал мимо
Posts: 5
Joined: 09 Jun 2014 16:57
Location: Дон обл

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

Post by kamandors »

надо еще помощь в конверторе ?
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

kamandors, да, до сих пор вопрос не решён.
kamandors
Пробегал мимо
Posts: 5
Joined: 09 Jun 2014 16:57
Location: Дон обл

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

Post by kamandors »

а есть большие rle файлы ?
я вижу только 2 шт по 1кб
размер максимум для иконки

эти rle должны нести в себе фото ?
User avatar
hardlock
Администратор
Posts: 4014
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Вечером выложу всё, что есть. Там не фото, а картинки с разметкой и надписями. Некоторые можно конвертировать "родным конвертором", некоторые нет - всё выложу.
Post Reply