Торренты   
 
 


A3DTools - просмотр стерео через анаглифические очки с адаптивной коррекцией цвета и компенсацией гхоста

Какой вариант анаглифа считаете наиболее удачным?

Красно-голубой (red-cyan)   70%  70%  [ 61 ]
Зелено-малиновый (green-magenta)   9%  9%  [ 8 ]
Желто-синий (amber-blue)   20%  20%  [ 18 ]

Всего проголосовало : 87

A3DTools - это комплексное решение для просмотра стерео-контента через анаглифические очки любого типа: Red-Cyan, Green-Magenta, Amber-Blue(ColorCode). Обеспечивает просмотр фото в режиме слайд-шоу, просмотр видео в реальном времени, конвертирование видео в готовый анаглиф.
Основное преимущество программного пакета в уникальном алгоритме преобразования A3D-Anaglyph, обеспечивающем более качественную цветопередачу и существенно меньший уровень гхоста (двоения).
Программный пакет является бесплатным для некоммерческого использования.
Комментарии:

Пред.  1, 2, 3 ... 16, 17, 18, 19  След.






Итак, встречайте более-менее законченную версию!
Основные изменения:
1) плагин для ависинта - разобрался с коэффициентами матрицы преобразования "Rec601", теперь результат адаптивной коррекции цвета абсолютно одинаковый и в плагине и в шейдерах и в фото-вьювере!
2) Оптимизирован алгоритм обработки яркостного канала в плагине - должно работать быстрее (сам не проверял).
3) A3DPlay - полностью отказался от использования профилей компенсации гхоста, теперь коэффициенты коррекции гхоста просто сохраняются в ini-файле (надо бы проверить фото-вьювер на предмет "косяков", т.к. сильно изменился код)
4) A3DAvisynth - переименован в A3DVideo, изменилось контекстное меню, добавлена возможность создания файлов-оберток с расширением "a3d", изменился интерфейс.
5) A3DOpen - замена бывшему A3DKMPLayer, позволяет открывать файлы с расширением "a3d" в видео-плеерах, никаких диалогов - сразу воспроизведение, необходимые настройки сохраняются в самом файле "a3d".
6) Поддержка воспроизведения видео в KMPLayer и PotPlayer - выбор плеера находится в настройках программы A3DPlay.
7) Исправлена ошибка с чередованием ракурсов - теперь все ОК.
8) Автоматическое изменение текстов шейдеров при изменении настроек коррекции цвета и компенсации гхоста в A3DPlay (только в win7 надо A3DPlay запускать от имени администратора)
9) У программы появился инсталлятор - все операции по копированию файлов, регистрации контекстного меню, ассоциация файлов "a3d" с A3DOpen выполняются автоматически.
ПРИМЕЧАНИЕ:
Перед установкой, удалите старую версию программы, для этого:
- скачать батник и закинуть его в c:\A3DPlay\
- запустить его от имени администратора
- перезагрузить комп
- удалить папку c:\A3DPlay\
 

ОГО!!! Вот теперь будем тестить.
.........
Упссссссссссссссс
1. Установщик не видит моего Пот Плеера, хотя он установлен в папку по умолчанию. Видимо правильней указывать вручную путь к плееру.
2. А как теперь удалять те хвосты, что куда-то записались?
 

Pinnhate
У меня плеер прописан здесь: C:\Program Files\Daum\PotPlayer\PotPlayerMini.exe
Хвосты: если речь идет о предыдущей версии, то см. выше.
 

У меня плеер прописан здесь: C:\Program Files\Daum\PotPlayer\PotPlayerMini.exe
А по умолчанию он C:\Program Files\PotPlayer\PotPlayerMini.exe
Хвосты от новой. Нашел 2 ветки в реестре - ассоциацию .a3d и регистрацию A3DCM.dll
Потом перезагрузился и удалил папку A3DTools из Program Files и ярлыки из главного меню.
Вопрос такой, если не пользоваться A3DOpen, то можно просто куда-то скопировать из папки Files все, кроме A3DOpen.exe и A3DCM.dll ? + шейдеры в соответствующую папку плеера?
Кстати в шейдерах так и осталось
float lcomp = 0.10;
float rcomp = 0.05;
вместо нулевых значений.
 

Pinnhate
Ну да, можно в любую папку скопировать. Только потеряем возможность автоматического выбора шейдера...
Плеер у меня тоже ПО УМОЛЧАНИЮ прописан)))) не зря меня иероглифы бесят в этом pot-плеере)))
 

не зря меня иероглифы бесят
Для того пересобранные локализованные версии и делаются. Когда-то меня угораздило официальный KMPlayer поставить )))))))))))))))) С тех пор стал внимательней.
Большинство пользуются
dpp1.5.33573ru.x86.lite (14 МБ)
dpp1.5.33573ru.x64.lite (15 МБ)
или
dpp1.5.33573ru.x86.full (30 МБ)
dpp1.5.33573ru.x64.full (27 МБ)
2 профиля пользователя
*Built-in Video Decoder (Default)
*LAV Video Decoder (SOFT/DXVA/CUDA/QSYN)
можно добавить профиль пользователя
*FFdshow Video Decoder with SVP (Smooth Video)
или СамЛабовскими портативками.
Учитывая, что теперь наработки ПотПлеера стали внедрять обратно в KMP, то и его сборок должно полно появиться. А отсюда следует, что без возможности указания папки с плеером в процессе установки не обойтись.
Кстати, в PotPlayer с обложкой SPLASH прямо на панели есть кнопка выбора шейдера. Значительно повышает удобство, если без A3DOpen приходится смотреть.
 

Вечером постараюсь в MPC-HC шейдеры загнать и инструкцию по подключению выложить.
 

Итак, для MPC-HC.... в нем не так удобно пользоваться шейдерами, но "имеет место быть" (например у меня только он, хоть и на пределе, потянул преобразование на старом ноуте с 2-ядерным Турионом 1.9 ГГц и видюхой ATI X2300)
1. Я все проделывал на русской версии 1.6.3.4992
2. После установки, при первом запуске программы заходим Вид - Настройки,
в разделе "Проигрыватель" ставим галку "Сохранять настройки в .ini файле" и
жмем "ОК" и закрываем плеер.

Теперь в папке с программой (по умолчанию C:\Program Files\Media Player Classic - Home Cinema) появился файл mpc-hc.ini
3. Открываем mpc-hc.ini виндовским Блокнотом, в самый конец вставляем код шейдеров

развернуть для просмотра

Код:
21=A3D AB OU LR|ps_2_0|// Amber-Blue A3D-anaglyph shader (OU)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = r.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
22=A3D AB OU RL|ps_2_0|// Amber-Blue A3D-anaglyph shader (OU-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = l.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
23=A3D AB SbS LR|ps_2_0|// Amber-Blue A3D-anaglyph shader (SbS)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = r.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
24=A3D AB SbS RL|ps_2_0|// Amber-Blue A3D-anaglyph shader (SbS-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = l.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
25=A3D GM OU LR|ps_2_0|// Green-Magenta A3D-anaglyph shader (OU)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = r.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
26=A3D GM OU RL|ps_2_0|// Green-Magenta A3D-anaglyph shader (OU-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = l.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
27=A3D GM SbS LR|ps_2_0|// Green-Magenta A3D-anaglyph shader (SbS)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = r.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
28=A3D GM SbS RL|ps_2_0|// Green-Magenta A3D-anaglyph shader (SbS-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = l.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
29=A3D RC OU LR|ps_2_0|// Red-Cyan A3D-anaglyph shader (OU)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(1.98006182*vl+0.3409803044*ul);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = l.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
30=A3D RC OU RL|ps_2_0|// Red-Cyan A3D-anaglyph shader (OU-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.y = tex.y / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.y = tex.y + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(1.98006182*vl+0.3409803044*ul);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = r.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
31=A3D RC SbS LR|ps_2_0|// Red-Cyan A3D-anaglyph shader (SbS)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(1.98006182*vl+0.3409803044*ul);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = r.r;\n    float green = l.g;\n    float blue = l.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
32=A3D RC SbS RL|ps_2_0|// Red-Cyan A3D-anaglyph shader (SbS-Reverced)\n\nsampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n    // задаем параметры\n    float smax = 0.7; \n    float smin = 0.2;\n    float brightness = 1.0;\n    float gamma = 1.0;\n    float lcomp = 0.00;\n    float rcomp = 0.00; \n\n    // получаем точку правого ракурса\n    tex.x = tex.x / 2;\n    float4 r = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\n    float ur = 0.564334085778781*(r.b-yr);\n    float vr = 0.7132667617689016*(r.r-yr);\n\n    // обрабатываем канал яркости\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\n    yr = pow(yr,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ur = (1.0-kss)*ur;\n    vr = (1.0-kss)*vr; \n\n    // преобразуем в RGB\n    r.r = yr+vr*1.402;\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\n    r.b = yr+ur*1.772;\n\n    // получаем точку левого ракурса    \n    tex.x = tex.x + 0.5;\n    float4 l = tex2D(s0, tex.xy);\n\n    // преобразуем в YUV\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\n    float ul = 0.564334085778781*(l.b-yl);\n    float vl = 0.7132667617689016*(l.r-yl);\n\n    // обрабатываем канал яркости\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\n    yl = pow(yl,1/gamma);\n\n    // рассчитываем коэффициент адаптивной коррекции цвета\n    kss = abs(1.98006182*vl+0.3409803044*ul);\n    if (kss>1.0) kss = 1.0;\n    kss = kss*(smax-smin)+smin; \n\n    // обрабатываем канал цветности\n    ul = (1.0-kss)*ul;\n    vl = (1.0-kss)*vl; \n\n    // преобразуем в RGB\n    l.r = yl+vl*1.402;\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\n    l.b = yl+ul*1.772;\n\n    // преобразуем в анаглиф    \n    float red = l.r;\n    float green = r.g;\n    float blue = r.b;\n\n    // коррекция гхоста в красном канале\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\n    if (linred<0.0) linred = 0.0;\n    red = pow(linred,1/2.2);\n\n    // коррекция гхоста в зеленом канале\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\n    if (lingreen<0.0) lingreen = 0.0;\n    green = pow(lingreen,1/2.2);\n\n    // коррекция гхоста в синем канале\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\n    if (linblue<0.0) linblue = 0.0;\n    blue = pow(linblue,1/2.2);\n \n    return float4(red, green, blue, 1);\n}
и сохраняем.
4. Чтобы использовать нужный шейдер в плеере заходим в "Воспроизведение" - "Шейдеры". В открывшемся окне

выбираем нужный шейдер, жмем "Добавить", ставим галку "Включить шейдеры кадра" и жмем "ОК".
Если понадобится выбрать другой шейдер, то выделяем подключеный и жмем "Убрать", после чего добавляем другой.
5. Включение\отключение выбранного шейдера выполняется кнопками Ctrl+P или
"Воспроизведение" - "Шейдеры" - "Включить шейдеры кадра".
6. Внести изменения в шейдер, например изменить значения компенсации удобнее через "Редактор шейдеров" (Ctrl+9)

Тут выбираем из списка нужный шейдер и он отображается с разделением на строки, как в исходниках. Можно изменять значения (изменения сохраняются автоматически) или удалять ненужные шейдеры.
 

Да, кстати. Тексты шейдеров из комплекта 5.4 я чуток еще исправил: откорректировал внутренние имена шейдеров и выставил в 0 компенсацию гхостов. Если надо....
 

Pinnhate
Спасибо за проделанную работу! Думаю потом включим эту инструкцию в общий help по программе.
 

Обновил весь пакет:
1) Отказался от использования ini-файлов. Как выяснилось, win7 хитрит и не хочет сохранять ini-файлы в "program files", вместо этого, она делает их копии где-то в папках пользователя. Вся жесть в том, что для автоматического изменения коэффициентов в текстах шейдеров, необходимо запускать A3DPlay от имени администратора, но для администратора она заводит свой экземпляр ini-файла! Теперь все настройки хранятся в реестре в единой ветке для всех пользователей (как и должно быть).
2) Отказался от использования контекстного меню. Как оказалось, при расположении сервера контекстного меню (A3DCM.dll) в "program files", параметр командной строки не передается (теряется). Теперь, предлагаю использовать стандартную команду контекстного меню "открыть с помощью" (один раз придется указать путь к A3DVideo, потом A3DVideo уже будет в списке, правда придется для всех расширений видео это однажды проделывать). Плюс в том, что теперь можно просто удалять программу без всяких там выгрузок dll и перезагрузок ПК.
3) Исправил ошибку при сохранении настроек A3DVideo.
4) Исправил ошибку в плагине (a3d.dll). Если обработка яркостной составляющей была отключена, несколько секунд в начале видео на выходе было почти черным, сейчас все ОК. Кстати, проверил скорость обработки яркости в новой версии плагина: если включить "Коррекция яркости", то скорость обработки остается неизменной!!! (раньше падала в 3 раза).
5) Исправил значения коэффициентов коррекции гхоста в шейдерах по умолчанию на нулевые.
6) При инсталляции можно выбрать пути к расположению плееров и указать ключи в реестре где храниться выбор текущего шейдера. И пути и ключи проверяются на предмет их наличия в реальном времени (прямо в инсталляторе), если путь или ключ не существуют, то он подсвечивается красным цветом. В дальнейшем, данные параметры можно изменить на вкладке "Общие" окна настроек A3DPlay.
Теперь, как удалить хвосты от предыдущей версии:
- в командной строке (от имени администратора) вводим:
Код:
regsvr32 "C:\Program Files\A3DTools\A3DCM.dll" /u
- перезагружаем ПК
- удаляем папку C:\Program Files\A3DTools\
 

Если на 32-битной винде пойдет, надо будет еще попробовать с 64-битным Ависинтом иплеерами на соответствующей винде. А то переходить собрался...
 

Вот еще что обнаружил, ковыряя MPC-HC:
Если после добавления текста шейдеров в .ini файл использование этого файла снова отключить, то настройки переносятся в реестр! В частности все шейдеры находятся в ветке HKEY_CURRENT_USER\Software\Gabest\Media Player Classic\Shaders под теми же номерами, под которыми занесены были в ini-файл.
Соответственно,
если в MPC-HC не включена опция "Сохранять настройки в .ini файле", то шейдеры добавляются

таким reg-файлом

Код:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Gabest\Media Player Classic\Shaders]
"21"="A3D AB OU LR|ps_2_0|// Amber-Blue A3D-anaglyph shader (OU)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = r.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"22"="A3D AB OU RL|ps_2_0|// Amber-Blue A3D-anaglyph shader (OU-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = l.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"23"="A3D AB SbS LR|ps_2_0|// Amber-Blue A3D-anaglyph shader (SbS)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = r.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"24"="A3D AB SbS RL|ps_2_0|// Amber-Blue A3D-anaglyph shader (SbS-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*0.0053500511073254-ur*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*0.0053500511073254-ul*1.999129948892675);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = l.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(blue,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(blue,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"25"="A3D GM OU LR|ps_2_0|// Green-Magenta A3D-anaglyph shader (OU)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = r.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"26"="A3D GM OU RL|ps_2_0|// Green-Magenta A3D-anaglyph shader (OU-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = l.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"27"="A3D GM SbS LR|ps_2_0|// Green-Magenta A3D-anaglyph shader (SbS)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = r.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"28"="A3D GM SbS RL|ps_2_0|// Green-Magenta A3D-anaglyph shader (SbS-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*1.723576286201022+ur*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(vl*1.723576286201022+ul*0.8402962862010221);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = l.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*rcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*lcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(green,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"29"="A3D RC OU LR|ps_2_0|// Red-Cyan A3D-anaglyph shader (OU)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(1.98006182*vl+0.3409803044*ul);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = l.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"30"="A3D RC OU RL|ps_2_0|// Red-Cyan A3D-anaglyph shader (OU-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.y = tex.y / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.y = tex.y + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(1.98006182*vl+0.3409803044*ul);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = r.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"31"="A3D RC SbS LR|ps_2_0|// Red-Cyan A3D-anaglyph shader (SbS)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(1.98006182*vl+0.3409803044*ul);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = r.r;\\n    float green = l.g;\\n    float blue = l.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
"32"="A3D RC SbS RL|ps_2_0|// Red-Cyan A3D-anaglyph shader (SbS-Reverced)\\n\\nsampler s0 : register(s0);\\n\\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\\n{\\n    // задаем параметры\\n    float smax = 0.7; \\n    float smin = 0.2;\\n    float brightness = 1.0;\\n    float gamma = 1.0;\\n    float lcomp = 0.00;\\n    float rcomp = 0.00; \\n\\n    // получаем точку правого ракурса\\n    tex.x = tex.x / 2;\\n    float4 r = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yr = r.r*0.299+r.g*0.587+r.b*0.114;\\n    float ur = 0.564334085778781*(r.b-yr);\\n    float vr = 0.7132667617689016*(r.r-yr);\\n\\n    // обрабатываем канал яркости\\n    yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;\\n    yr = pow(yr,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    float kss = abs(vr*2.001874480408859+ur*0.0055544804088586);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ur = (1.0-kss)*ur;\\n    vr = (1.0-kss)*vr; \\n\\n    // преобразуем в RGB\\n    r.r = yr+vr*1.402;\\n    r.g = yr-ur*0.3441362862010221-vr*0.7141362862010221;\\n    r.b = yr+ur*1.772;\\n\\n    // получаем точку левого ракурса    \\n    tex.x = tex.x + 0.5;\\n    float4 l = tex2D(s0, tex.xy);\\n\\n    // преобразуем в YUV\\n    float yl = l.r*0.299+l.g*0.587+l.b*0.114;\\n    float ul = 0.564334085778781*(l.b-yl);\\n    float vl = 0.7132667617689016*(l.r-yl);\\n\\n    // обрабатываем канал яркости\\n    yl = ((1.0-brightness)*(1.0-yl*yl)+brightness)*yl;\\n    yl = pow(yl,1/gamma);\\n\\n    // рассчитываем коэффициент адаптивной коррекции цвета\\n    kss = abs(1.98006182*vl+0.3409803044*ul);\\n    if (kss>1.0) kss = 1.0;\\n    kss = kss*(smax-smin)+smin; \\n\\n    // обрабатываем канал цветности\\n    ul = (1.0-kss)*ul;\\n    vl = (1.0-kss)*vl; \\n\\n    // преобразуем в RGB\\n    l.r = yl+vl*1.402;\\n    l.g = yl-ul*0.3441362862010221-vl*0.7141362862010221;\\n    l.b = yl+ul*1.772;\\n\\n    // преобразуем в анаглиф    \\n    float red = l.r;\\n    float green = r.g;\\n    float blue = r.b;\\n\\n    // коррекция гхоста в красном канале\\n    float linred = pow(red,2.2)-pow(green,2.2)*lcomp;\\n    if (linred<0.0) linred = 0.0;\\n    red = pow(linred,1/2.2);\\n\\n    // коррекция гхоста в зеленом канале\\n    float lingreen = pow(green,2.2)-pow(red,2.2)*rcomp;\\n    if (lingreen<0.0) lingreen = 0.0;\\n    green = pow(lingreen,1/2.2);\\n\\n    // коррекция гхоста в синем канале\\n    float linblue = pow(blue,2.2)-pow(red,2.2)*rcomp;\\n    if (linblue<0.0) linblue = 0.0;\\n    blue = pow(linblue,1/2.2);\\n \\n    return float4(red, green, blue, 1);\\n}"
Тут код шейдера также хранится в одну строку, но синтаксис вроде немного другой.
А вот так указывается какой шейдер выбран и что он включен:
Код:
[HKEY_CURRENT_USER\Software\Gabest\Media Player Classic\Settings]
"Shaders List"="A3D AB OU LR|"
"ToggleShader"=dword:00000001
То есть для отключения использования шейдеров вбиваем
Код:
"ToggleShader"=dword:00000000
Вот только не нашел, как "дистанционно" отключить опцию "Сохранять настройки в .ini файле".....
 

Pinnhate
Респект! Хорошую инфу по MPC-HC нарыл. Пригодится 100%
 

Странно...
Вот кусок шейдера:
Код:
// обрабатываем канал яркости
yr = ((1.0-brightness)*(1.0-yr*yr)+brightness)*yr;
yr = pow(yr,1/gamma);
По умолчанию, brightness=1 gamma=1, все работает.
Если задать brightness=0.9, то на рабочем компе все работает, а на домашнем выдает ошибку типа "функция pow не может переварить отрицательные числа".
Когда brightness=1, функция превращается в:
Код:
// обрабатываем канал яркости
yr = 1.0*yr;
yr = pow(yr,1/gamma);
понятно, что отрицательные числа возникают вот здесь: (1.0-yr*yr), и только в случае, когда yr > 1. Но yr считается как:
Код:
float yr = r.r*0.299+r.g*0.587+r.b*0.114;
Т.е. некоторые компоненты RGB >1 на входе шейдера??? Не верю...
Проверьте пожалуйста, у кого-нибудь еще есть такая проблема?
 

На ноуте попробовал float brightness в диапазоне 0.1 до 1.9
Ни в MPC-HC, ни в PotPlayer ошибку не выдало.
 

Версия 5.4.2
- Изменились параметры видеоплееров: теперь можно указать до 4 ключей в реестре, содержащих выбранный шейдер (как оказалось, при наличии нескольких профилей пользователя в том же KMPlayer, выбор шейдера делается для каждого профиля независимо). Кроме того, теперь имя параметра, отвечающего за выбранный шейдер указывается явно (можно изменять). Так же, при инсталляции, явно указывается путь к папке с шейдерами и исполняемый файл самого плеера. - Все это для возможности настроить A3DTools под любую сборку плеера самим пользователем.
- В файлах-обертках *.a3d добавлено сохранение соотношения сторон видео (1,33 или 1,78 или пользовательское). Пока работает только в KMPlayer, так как для PotPlayer соответствующих параметров пока не нашел.
- В файлах *.a3d теперь не сохраняется выбранный тип анаглифа, вместо этого, A3DOpen при открывании файла выбирает шейдер в соответствии с заданным режимом просмотра в A3DPlay.
- Изменил шейдеры, добавил проверку y>1
 

Версия 5.4.3
- Добавлена поддержка соотношения сторон для PotPlayer
 

Версия 5.4.4
- Исправлена ошибка при сохранении коэффициентов коррекции гхоста для режима Red-Cyan.
- Исправлены проблемы при автоматическом изменении коэффициентов в шейдерах (имело место, в случае, когда в региональных стандартах винды в качестве разделителя целой и дробной части стояла запятая, в шейдерах вместо Smax = 0.7 прописывалось Smax = 0,7 и соответственно, шейдеры переставали работать)
 

Direct show source: Could not open as video or audio выскакивает ошибка в плеере при воспроизведении. Не пойму в чем дело.
 

Страница 17 из 19

Пред.  1, 2, 3 ... 16, 17, 18, 19  След.