GenaSPB 11 6 марта Опубликовано 6 марта · Жалоба 5 hours ago, repstosw said: При условии, если он либо зашифрован или содержит EXE,DLL, BAT. Пофик на содержимое. просто приаттаченый архив (с текстовыми файлами например). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 7 марта Опубликовано 7 марта · Жалоба В 22.02.2024 в 07:59, mantech сказал: Программно-то все работает, и с кратностью 2 по высоте тоже. Вообщем суть осталась та же, если делать выдачу повернутой картинки прямо на экран, G2D_BLT.dst_image.w=LCD_PIXEL_WIDTH; G2D_BLT.dst_image.h=LCD_PIXEL_HEIGHT; то все работает корректно, никакой бахрамы по сторонам картинки нет, НО, если нужен поворот в памяти, т.е. сплошным массивом для дальнейшей выдачи в экранную область, то там в параметрах G2D_BLT.dst_image.w=размер картинки; G2D_BLT.dst_image.h=размер картинки; То получаем лажу при _image.w не кратном 2. Как с этим бороться, да похоже никак(( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 7 марта Опубликовано 7 марта · Жалоба На регистрах крутится... Или объясните где некратность. Вход 99 * 149, выход - любое место 800 * 480. Где некратность двум? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 7 марта Опубликовано 7 марта (изменено) · Жалоба 13 минут назад, GenaSPB сказал: На регистрах крутится... Или объясните где некратность. Вход Ну может непонятно объясняю, вообщем задача такая, есть исходная картинка, лежит в памяти в виде линейного массива, размером w*h*4 , в байтах. Ее нужно повернуть и положить в такой же линейный буфер, соотв. такого же размера в байтах. Единственное она там будет перевернута на 270 град. А затем, когда мне ее нужно вывести на экран, то функция выдачи преобразует картинку из данного массива в растровую уже учитывая размеры экранной области и вписывая ее в эту область по указанным координатам. Если я указываю в G2D_BLT.dst_image.w=LCD_PIXEL_WIDTH; G2D_BLT.dst_image.h=LCD_PIXEL_HEIGHT; То результат не линейный массив, а копия экранной области размерами LCD_PIXEL_WIDTH*LCD_PIXEL_HEIGHT*4, хранить мне такое в памяти слишком роскошно, да и неудобно... Изменено 7 марта пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 7 марта Опубликовано 7 марта (изменено) · Жалоба Честно говоря пробираться чепез дебри линуксрвского исходника хватло одно раза... и некоторые непонятки по ичпользованию парвметров были. если надо, чтобы работао, скопируйте три десятка строк из моего репо и все будет предсказуемо работать. И поймёте как rot (совершенно отдельный блок g2d) работает. Тут Изменено 7 марта пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 8 марта Опубликовано 8 марта (изменено) · Жалоба 9 часов назад, GenaSPB сказал: И поймёте как rot (совершенно отдельный блок g2d) работает. Да я уж его всяко пробовал и вдоль и поперек, результат один. Скорее всего у вас просто такой задачи, как у меня не было. Ради интереса можете проверить мою картинку, повернуть ее, закинув результат поворота в память в блок размером w*h*4 байт, а затем вывести ее на экран и увидите всю эту лажу... И еще одно замечание, если в вышеуказанным параметрам задавать произвольные значения (ну картинки-то разной ширины\высоты бывают) то бывают случаи зависания всего g2d модуля, даже блендер не работает, результат работы - частично преобразованный блок, мусор, и постоянно висит в цикле ожидания завершения работы, вываливается только по таймауту, и самое интересное, пересброс программный не помогает. При значениях соотв. размеру экранной области такого не замечал... Изменено 8 марта пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 8 марта Опубликовано 8 марта · Жалоба 1 hour ago, mantech said: И еще одно замечание, если в вышеуказанным параметрам задавать произвольные значения (ну картинки-то разной ширины\высоты бывают) то бывают случаи зависания всего g2d модуля, даже блендер не работает, результат работы - частично преобразованный блок, мусор, и постоянно висит в цикле ожидания завершения работы, вываливается только по таймауту, и самое интересное, пересброс программный не помогает. При значениях соотв. размеру экранной области такого не замечал... Следить за областью допустимых значений аргументов G2D - задача программиста. От себя добавлю: прямоугольник размером 1x1 пиксель тоже приводит к зависанию намертво. Ничто не мешает поставить G2D раком, передав некорректные параметры. Тут и вылет за пределы памяти, и бесконечный цикл. Инкременторы всякие, операторы ... 16 hours ago, mantech said: Ну может непонятно объясняю, вообщем задача такая, есть исходная картинка, лежит в памяти в виде линейного массива, размером w*h*4 , в байтах. Ее нужно повернуть и положить в такой же линейный буфер, соотв. такого же размера в байтах. Единственное она там будет перевернута на 270 град. А затем, когда мне ее нужно вывести на экран, то функция выдачи преобразует картинку из данного массива в растровую уже учитывая размеры экранной области и вписывая ее в эту область по указанным координатам. Надо будет попробовать. Занинтересовало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 8 марта Опубликовано 8 марта (изменено) · Жалоба 2 часа назад, repstosw сказал: Надо будет попробовать. Занинтересовало Как проверите, отпишитесь, для меня тоже тема интересная... Свой пример, который выслал, с артефактами, как раз по такой схеме и работал... Изменено 8 марта пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 8 марта Опубликовано 8 марта (изменено) · Жалоба 4 hours ago, mantech said: Да я уж его всяко пробовал и вдоль и поперек Судя по цитаиам кода, вдоль и поперёк сквозь линукс код. Поняв как работает железо, удалось написать масштабирвание с color key, которое не работало в линукс. Разбираясь с линукс билиотекой, встречал разнообразие в записи размеров в один и те же регистры - с уменьшением на один или нет. Кажется видел и перепутанное. Изменено 8 марта пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 8 марта Опубликовано 8 марта · Жалоба 2 минуты назад, GenaSPB сказал: Судя по цитаиам кода, вдоль и поперёк сквозь линукс код. И линуксовый смотрел и РТОС от аллвиннера, отличия есть, но не существенные, соотв работает аналогично... Главный минус - нет доки на сам блок от производителя, поэтому все проверяется опытным путем... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 9 марта Опубликовано 9 марта (изменено) · Жалоба Обратите внимание на ограничения округления адреса источника, pitch источника и получвтеля на 16 байт. Рвзмер источника, получателя и адрес получателя не требуют выравнивания. ROT. Изменено 9 марта пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 9 марта Опубликовано 9 марта · Жалоба 4 часа назад, GenaSPB сказал: Обратите внимание на ограничения округления адреса источника Эт у меня сейчас вообще выровнено на 0х1000. Ибо буфер прибит гвоздями к фикс. адресу в памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 9 марта Опубликовано 9 марта (изменено) · Жалоба А pitch? Я так допиливал библиотеку загрузки png для обеспечения округления рамеров буферов строк до принятых в моем проекте (64 байта) Изменено 9 марта пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 марта Опубликовано 10 марта · Жалоба 9 hours ago, mantech said: буфер прибит гвоздями к фикс. адресу в памяти Пррблемы с кешпамяттю решаете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 10 марта Опубликовано 10 марта · Жалоба 1 час назад, GenaSPB сказал: Пррблемы с кешпамяттю решаете? Конечно. Инвалидация кэша перед началом работы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться