MPC-BE forum

MPC-BE => Обсуждение / Discussion => Тема начата: V0lt от 13 декабря 2016, 22:38:42

Название: Ресайз в линейном RGB
Отправлено: V0lt от 13 декабря 2016, 22:38:42
Вот есть такая статья про Далай Ламу (http://www.4p8.com/eric.brasseur/gamma.html). :)
Если коротко, то в статье речь о том, что правильнее ресайзить картинку не в стандартном RGB, а в линейном.
В руководстве ImageMagick про это тоже пишут (http://www.imagemagick.org/Usage/resize/#resize_colorspace).

В нашем плеере это можно по быстрому реализовать через два шейдера (gamma_to_linear.hlsl и linear_to_gamma.hlsl (https://yadi.sk/d/7VBJaLfJ33GNqQ)). Шейдеры необходимо положить в %APPDATA%/MPC-BE/Shaders и подключить в плеере следующим образом.
(http://i1.sendpic.org/t/zn/znEpOFgntB6wSqbuNJnCeSawQCQ.jpg) (http://sendpic.org/view/1/i/2m9GvuRqu5181UoazdwFRnWlt3Z.png)
Суть.
Картинка после EVR в стандартном RGB преобразуем в линейный, далее идет ресайз, затем преобразуем назад в стандартный.

Что это дает?
Картинка с Далай Ламой будет нормально показывать при 50% масштабе. :D
А если серьезно, то при сильном уменьшении на некоторых четких кадрах картинка будет заметно другой.
(http://i1.sendpic.org/t/gI/gIG0osSvrkwaxoWpFB8rjQXMuvx.jpg) (http://sendpic.org/view/1/i/z6xC1WzCtxzOef6JMhH4KBgNvwh.png)(http://i1.sendpic.org/t/n3/n3oINfgIU4ypH5xmkUypDwqGAn1.jpg) (http://sendpic.org/view/1/i/gX4KCGIWfjyxJd7pvcf8wqxrpUV.png)

На обычном кине эффект поймать не удалось. Поэтому данный пост лишь для информации.
[merge_posts_bbcode]Добавлено: 2016-12-13 22:38:42[/merge_posts_bbcode]

Забыл упомянуть, что эксперименты с цветовыми пространствами лучше проводить, используя текстуры повышенной разрядности. Я использую 16-bit Floating Point.
Название: Ресайз в линейном RGB
Отправлено: Aleksoid1978 от 14 декабря 2016, 04:52:59
Что-то я не понял - в чем фишка, лучше или хуже??
Название: Ресайз в линейном RGB
Отправлено: V0lt от 16 декабря 2016, 19:29:08
Тут неоднозначно. Эффект обычно незаметен, а если и заметен, то бывает сложно сказать лучше или хуже.

Это фичу использовал JanWillem32 в своих тестовых сборках.
Вроде бы раньше использовал madshi. Но в последних версиях madVR, Я не наблюдаю от нее эффекта.
В mpv такая фича тоже имеется (опция --linear-scaling). Более того, для увеличения там можно задействовать сигмоидное преобразование (опция --sigmoid-upscaling).