Доступен новый значительный выпуск библиотеки Pixman 0.40, предназначенной для эффективного выполнения операций по манипулированию областями пикселей, например, для совмещения изображений и различных видов преобразований. Библиотека применяется для низкоуровневой отрисовки графики во многих открытых проектах, в том числе в X.Org, Cairo, Firefox и Wayland/Weston. В Wayland/Weston на основе Pixman организована работа бэкендов для программного рендеринга. Код написан на языке Си и распространяется под лицензией MIT...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52769
В ней ещё не обнаружили очередную сишную дырень?
Если обнаружат, сразу починят. Это не libpng. Кстати, Pixman means Pixel Manipulation. В философии юниксвей должен остаться только один. И похоже это Pixman
> ManipulationЭто угнетение. Я пожалуюсь в ближайшую ячейку sjw.
Правильно! И пусть пиксели будут свободны при выборе цвета и яркости! что это там за очередное очиповывание пикселей, дизерингом хорошое дело не назовут!
Назовите womanipulation и по палатам.
Правильно будет theirpulation. Ловите шпиона!
Мы уже получил мандат SJW?
Мне кажется, Fracta1L-а можно легко заменить бортом, который говорит эту фразу)
ботом! Чёртова автозамена.
Говорил о замене человека программой и сам пострадал от автозамены. Как иронично.
Не переживай, тебя ничто и никто не заменит.
менять одного бота на другого...
У кого что болит...
Сильная дырень типа переполнения буфера нам не страшна:https://en.m.wikibooks.org/wiki/Grsecurity/Appendix/Grsecuri...
Страшно только когда в проге есть JIT.
> Сильная дырень типа переполнения буфера нам не страшна:
> https://en.m.wikibooks.org/wiki/Grsecurity/Appendix/Grsecuri...
> Страшно только когда в проге есть JIT.https://hovav.net/ucsd/talks/blackhat08.html
> Return-Oriented Programming: Exploits Without Code Injection
Примеры использоания есть? Апскейл, довнскейл, тхумбнел умеет?
There is currently no documentation besides the source code itself. Questions about using pixman are welcome on the mailing list as well as on the #cairo IRC channel on FreeNode.
Лол. Нынче порог входа в проект - maillists и IRC. Хороший порог входа. ;)
Это вовсе не порог. Порог -- прочитать код. Хотя я его не видел, возможно он вполне понятный.
Примеры есть, в директории demos.
Совсем слоупоки не могут дистрибутив залить на GitHUB к Microsoft?
https://github.com/libpixman/pixman
Там последний коммит Sep 3, 2016
Заброшенная репа.
"There is currently no documentation besides the source code itself. Questions about using pixman are welcome on the mailing list as well as on the #cairo IRC channel on FreeNode."
До мирового господства ещё далековато :-)
Неужели?
> Firefox и Wayland/Weston.
Ну ты же понимаешь, что Firefox и Weston - это ещё не мировое господство? :-)
Да, мой мир весьма ограничен sad_frog.jpg
Помнится мне, раньше X-Server работали без pixman. Было такое время, или память меня подводит? А сейчас можно собрать X-Server без pixman? Если да, то что это даст?
>А сейчас можно собрать X-Server без pixman? Если да, то что это даст?Это даст "эффективное выполнения операций по манипулированию областями пикселей, например, для совмещения изображений и различных видов преобразований". Или ты думал, что разработчики Иксов от балды решили использовать эти библиотеки.
> В новом выпуске добавлена базовая поддержка дизерингаИнтересно, где это нужно? Во времена всяких там VGA, когда 4 бита на пиксель на экране, и "360Kb хватит всем", дизеринг был полезен. Но когда есть хотя бы 16 бит на пиксель, зачем засирать картинку случайным шумом? Неужели сегодня ещё бывают такие устройства вывода? То есть, если делают, то видимо нужно, но где и зачем, вот в чём вопрос.
Матрица монитора в лучшем случае 10 бит на пиксель (с дизерингом), обычно это 8 бит на пиксель (с дизерингом), т.е. фактически 6 бит на цвет. Профессиональные студийные железки могут до 12 бит, но они весьма и весьма недёшевы. Где ты нашёл 16 бит? Твоё "хотя бы" называется targa с 32 бита на пиксель. Отобразить их конечно не получится, но для качественного продакшена это может быть критично.
Я посчитал, 24 бита дают 16777216 цветов, 6 бит на канал дают уже все лишь 2985984, 10 и 12 получается 64000000 и 191102976 соответственно, но дело в том, что всё, что выше 24 на цвет, на практике является примешанным альфа каналом (прозрачность). В видеопродакшене yuv444 имеет 24 бита на пиксель, но после сжатия всё равно получается 8 или 10 (или 12, или 14 в теории, ха)
> Я посчитал, 24 бита дают 16777216 цветов, 6 бит на канал дают
> уже все лишь 2985984,так "на канал" или "на цвет"? Я легко могу поверить, что мой монитор имеет 6 бит на канал, вот 6 бит на цвет (2 бита на канал?), меня сомневает если честно.
24 бита это 3 байта (8битных) на каждый пиксель, скажем, 12 байт на 4 пикселя это 32 бита (3 пикселя цвета, 1 альфа). Пиксель способен передавать только 1 цвет. Таких матриц не существует, поэтому и данные в таком формате редко хранятся. Цвета догоняются до нужных из частичной информации дизерингом. Каждый канал обрезается в зависимости от ценности спектра для глаза.
> Матрица монитора в лучшем случае 10 бит на пиксель (с дизерингом), обычно
> это 8 бит на пиксель (с дизерингом), т.е. фактически 6 бит
> на цвет.Ах даже так. Эмм... И где этот дизеринг можно увидеть? Я сейчас посмотрел на монитор вплотную, и чёт я не вижу никакого дизеринга. И я не думаю, что мой монитор -- профессиональный и студийный.
Бандинг на градиентах может быть? То, что ты не видишь более 4к оттенков, не значит, что их не существует. Типичный монитор обладает совершенно убитыми динамической контрастностью и цветопередачей, там уже не до искажений.6 бит на цвет это 2985984 цветов, ты способен их отличить от 16777216?
> Бандинг на градиентах может быть?Хз. Но я не нашёл примеров.
> То, что ты не видишь более 4к оттенков, не значит, что их не существует.
Ты этим хочешь сказать, что если есть дизеринг, то я его не замечу, потому как эти примешивающиеся пиксели других цветов, имеют слабоотличающиеся цвета от тех пикселей, к которым они примешиваются? Настолько слабоотличающиеся, что даже когда они рядом и я их разглядываю, я не замечу разницы? Но это разве не убивает смысл всего дизеринга?
> 6 бит на цвет это 2985984 цветов, ты способен их отличить от
> 16777216?Нет, я думаю. Поэтому и полагаю, что 5-6 бит на цвет -- выше крыши.
Насчёт чисел не уверен. Искажения на каждой матрице будут разные, как и некалиброванные цвета. Если ты не видишь их на своей, значит, у тебя днищепродакшен (покупатели сожрут любое дерьмо, тут я не спорю). Чем лучше матрица, тем меньше искажений, и тем ближе к тому, что было задумано при создании. Ну и пассивный перк в виде лучшей картинки и цветопередачи идёт бонусом с хорошей матрицей (да динамических сценах особенно актуально, да на типичном мониторе даже статичное фото выглядит очень искажённо).
Кстати, есть ли библиотеки для чтения/записи jpeg/png/tiff/etc. без попыток заменить половину фотошопа?Я видел только библиотеки с дополнительным хламом типа шрифтов/шумодава/демозаика/анимации. Такие функции тоже нужны, но отдельно.
Есть. libjpeg, libpng и т.п.
Ещё может пригодиться https://github.com/nothings/stb/blob/master/stb_image.h