Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Media Player Classic - Home Cinema (MPC-HC)

Модерирует : gyra, Maz

Maz (27-12-2016 23:01): Media Player Classic - Home Cinema (MPC-HC): видеоплеер (8-я часть)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298

   

batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части топика:
Media Player Classic - Home Cinema
 

    MPC-HC — бесплатный проигрыватель аудио и видеофайлов под Windows. Может использовать как встроенные кодеки, так и внешние DirectShow фильтры, QuickTime, RealMedia, ShockWave. Поддерживает DXVA. Есть русский интерфейс. Проект является развитием Media Player Classic от Gabest.

  • Последняя официальная версия: 1.7.10 (x86/x64) от 14.11.2015
  • Текущая SVN-версия: 1.7.10.276 (скачать)
  • Последняя версия с родными фильтрами: 1.6.9.7503 (скачать)
     
  • Другие SVN-сборки: Dirk Paehl
  • Старые SVN-сборки (ресурсы давно не обновлялись): V0lt | Exodus
  • Экспериментальные сборки от JanWillem32 (подробнее тут).

Другие ссылки:
Частые вопросы: FAQ ||   Голосование "Cамый популярный видеоплеер для видео 2016"

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 03:01 18-10-2011 | Исправлено: V0lt, 18:12 27-12-2016
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mpc-hc_3837_shaders_dlg_test5.7z
Исправленный компактный вариант. Можно тестировать.
 
front242

Цитата:
при всём уважении нынешняя мдификация это менять шило на мыло

Были поставлены две основные задачи: два списка шейдеров в одном окне и возможность сразу видеть результат (добавил шейдер - картинка изменилась).
Эти изменения очень сильно повышают юзабельность, поэтому чтобы ты не говорил, они будут внедрены.
 
Добавлено:
judelaw

Цитата:
 У людей список шейдеров может быть километровым

Приведи адекватный пример когда требуется более 6 шейдеров в одном списке

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 16:59 19-11-2011 | Исправлено: V0lt, 22:39 19-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
Приведи адекватный пример когда требуется более 6 шейдеров в одном списке

используемых да, 1-3 вполне. Но речь там шла без комбобокса и кнопки добавить. То есть весь список сразу загружать в лист, а там уже чекбоксами активировать необходимые.
 
Сейчас у нас только 20 шейдеров. А кое-кто еще килограмм шейдеров от Яна запихнет. Итого десятка три четыре.
 
 
У тебя баг есть. Добавь пару шейдеров и потом сделай вверх - вниз. Появится третий
И при открытии активна пустая строка (зачем она вообще?), а не реальная с шейдером. Это неудобно.

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 17:13 19-11-2011 | Исправлено: judelaw, 17:21 19-11-2011
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
То есть весь список сразу загружать в лист, а там уже чекбоксами активировать необходимые.  

Не-не-не, ну нафиг.
 

Цитата:
У тебя баг есть. Добавь пару шейдеров и потом сделай вверх - вниз. Появится третий

Исправил. Ссылку обновил.
 

Цитата:
И при открытии активна пустая строка, а не реальная с шейдером. Это неудобно.

Чем неудобно?

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 17:24 19-11-2011 | Исправлено: V0lt, 17:25 19-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
Исправил. Ссылку обновил.  

если в верхнем листе не более 1 шейдера а в нижнем 2-3, то кнопка вниз в нижнем листе не работает. С нижним листом Вниз плохо работает.
 

Цитата:
Чем неудобно?

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

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 17:43 19-11-2011
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, ошибку исправил.

Цитата:
При добавлении шейдеров в пустой лист, желательно делать эту строку активной, выделенной, чтобы сразу переместить при необходимости в нужное место или удалить, если случайно добавили.

Возьмем простую операцию - добавить три шейдера последовательно. Сейчас это делается элементарно.
У меня вставка идет перед текущим элементом. Если сделать после, тогда нельзя будет вставить новую строку на место первого элемента (без нажатия кнопок вверх/вниз).
Я сейчас не вспомню, как там по стандартам

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 18:25 19-11-2011 | Исправлено: V0lt, 18:26 19-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
У меня вставка идет перед текущим элементом

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

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 18:42 19-11-2011
SamLab



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Media Player Classic HomeCinema+ ICL12 BE+ 1.5.3.3839 (x86/x64) от Exodus
http://mpc-build.googlecode.com/svn/trunk/mpc-hc/mpc-hc_rev3839/

Цитата:
Media Player Classic HomeCinema+
Updated: LibMp3Lame to latest
Updated: LibWebP to latest


----------
SamLab.ws - Программы и русификаторы + SamForum.org - Софтовый форум + Мой Телеграм

Всего записей: 6597 | Зарегистр. 15-07-2004 | Отправлено: 19:43 19-11-2011
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MPC-HomeCinema 1.5.3.3841 (x86)
Добавлен новый диалог шейдеров.

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 22:42 19-11-2011 | Исправлено: V0lt, 23:19 19-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
Добавлен новый диалог шейдеров.

Ну и чудненько. Спасибо.
 
Не хочу напрягать, но не возьмешься ли за мой патч по автосмене частот через MediaInfo?

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 03:58 20-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aleksoid1978
V0lt
Человек на думе с проблемой: http://forum.doom9.org/showthread.php?p=1539818#post1539818
Я проверил, действительно с Хаали черный экран. И виноват патч в r3679:
// fix for Microsoft DTV-DVD Video Decoder - video freeze after STOP/PLAY
    if(IsConnected()) {
        GetConnected()->BeginFlush();
        GetConnected()->EndFlush();
       }
 
нужно включить как то проверку на хаали рендер в этом месте. Только как добраться из BaseSplitter.cpp до :
AppSettings& s = AfxGetAppSettings();
 
что бы сделать проверку:
if(IsConnected() && !s.iDSVideoRendererType == VIDRNDT_DS_DXR) {
 
??? вопрос

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 06:12 20-11-2011 | Исправлено: judelaw, 06:21 20-11-2011
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
judelaw
 
Надо по другому - добраться по цепочке фильтров до рендера, и проверить что Хаали или нет.
 
Смотри на примере уже готовой функции :

Код:
 
void CBaseSplitterOutputPin::MakeISCRHappy()
{
    CComPtr<IPin> pPinTo = this, pTmp;
    while(pPinTo && SUCCEEDED(pPinTo->ConnectedTo(&pTmp)) && (pPinTo = pTmp)) {
        pTmp = NULL;
 
        CComPtr<IBaseFilter> pBF = GetFilterFromPin(pPinTo);
 
        if(GetCLSID(pBF) == GUIDFromCString(_T("{48025243-2D39-11CE-875D-00608CB78066}"))) { // ISCR
            CAutoPtr<Packet> p(DNew Packet());
            p->TrackNumber = (DWORD)-1;
            p->rtStart = -1;
            p->rtStop = 0;
            p->bSyncPoint = FALSE;
            p->SetData(" ", 2);
            QueuePacket(p);
            break;
        }
 
        pPinTo = GetFirstPin(pBF, PINDIR_OUTPUT);
    }
}
 

 
По идее надо только вставить проверку на Haali

----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 06:25 20-11-2011 | Исправлено: Aleksoid1978, 06:32 20-11-2011
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
judelaw

Цитата:
Не хочу напрягать, но не возьмешься ли за мой патч по автосмене частот через MediaInfo?

Адаптируй к последней версии и вышли файлы по отлаженной схеме (все измененные файлы, пачт на код и экзешник). Посмотрю...
 
Добавлено:
Aleksoid1978
Может уже было
Hilary.0000.ts - http://www.megaupload.com/?d=GTJZPNL0
 
1. MPEG-2 DXVA падает (какие-то проблемы с кучей), либо сначала глючит, но потом все равно падает.
 
2. Там две звуковые дорожки и два видеопотока. Если переключить видео, то вероятнее всего плеер глюканет, но иногда переключает.  Если переключать аудио, то тоже может заглючить, но если не заглючит, то вслед за звукам переключается видео. Это нормально?

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 10:16 20-11-2011
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
1. MPEG-2 DXVA падает (какие-то проблемы с кучей), либо сначала глючит, но потом все равно падает.

 
Это нормально - забейте на встроенный MPEG2 DXVA Decoder ... в нем куча косяков, которые я тупо не знаю как исправить.
 
По поводу переключения видео-дорожек - тут декодер должен поддерживать, встроенные в MPC-HC для этого не годятся, проверь с LAV.


----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 11:58 20-11-2011
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aleksoid1978
С LAV Video переключает через раз. Но разве нормально, что при переключении звука переключается видео?

Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 12:07 20-11-2011
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
Но разве нормально, что при переключении звука переключается видео?

 
Я глянул и понял почему. В этом файле 2 разные программы, к каждой относиться по одной видео и одной аудио дорожек. В коде просто было прописано так - при переключении дорожки смотриться если она относится к другой программе, то и другие типы дорог(аудио, видео и сабы) тоже переключаем на новую программу.
 
По хорошему надо добавить новый пункт - программы, и там такое переключение делать. А пока - я закомментю эту часть ))
 
Добавлено:
V0lt

Цитата:
Но разве нормально, что при переключении звука переключается видео?

 
Исправил


----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 13:53 20-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В этом файле 2 разные программы

да. по хорошему нужно делать как в AVsplitter c переключением потоков трансподера. Program1, Program2....

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 14:26 20-11-2011
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
judelaw

Цитата:
да. по хорошему нужно делать как в AVsplitter c переключением потоков трансподера. Program1, Program2....

 
 
Согласен ... вот только лень ))

----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 15:27 20-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt

Цитата:
Адаптируй к последней версии и вышли файлы по отлаженной схеме

Вылез креш плеера, при первом сохранении опций фуллскрина. Очень странный и вообще не понимаю откуда взялся. Проверил по своим наработкам - в 3760 его не было, в 3786 уже есть.  
Видимо буду долго искать причину.... ибо не ясно мой это косяк или связанно с тенденциями обновления ффмпег и прочего непонятного....
 
Добавлено:
V0lt
Нет, не так.
собрал чистый 3757 - бага нет. В 3758 уже есть.
 
Почему то 30 не нравится. С 100 бага нет. Попробую разобраться почему.
Получается так: с #define MaxFpsCount 100 у нас не сохраняется в ini, а с #define MaxFpsCount 30 - вылезает креш при закрытии диалога. Причем креш одноразовый, настройки сохраняются и при следующем открытии/закрытии окна креша уже нет.

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 17:28 20-11-2011 | Исправлено: judelaw, 19:34 20-11-2011
judelaw

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все, нашел баг
дело в том, что переменная MaxFpsCount - это максимальное количество строк списка нашего листа. А в объявление в PPageFullscreen.h   int m_iSeldm[MaxFpsCount] - это неправильно, так как массив m_iSeldm[] относится к количеству строк в комбобоксе, то есть списка DisplayMode, который ес-но может быть больше 30, даже больше 100.
 
Короче, нужно просто исправить  
 int m_iSeldm[MaxFpsCount]
на  
 int m_iSeldm[1000] (с запасом)
 
Странно, что баг не всегда проявлялся и только с двумя экранами и только одноразово.
Баг можно было словить так:
Удаляем ветку Габест
запускаем плеер - Настройки - полный экран
выбираем другой монитор (не текущий)
ставим галку на Использовать автосмену
в любой строке меняем Режим Дисплея (этот пункт ключевой)
нажимаем ОК
в результате  - креш плеера.  
 
Добавлено:
V0lt
Поправь пожалуйста.
 
Добавлено:
Aleksoid1978

Цитата:
Смотри на примере уже готовой функции :

как то так??? :

    // fix for Microsoft DTV-DVD Video Decoder - video freeze after STOP/PLAY
    int iHaali = 0;
    CComPtr<IPin> pPinTo = this, pTmp;  
    while(pPinTo && SUCCEEDED(pPinTo->ConnectedTo(&pTmp)) && (pPinTo = pTmp)) {  
        pTmp = NULL;  
        CComPtr<IBaseFilter> pBF = GetFilterFromPin(pPinTo);  
        if(GetCLSID(pBF) == GUIDFromCString(_T("{760A8F35-97E7-479D-AAF5-DA9EFF95D751}"))) { // Haali Renderer
            iHaali = 1;
            break;  
        }  
        pPinTo = GetFirstPin(pBF, PINDIR_OUTPUT);
    }
    
    if(IsConnected() && iHaali == 0) {
        GetConnected()->BeginFlush();
        GetConnected()->EndFlush();
    }

Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 20:09 20-11-2011 | Исправлено: judelaw, 20:14 20-11-2011
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
judelaw

Цитата:
как то так??? :  
 
     // fix for Microsoft DTV-DVD Video Decoder - video freeze after STOP/PLAY  
     int iHaali = 0;  
     CComPtr<IPin> pPinTo = this, pTmp;  
     while(pPinTo && SUCCEEDED(pPinTo->ConnectedTo(&pTmp)) && (pPinTo = pTmp)) {  
         pTmp = NULL;  
         CComPtr<IBaseFilter> pBF = GetFilterFromPin(pPinTo);  
         if(GetCLSID(pBF) == GUIDFromCString(_T("{760A8F35-97E7-479D-AAF5-DA9EFF95D751}"))) { // Haali Renderer  
             iHaali = 1;  
             break;  
         }  
         pPinTo = GetFirstPin(pBF, PINDIR_OUTPUT);  
     }  
       
     if(IsConnected() && iHaali == 0) {  
         GetConnected()->BeginFlush();  
         GetConnected()->EndFlush();  
     }

 
Да, типа того. Но для красоты, вместо GUID цифер юзать готовую переменную - CLSID_DXR.
И вот так красивее:

Код:
 
 boolean iHaali = 0;
 ...
 if(IsConnected() && !iHaali) {  
         GetConnected()->BeginFlush();  
         GetConnected()->EndFlush();  
     }
 

 


----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 01:48 21-11-2011
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298

Компьютерный форум Ru.Board » Компьютеры » Программы » Media Player Classic - Home Cinema (MPC-HC)
Maz (27-12-2016 23:01): Media Player Classic - Home Cinema (MPC-HC): видеоплеер (8-я часть)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru