Автор Тема: Media Player Classic Home Cinema  (Прочитано 5440 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн brill

  • Пользователь
  • Сообщений: 2196
  • Пол: Мужской
  • \/\/\/\/\/\/
    • Youtube
    • Просмотр профиля
Media Player Classic Home Cinema
« : 19 Июль 2009, 21:04:49 »
Короче я затупил и потер старый шейдер, хотелось бы его восстановить.
Интересует шейдер Sharpen Complex. Напишите его сюда, а я у себя его восстановлю :)

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #1 : 19 Июль 2009, 22:16:41 »
От КМР покатит?

// SharpenComplex ( jim.ro )=ps_2_0
// http://www.homecinema-fr.com/forum/viewtopic.php?t=29814317

sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);

#define width (p0[0])
#define height (p0[1])

#define dx (p1[0])
#define dy (p1[1])

float4 main( float2 tex : TEXCOORD0 ) : COLOR
{
// definition des pixels : original, flouté, corigé, final
float4 ori;
float4 flou;
float4 cori;
float4 final;

////////////////////////////////////////////////////
// récuppération de la matrice de 9 points
//   [ 1, 2 , 3 ]
//   [ 4,ori, 5 ]
//   [ 6, 7 , 8 ]

   ori = tex2D(s0, tex);
   float4 c1 = tex2D(s0, tex + float2(-dx,-dy));
   float4 c2 = tex2D(s0, tex + float2(0,-dy));
   float4 c3 = tex2D(s0, tex + float2(dx,-dy));
   float4 c4 = tex2D(s0, tex + float2(-dx,0));
   float4 c5 = tex2D(s0, tex + float2(dx,0));
   float4 c6 = tex2D(s0, tex + float2(-dx,dy));
   float4 c7 = tex2D(s0, tex + float2(0,dy));
   float4 c8 = tex2D(s0, tex + float2(dx,dy));

////////////////////////////////////////////////////
// calcul image floue (filtre gaussien)
   // pour normaliser les valeurs, il faut diviser par la somme des coef
   // 1/(1+2+1+2+4+2+1+2+1) = 1/ 16 = .0625
   flou = (c1+c3+c6+c8 + 2*(c2+c4+c5+c7)+ 4*ori)*0.0625;

// soustraction de l'image flou à l'image originale
   cori = 2*ori - flou;

////////////////////////////////////////////////////
// détection des contours
float delta1;
float delta2;
float value;

// par filtre de sobel
   // Gradient horizontal
   //   [ -1, 0 ,1 ]
   //   [ -2, 0, 2 ]
   //   [ -1, 0 ,1 ]
   delta1 =  (c3 + 2*c5 + c8)-(c1 + 2*c4 + c6);

   // Gradient vertical
   //   [ -1,- 2,-1 ]
   //   [  0,  0, 0 ]
   //   [  1,  2, 1 ]
   delta2 = (c6 + 2*c7 + c8)-(c1 + 2*c2 + c3);

   // calcul
   value = sqrt( mul(delta1,delta1) + mul(delta2,delta2) ) ;

   if( value >.3 )
   {
////////////////////////////////////////////////////
// si contour, sharpen
#define Sharpen_val0       2.0
#define Sharpen_val1       0.125
      final = ori*2 - (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 ) * 0.125 ;
//      final= float4(1,0,0,0);
      return final;
   }
   else
   {
////////////////////////////////////////////////////
// sinon, image corrigée
      return cori;
   }
}

Оффлайн brill

  • Пользователь
  • Сообщений: 2196
  • Пол: Мужской
  • \/\/\/\/\/\/
    • Youtube
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #2 : 19 Июль 2009, 22:43:33 »
EdHell, спасибо, оно самое :)
Кстати, может кто подскажет, где можно найти уже готовые Шейдеры для Медиа Плеер Классик'а ?
Искал, но кроме Шумодава и примитивного деинтерлейса ничего не нашел. Может есть еще какие интересные шейдеры?

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #3 : 20 Июль 2009, 03:02:44 »
brill, от того же КМР пробовал? Там их десятка два готовых и можно своих намикшировать.

Оффлайн brill

  • Пользователь
  • Сообщений: 2196
  • Пол: Мужской
  • \/\/\/\/\/\/
    • Youtube
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #4 : 20 Июль 2009, 14:01:30 »
EdHell, за "наколку" спасибо, ща качну и буду потрошить его :). Тему пока не закрывайте.

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10348
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #5 : 07 Апрель 2012, 22:29:48 »
Подскажите нет ли случаем отдельного кодека который добавляет поддержку webm в MPC, если что у меня версия 5.70 и желания ввиду глючности более новых обновлятся нет

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4416
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #6 : 08 Апрель 2012, 04:38:18 »
Photon9,
там в настройках внешние фильтры можно подключить))) По крайней мере в MPC:HC 1.6.

Оффлайн McSIM

  • Пользователь
  • Сообщений: 583
  • Пол: Мужской
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #7 : 09 Апрель 2012, 21:46:28 »
Подскажите нет ли случаем отдельного кодека который добавляет поддержку webm в MPC, если что у меня версия 5.70 и желания ввиду глючности более новых обновлятся нет
Установи это http://haali.su/mkv/
И в ручную поставь ассоциацию webm на MPC.
Чаще всего в этом контейнере (webm) используется кодек VP8, так что если его у тебя нет, то нужно установить  :)

Оффлайн Pain

  • Пользователь
  • Сообщений: 6232
  • Пол: Мужской
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #8 : 26 Июнь 2013, 22:47:02 »
А можно убрать\скрыть встроенные субтитры?

Оффлайн McSIM

  • Пользователь
  • Сообщений: 583
  • Пол: Мужской
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #9 : 26 Июнь 2013, 23:11:46 »
А можно убрать\скрыть встроенные субтитры?
Какие именно и куда встроенные?

Оффлайн Kiruha2012

  • Пользователь
  • Сообщений: 635
  • Пол: Мужской
  • J-gamer
    • Просмотр профиля
Re: Media Player Classic Home Cinema
« Ответ #10 : 26 Июнь 2013, 23:21:02 »
А можно убрать\скрыть встроенные субтитры?
Если ты имел ввиду вшитые (hard-coded) субтитры, то нет.