Page 1 of 1

Внедрение графических кодеров/декодеров в ядро?

Posted: Mon Oct 18, 2021 9:47 pm
by Kolibrius
Честно говоря я не знаю как работают драйверы в системе.
Но, что если внедрить декодеры/кодеры bmp, gif, png, jpg и других форматов в ядро?
Но допустим не прям в ядро, а в виде драйверов, чтобы форматы можно было пристыковывать/отстыковывать при надобности.
И выделить какую нибудь функцию ядра которая взаимодействовала бы с этими драйверами через ядро.

Что-то вроде:

Code: Select all

lea esi,[png_img]
lea edi,[rgb_img]
mov eax,func
mov ebx,' png'
mcall 
Есть ли смысл в таком решении?

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Mon Oct 18, 2021 10:06 pm
by dunkaist
Are you aware of libimg? What are benefits of putting it into the kernel?

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Wed Oct 20, 2021 8:03 pm
by Boppan
Насколько мне известно, кодэки обычно реализуются на уровне прикладных библиотек. Есть ньюансы при реализации их аппаратного ускорения, но, скорее всего, это реализуется через какое-то общение с драйвером (точно не в курсе).

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Thu Oct 21, 2021 6:10 pm
by Kolibrius
Я где-то видел пример использования libimg возможно в wiki... Если кто скинет ссылку будет замечательно.
Ну что сказать, чтобы её использовать потребуется наверно 200-300 байт машинного кода. Плюс программисту нужно в уме держать как эту библиотеку вызвать, обработать ошибку если ее нет... Колибри вроде как ассемблерная ось, зачем такие сложности? Я думаю в ядре нужно сделать некую универсальную точку входа для всех библиотек графического конвертирования или драйверов (что будет экономический выгоднее) в виде одной некоторой функции которая сама будет искать библиотеки из определенной папки и возиться с ними, если библиотеки нет возвращать ошибку и т.д. Вызов такой функции будет занимать 20-30 байт машинного кода и будет прозрачен для программиста и легок в применении.

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

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Thu Oct 21, 2021 8:12 pm
by Ray
В ядре этого точно не нужно. Кури libimg

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Fri Oct 22, 2021 2:33 pm
by Kolibrius
Умник [url=http://board.kolibrios.org/viewtopic.php?f=33&t=3202&start=30#p63380]Ray[/url] wrote:Спасибо за совет, языков программирования я знаю немало и так (в том числе и любимый кое-кем Паскаль, хотя и не писал на нем уже 100 лет).
Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Fri Oct 22, 2021 3:41 pm
by dunkaist
There exists a dynamic library loader by Coldy. Search the board or contact him for details.

If you find the current way of library loading inconvenient, it is still not a reason to put application libraries to the kernel.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Fri Oct 22, 2021 6:59 pm
by Kolibrius
dunkaist wrote:If you find the current way of library loading inconvenient, it is still not a reason to put application libraries to the kernel.
Можно написать макрос и всё будет вполне удобно, просто работа с библиотекой будет занимать много места в программе, весь смысл ассемблерного компактного кода пропадает.

Впрочем пусть будет все как есть.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Sat Oct 23, 2021 2:17 am
by Ray
Kolibrius wrote:Умник Ray писал(а):
Спасибо за совет, языков программирования я знаю немало и так (в том числе и любимый кое-кем Паскаль, хотя и не писал на нем уже 100 лет).
И что в том сообщении тебя так задело? Тебя же там не было. А замечания были про откровенно кривые названия с грамматическими ошибками на английском.
Kolibrius wrote:Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.
Чел, не поверишь твоё мнение относительно ядра тут тоже никем не ценится. А вот про то, что эта идея г пихать всё в ядро иди учиться в своей школе, вместе с твоим Паскалём.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Sat Oct 23, 2021 11:03 pm
by Kolibrius
Ray wrote:иди учиться в своей школе, вместе с твоим Паскалём.
Тебе как школьнику будет виднее, куда тебе идти со своим Паскалем. Тем более твой "сленг" явно уровня школьника.
Правильно Pathoswithin про тебя тогда сказал, ты любитель по умничать и ничего полезного не делать. Он тебя еще тогда раскусил. Ты обычный балабол. И я с ним полностью согласен. Да и мнение твое тут никогда не ценилось.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Mon Oct 25, 2021 12:31 am
by Doczom
не надо тут разводить споры, по библиотекам и их загрузке, я вот как то не пойму, вам жалко пару сотен байт для загрузки библиотеки и неизвестно сколько байт(допустим 100) на таблицу импорта? я понимаю если бы размер существенно менялся по сравнению с вызовом функции, но в более больших проектах это не сыграет никак, ну какой толк от сотни двух сэкономленных байт если логика больше килобайта, да и использовать ядро как библиотеку не самый лучший вариант, так как переключение контекста очень трудоёмкая операция и в итоге программы начнут тормозить.(да и в чём проблема просто сделать call [console.init] например)

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Mon Oct 25, 2021 3:18 am
by Ray
Kolibrius wrote:Я где-то видел пример использования libimg возможно в wiki... Если кто скинет ссылку будет замечательно.
Ray wrote:Кури libimg
Kolibrius wrote:Ваше мнение касаемо ядра меня мало интересует, продолжайте изучать Паскаль.
Попросил ссылку, я её скинул, после чего ты влетаешь на агрессии. Много ли ты полезного сделал? Создал 3 темы как ты хочешь USB 3. Ну и кто тут малолетний балабол? Иди учи свой Паскаль.

Re: Внедрение графических кодеров/декодеров в ядро?

Posted: Mon Oct 25, 2021 3:21 am
by Ray
Doczom wrote:не надо тут разводить споры, по библиотекам и их загрузке, я вот как то не пойму, вам жалко пару сотен байт для загрузки библиотеки и неизвестно сколько байт(допустим 100) на таблицу импорта? я понимаю если бы размер существенно менялся по сравнению с вызовом функции, но в более больших проектах это не сыграет никак, ну какой толк от сотни двух сэкономленных байт если логика больше килобайта, да и использовать ядро как библиотеку не самый лучший вариант, так как переключение контекста очень трудоёмкая операция и в итоге программы начнут тормозить.(да и в чём проблема просто сделать call [console.init] например)
Согласен полностью