Ru-Board.club
← Вернуться в раздел «Программы»

» Media Player Classic - Black Edition (MPC-BE) часть 1

Автор: Aleksoid1978
Дата сообщения: 08.11.2012 11:56
Bai_Hou

Да - насчет CUDA и качества это шутка конечно. Да и при чем здесь ffdshow и MPC-BE ??
Автор: dinam
Дата сообщения: 08.11.2012 12:02
А всё из-за меня началось . У меня компьютеру уже десятый год пошел! Он изначально был разогнан, и до сих пор работает. И процессор с одним ядром и SSE1. Из ускорения видео только MPEG2 Кто сейчас помнит что были карточки и без него? Комп не меняю потому-что есть ипотека.
Поэтому мне что CUDA что DXVA все равно.
Извините за off.
Автор: Bai_Hou
Дата сообщения: 08.11.2012 12:48
V0lt
Aleksoid1978
Насколько я понял, основная разница видна при деинтерлейсинге. Но у меня не NVidia, и я просто излагаю мнения из вторых рук, которые не раз встречал и которым лично я доверяю. Вот например мнение сборщиков K-Lite (inb4 K-Lite говно -> все их аргументы инвалид). Сильно углубляться в детали мне не было необходимости. Хотите - не верьте, хотите - на doom9 поищите по CUVID или просто спросите в треде.

Автор: Aleksoid1978
Дата сообщения: 08.11.2012 13:19
Bai_Hou

Ни DXVA, ни CUVID не делают никакого деинтерлейса. Это делает уже видео-рендер(т.е. видео драйвер), либо софтовый декодер(что тоже не имеет никакого отношения к CUVID). А для хардварного деинтерлейса - вообще не важно DXVA, CUVID или софтовый декодер. Главное - верно передать параметры для деинтерлейса.
Автор: Bai_Hou
Дата сообщения: 08.11.2012 14:14
Aleksoid1978
Ну я же говорю, что в детали не вдавался. Хвалят и за качество деинтерлейса, и за поддержку CUVID. Сейчас поискал - похоже CUVID используется только для декодирования - ок, пусть так.
Автор: judelaw
Дата сообщения: 08.11.2012 16:14
Bai_Hou
Цитата:
Куда более логично просить сделать отмену паузы по отжатию, если было перемещение окна. Зачем вообще продолжать воспроизведение в процессе перемещения?

Посмотрел что можно сделать.
Куча проблем. Во первых: Стандартное приложение не позволяет таскать окно за рабочую область. Для того чтоб таскалось - костыли делают, один из них в виде обмана, посылая сообщение винде что тянем якобы на заголовок окна.
Во вторых: такого события как тянуть окно мышкой нет, для этого нужно сразу несколько событий: отслеживать левый клик(DOWN), перемещение мыши и левый клик(UP). Выставлять нужные флаги переменным, что нажата левая кнопка, с нажатой кнопкой мышь перемещается, отжата кнопка (закончилось перемещение, сброс переменных). И нашу команду посылать уже в конце, так как раньше мы не узнаем тянулось ли окно.

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

Усугубляет ситуацию и то, что некоторые команды посылаются винде через PostMessage, то есть через виндовый менеджер очереди (как быстро отработается не ясно), а команды назначенные нами на событие мыши - мгновенно.

На LDOWN вообще нереально. Криво можно на LUP сделать. Но начнутся проблемы с двойным кликом, вторым окном эксклюзива и еще куча нюансов.
Через таймер будет тупить с задержкой.
Короче говоря нормальных вариантов нет, чтоб повесить на левый клик событие и в то же время не выполнять при перемещении окна мышкой.
Автор: MaxPeacecity
Дата сообщения: 08.11.2012 17:47
Подскажите, пожалуйста,
Никто не сталкивался случаем с таком "эффектом" (глюком): после перехода на BE (в HC никогда такого не было) иногда при запуске видео файла происходит следующее - открывается окно сабжа (область видео соответственно пустая -черная), в статусной соответственно надпись Opening иии... так и висит бесконечно. Окно таскается все ок, все признаки работающего приложения, но видео так и не открывается. Если тыкнуть в кнопку "закрыть" (крестик), то тут же сабж превращается в не отвечающее приложение (уведомление об этом в заголовке, "серое окно" и все такое). Если прибить из диспетчера и запустить тот же файл снова, то он уже откроется. Происходит довольно редко (ну что-то вроде как раз в 3-4 дня), стабильно воспроизвести не могу и о причинах ума не приложу. Эффект появился именно после перехода на BE (до этого юзал HC Be mod), только не уверен стало появляться такое в последней релизной версии 1.0.3.1 или было и в предыдущей (затрудняюсь сказать именно из-за относительно высокой редкости). Может еще у кого-то такое? Или только у меня?
Автор: V0lt
Дата сообщения: 08.11.2012 19:07
MaxPeacecity
Я уже не раз писал о подобном...
Есть задумчивость при первом запуске или долгой неактивности DirectShow. Еще долше загружаются матрешки со встроенными шрифтами.
Особенно фигово может быть на машинах с очень малым количеством памяти или просто очень захламленных системах.
Как правило, если подождать, то система подгрузит что ей надо и файл откроется.
Повторное открытие происходит намного быстрее.
Автор: MaxPeacecity
Дата сообщения: 08.11.2012 22:58

Цитата:
Особенно фигово может быть на машинах с очень малым количеством памяти

Хватает памяти вроде. Ну как минимум MPC-HC хватало.


Цитата:
или просто очень захламленных системах.

Не захламлена.


Цитата:
Как правило, если подождать, то система подгрузит что ей надо и файл откроется.

Сколько ждать? Я ради интереса минуту ждал - ничего. Больше мне показалось бесмысленным, с учетом что если прибить процесс и запустить файл заново - запуститься и уйдет на это секунд 10.

Но вобщем ясно - проблема имеет место быть и не локальна. Спасибо за подтверждение.
Автор: judelaw
Дата сообщения: 08.11.2012 23:16
MaxPeacecity
Да, есть такое. Особенно первый запуск после перезагрузки компа, или запуск плеера после выполнения чего-нибудь ресурсопрожорливого - большая вероятность висяка.
Последующие запуски уже без проблем. Такое впечатление, что что-то вытаскивается (библиотеки, опрос драйвера и тп) глубоко из клоаки винды при первом подгрузе. Потом уже все в памяти и работает как надо.
Сложно отследить.
Автор: dinam
Дата сообщения: 09.11.2012 03:17
Можно сказать проблема снята. Заметил что у меня была снята галочка "Встроенные фильтры"-> "AVI". При отсутствии галочки MPC-HC и MPC-BE виснут, при установленной всё нормально.
Автор: judelaw
Дата сообщения: 09.11.2012 11:38
judelaw

Цитата:
Короче говоря нормальных вариантов нет, чтоб повесить на левый клик событие и в то же время не выполнять при перемещении окна мышкой.

Кое что удалось сделать. В O->Player->Keys на любую команду можно будет назначит LeftDown или LeftUp. Но сработают одинаково - при отжатии левой кнопки мыши. Если окно тянулось мышкой - назначенные команды игнорируются.
Проблема, если для разных команд одновременно назначать и LeftDown и LeftUp. Вернее не то чтобы проблема (при отжатии кнопки назначенные команды на LeftDown и LeftUp будут выполнятся последовательно друг за другом), а просто немного будет сбивать с толку.
Раньше чем произойдет событие OnLButtonUp (отпустили кнопку), отследить тянулось ли окно увы не могу.
Автор: judelaw
Дата сообщения: 09.11.2012 15:30
GlobalPlay

Цитата:
Перемещение окна мышкой по изображению здорово, но ведь функция не доработана. Пауза/Воспроизведение не должны срабатывать, если мы держим кнопку мыши. Должны срабатывать, когда жмем и тут же отпускаем. Нельзя это проследить?

Вобщем, проверяем как работает, по возможности в окне, полном экране, эксклюзиве, с одним экраном и при мультимониторной конфигурации (в разных ситуациях не успел проверить, так что может где то и не так будет срабатывать). Также внимание на двойной клик (не поломался ли).

mpc-be_x86_r1534_WindowDrags_for_test.7z - http://www.mediafire.com/download.php?aamy3s3tx8caq39
Автор: front242
Дата сообщения: 09.11.2012 15:53
judelaw
не двигает когда меню от двд, в остальном всё отлично вроде
Автор: judelaw
Дата сообщения: 09.11.2012 16:07
front242
там в коде было забанено для ДВД, так и оставил ибо не знаю причину по которой так сделали. Или в нетестовой версии окно двигается на ДВД ??
Автор: front242
Дата сообщения: 09.11.2012 16:20
judelaw
так может причина неактуальна уже, хорошо бы проверить, а забанить всегда можно
в нетестовой удерживая мышь на кадре вообще двигать нельзя или я что-то недопонял?
Автор: judelaw
Дата сообщения: 09.11.2012 17:13
front242
проверь на ДВД, на разных подуровнях меню. В идеале должно работать перетягивание окна в любом случае, и пауза игнориться на меню и работать на не меню.
На кое-каких меню я заметил срабатывает пауза при клике. Видимо проверка что была не достаточна:
if (SUCCEEDED(pDVDC->ActivateAtPosition(p))
|| m_iDVDDomain == DVD_DOMAIN_VideoManagerMenu
|| m_iDVDDomain == DVD_DOMAIN_VideoTitleSetMenu) {

А также двойной клик на меню вызывает разворот на весь экран и одновременно команду меню двд. Как то не очень имхо.

mpc-be_x86_r1534_WindowDrags_fixDVD_for_test.7z - http://www.mediafire.com/download.php?q4b0ssexqvxqc2a
Автор: front242
Дата сообщения: 09.11.2012 17:46
judelaw
пауза срабатывает стабильно при запуске воспроизведения из меню диска, приходится разок кликать на чёрном экране чтобы заиграло, независимо в оконном режиме или полноэкранном

даблклик да, как-то не очень, если нельзя это как-то пофиксить то наверно лучше вернуть как было, главное что при воспроизведении фильма всё работает и таскается как надо
Автор: judelaw
Дата сообщения: 09.11.2012 18:24
front242
посмотрю что можно сделать. Если найду решение - сброшу тест. Не найду - верну обратно для ДВД.

Добавлено:
front242

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

С этим вроде решил.

front242

Цитата:
даблклик да, как-то не очень

У ДВД своя система сообщений (наш отлов виндовых сообщений тут до одного места, если кликнули по активному меню двд то команда отработает полюбому), лезть туда не хочу, но могу сделать так:
Если под курсором мыши находится активная кнопка ДВД менюхи, то двойной клик игнорится. То есть в данном случае просто отработает команда двд меню. Если же под курсором мыши нет активной кнопки, тогда двойной клик развернет окно на весь экран (ну или что там назначено на двойной клик).

Визуально, узнать есть ли под курсором кнопка на ДВД, можно просто - курсор принимает вид руки на таких местах.

Делать так? Или пусть будет одновременно отрабатывать двойной клик и команда двд меню (как сейчас) ??

Подправил еще для эксклюзива (срабатывала пауза на эксклюзивном сикбаре в некоторых случаях)

mpc-be_x86_r1534_WindowDrags_fixDVD_Exclusive_for_test.7z - http://www.mediafire.com/download.php?na7vo24i6cf3um8
Автор: V0lt
Дата сообщения: 10.11.2012 15:57
judelaw

Цитата:
Делать так? Или пусть будет одновременно отрабатывать двойной клик и команда двд меню (как сейчас) ??

Правильно. Одновременно обрабатывать не надо.

Автор: front242
Дата сообщения: 10.11.2012 22:54
+1
Автор: judelaw
Дата сообщения: 11.11.2012 10:06
Замечены ли какие-либо баги в тестовой версии, связанные с левым кликом и тасканием окна ???
Автор: Antonij72
Дата сообщения: 11.11.2012 10:31
Создал тему для программеров:
http://forum.ru-board.com/topic.cgi?forum=33&topic=13489#1
Автор: Aleksoid1978
Дата сообщения: 12.11.2012 06:58
1547 x86 build
Автор: front242
Дата сообщения: 12.11.2012 08:13
judelaw
да вроде всё в порядке
Автор: judelaw
Дата сообщения: 12.11.2012 13:49
front242
изменения залил в SVN. r1550
Автор: Saturn3
Дата сообщения: 13.11.2012 13:35

Цитата:
r1550


Просите, а где можно скачать? Чтоб также как
Цитата:
1547 x86 build
?

Автор: Aleksoid1978
Дата сообщения: 15.11.2012 08:13
Вот последний SVN билд
http://www.mediafire.com/#ecglbf7rguvee
Автор: ZlydenGL
Дата сообщения: 15.11.2012 09:49
А когда официальный релиз ждать можно?
Автор: data man
Дата сообщения: 15.11.2012 10:52
Aleksoid1978

Цитата:
Вот последний SVN билд

И как там скачивать?

Страницы: 123456789101112131415161718

Предыдущая тема: Call центр Rarus для СRM Управление продажами 1С 7.7


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.