Auto change AR - Сrash in VMR Mixer Mode [Исправлено]

Автор Evgeniy1990, 11 марта 2016, 11:12:48

« назад - далее »

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

Evgeniy1990

Цитата: Aleksoid1978Но - ты можешь сам попробовать собрать в студии Debug билд, запустить - когда будет падение посмотреть по цепочке в каком месте в нашем коде началось это дело.
Хорошо, буду пробовать этот вариант.
[merge_posts_bbcode]Добавлено: 2016-03-11 17:48:14[/merge_posts_bbcode]

Цитата: V0ltПроверил. Все хорошо, не виснет, не падает.

Вы проверяли по этому алгоритму:

1. Выбрать "VMR-7 WL"
2. Включить только режим "VMR Mixer"
3. В настройках видео декодера установить галочку в активное состояние "Checked"
4. Запустить видео файл
5. Дождаться автоматической смены соотношения сторон во время его воспроизведения

[merge_posts_bbcode]Добавлено: 2016-03-11 17:51:37[/merge_posts_bbcode]

Цитата: V0ltНет тут логики - рендереры разные.
Если сравнить с LAV Video Decoder, то на нем, при любом VMR-рендерере, поведение совершенно одинаковое.

[merge_posts_bbcode]Добавлено: 2016-03-11 21:59:55[/merge_posts_bbcode]

Aleksoid1978:
Я сделал лог-файл с Windows 7, с помощью утилиты Debug View: https://yadi.sk/i/4SttsNaFq6LNk

[merge_posts_bbcode]Добавлено: 2016-03-12 19:29:26[/merge_posts_bbcode]

Aleksoid1978:

Проверил вашу отладочную сборку LAVFilters_Debug на различных новых системах. И даже на них она вообще не работает, т.е. невозможно зарегистрировать фильтры, или вручную их подгрузить.

Что там по поводу моего лог-файла?

P.S. Так и быть, после выходных, подожду исправленный вариант.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Да не надо ничего ждать - у меня не зависает, у v0lt не зависает. Не пошел LAV debug - да и черт с ним. Хотя у меня нормально работает(что-то по этому поводу было на форуме с LAV).
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Да не надо ничего ждать - у меня не зависает, у v0lt не зависает. Не пошел LAV debug - да и черт с ним. Хотя у меня нормально работает(что-то по этому поводу было на форуме с LAV).
Вы обещали, после выходных, проверить работу данного видео файла на своей рабочей видеокарте "Radeon HD 7750".
Подожду вашего ответа, ваших результатов.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Да 100% будет работать,  можно даже забиться :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Да 100% будет работать,  можно даже забиться :)
Вот откуда у вас такая уверенность?

А да, я же забыл, что у вас "супер-чудо-компы", на которых быги вообще не проявляются. :)

Ладно, в любом случае, нужно найти способ исправить это безобразие.

Пока мы с вами установили, что баг находится в нашем встроенном MPC Video Decoder, поскольку с внешним LAV Video Decoder его нет и он не проявляется.  Следовательно, нужно копать в сторону нашего видео декодера.

Также, нужно выяснить разницу в коде, между "MPC Video Decoder" и "LAV Video Decoder".
Вот тут нам с вами помогут как раз отладочные лог-файлы с отладочного SVN - билда.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Лог был, с ним все нормально.
[merge_posts_bbcode]Добавлено: 2016-03-13 21:41:46[/merge_posts_bbcode]

У меня следующее предложение - упомянуть про этот "баг" на руборде, выложить файл, описать настройки и алгоритм и попросить проверить - там все таки народу больше чем здесь :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Лог был, с ним все нормально.
Что значит "нормально"? Во время воспроизведения происходит его прерывание. В этом случае лог останавливается.

Цитата: Aleksoid1978У меня следующее предложение - упомянуть про этот "баг" на руборде, выложить файл, описать настройки и алгоритм и попросить проверить - там все таки народу больше чем здесь :)
Поддерживаю ваше предложение.

Но, для начала, я бы хотел обратить внимание на следующее:
Здесь лежат четыре скриншота: https://yadi.sk/d/SJhfsQGFq8dMu

Если обратить внимание на первые три скриншота режима отладки, то можно увидеть очень странную вещь в группах: "Call Stack" и "Stack Frame" - это надпись "DXVA" внутри библиотеки "ddraw.dll".

Исходя из этого, возникает следующее предположение:

В момент автоматической смены соотношения сторон, видео декодер делает реконнект, после чего первым пытается подрубиться DXVA-декодер, но не может, в результате чего, происходит сбой сначала в самом видео декодере, а уже потом это дело переходит и доходит до видео рендерера.

Дело в том, что если сравнить наш "MPC Video Decoder" и "LAV Video Decoder", то становится сразу же понятно, что LAV Video Decoder, в отличие от нашего "MPC Video Decoder" вообще не содержит DXVA1-декодер.

А поскольку баг я воспроизвожу на VMR-7 WL, т.е. на VMR-видео-рендерере, то становится сразу же понятно, что тут не обошлось без его участия, т.е. участия DXVA1-декодера.

Вот действительно, взглянув на данную надпись "DXVA", которая встречается в группах "Call Stack" и "Stack Frame" ни один раз, первая мысль, что пришла мне в голову, - это попытка подключения DXVA-декодера в момент автоматической смены соотношения сторон.

Вот такое вот мое предположение. Я не отрицаю, что оно может быть неправильным, но если не DXVA-декодер, тогда что же еще может мешать автоматической смене соотношения сторон?

Еще раз повторюсь, что при использовании "LAV Video Decoder", падения нет и он не содержит DXVA1-декодер.
Так что мое предположение является вполне логическим и вполне возможным.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Про DXVA 1.0 речи вообще не ведем, только про софт. Но и даже если и рассматривать DXVA 1.0 - без VMR Mixer не падает же.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Про DXVA 1.0 речи вообще не ведем, только про софт. Но и даже если и рассматривать DXVA 1.0 - без VMR Mixer не падает же.
Полностью с вами согласен.

Но, "VMR Mixer" - это режим, который дает VMR-видео-рендерерам аппаратные возможности, например, такие как:

1. Аппаратный деинтерлейс
2. Аппаратные настройки цвета, через драйвер видеокарты
3. Более корректная обработка кадров в режиме DXVA1

Так что тут, скорее всего, сбой происходит в той части кода, которая отвечает за аппаратную обработку.

Но, ладно, чтобы нам с вами тут не гадать, я все таки напишу пост на форум "Ru-Board".
Попрошу пользователей проверить этот видео файл у себя, при моем конкретном алгоритме воспроизведения бага.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Вот пробуем тестовый билд - https://yadi.sk/d/8kjkwby5q9Yxh
Очень тщательно проверил тестовый билд. Теперь стало гораздо лучше, но не совсем, т.е.

Проверка на компьютере, с видеокартой "ATI Radeon HD":

Windows 7 + ATI Radeon HD + VMR-7 WL + VMR Mixer - не падает
Windows 7 + ATI Radeon HD + VMR-7 RL + VMR Mixer - не падает
Windows 7 + ATI Radeon HD + VMR-9 WL + VMR Mixer - не падает
Windows 7 + ATI Radeon HD + VMR-9 RL + VMR Mixer - не падает

Windows 7 + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows 7 + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает
Windows 7 + ATI Radeon HD + VMR-9 WL + VMR Mixer + VSFilter - не падает
Windows 7 + ATI Radeon HD + VMR-9 RL + VMR Mixer + VSFilter - не падает

Windows XP + ATI Radeon HD + VMR-7 WL + VMR Mixer - не падает
Windows XP + ATI Radeon HD + VMR-7 RL + VMR Mixer - не падает
Windows XP + ATI Radeon HD + VMR-9 WL + VMR Mixer - не падает
Windows XP + ATI Radeon HD + VMR-9 RL + VMR Mixer - не падает

Windows XP + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows XP + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает
Windows XP + ATI Radeon HD + VMR-9 WL + VMR Mixer + VSFilter - не падает
Windows XP + ATI Radeon HD + VMR-9 КL + VMR Mixer + VSFilter - не падает

Проверка на компьютере, с видеокартой "NVIDIA GeForce":

Windows 7 + NVIDIA GeForce + VMR-7 WL + VMR Mixer - не падает
Windows 7 + NVIDIA GeForce + VMR-7 RL + VMR Mixer - не падает
Windows 7 + NVIDIA GeForce + VMR-9 WL + VMR Mixer - не падает
Windows 7 + NVIDIA GeForce + VMR-9 RL + VMR Mixer - не падает

Windows 7 + NVIDIA GeForce + VMR-7 WL + VMR Mixer + VSFilter - не падает
Windows 7 + NVIDIA GeForce + VMR-7 RL + VMR Mixer + VSFilter - не падает
Windows 7 + NVIDIA GeForce + VMR-9 WL + VMR Mixer + VSFilter - не падает
Windows 7 + NVIDIA GeForce + VMR-9 КL + VMR Mixer + VSFilter - не падает

Windows XP + NVIDIA GeForce + VMR-7 WL + VMR Mixer - не падает
Windows XP + NVIDIA GeForce + VMR-7 RL + VMR Mixer - не падает
Windows XP + NVIDIA GeForce + VMR-9 WL + VMR Mixer - не падает
Windows XP + NVIDIA GeForce + VMR-9 RL + VMR Mixer - не падает

Windows XP + NVIDIA GeForce + VMR-7 WL + VMR Mixer + VSFilter - не падает
Windows XP + NVIDIA GeForce + VMR-7 RL + VMR Mixer + VSFilter - не падает
Windows XP + NVIDIA GeForce + VMR-9 WL + VMR Mixer + VSFilter - не падает
Windows XP + NVIDIA GeForce + VMR-9 КL + VMR Mixer + VSFilter - не падает

Что осталось сделать:

1. Теперь осталось исправить падение на видео рендерерах "VMR-7 WL" и "VMR-7 RL", при использовании "VSFilter", на видеокарте "ATI Radeon HD".

Windows 7 + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows 7 + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает

Windows XP + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows XP + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает

2. Также, в самом VSFilter нужно указать тип субтитров "Teletext", по аналогии с DVB-субтитрами.

3. На видеокарте "NVIDIA GeForce", при конфигурациях:

Windows XP + NVIDIA GeForce + VMR-9 WL + DXVA1 + VMR Mixer - не падает
Windows XP + NVIDIA GeForce + VMR-9 RL + DXVA1 + VMR Mixer - не падает

в режиме DXVA1, AR отличается, от софтового режима. По логике, они должны быть одинаковыми.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Windows 7 + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows 7 + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает

Windows XP + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - падает
Windows XP + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - падает
Гляну конечно ... но ничего не обещаю.

Windows XP + NVIDIA GeForce + VMR-9 WL + DXVA1 + VMR Mixer - не падает
Windows XP + NVIDIA GeForce + VMR-9 RL + DXVA1 + VMR Mixer - не падает

в режиме DXVA1, AR отличается, от софтового режима. По логике, они должны быть одинаковыми.

Это уже вопрос к рендереру - мы тут не управляем процессом.
[merge_posts_bbcode]Добавлено: 2016-03-14 16:37:47[/merge_posts_bbcode]

По поводу падения в связке с VSFilter - падает и так же с LAV Video Decoder, ругается на драйвера ATI.
Со внешним xy-VSFilter - картинка просто застывает в момент изменения соотношения сторон.

Так что тут уже 101% баг драйверов ATI - да здравствует индусский код :)

[merge_posts_bbcode]Добавлено: 2016-03-14 16:41:47[/merge_posts_bbcode]

И вот еще что - падение на связке ATI + VMR-7 RL/VMR-7 W + VMR Mixer + VSFilter у меня рандомное. Ради интереса прогнал раз 20 - из них 2 раза подряд упало а потом все ок, так же и с LAV Video ...

[merge_posts_bbcode]Добавлено: 2016-03-14 16:43:44[/merge_posts_bbcode]

По поводу:
Также, в самом VSFilter нужно указать тип субтитров "Teletext", по аналогии с DVB-субтитрами.

Тут ничего не поделать, не получиться в VSFilter "приделать" название "Teletext" - есть нюансы. Да и оно как-бы и не особо нужно - главное что в самом проигрывателе корректно отображается.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978По поводу падения в связке с VSFilter - падает и так же с LAV Video Decoder, ругается на драйвера ATI. Со внешним xy-VSFilter - картинка просто застывает в момент изменения соотношения сторон.

Так что тут уже 101% баг драйверов ATI - да здравствует индусский код :)

[merge_posts_bbcode]Добавлено: 2016-03-14 16:41:47[/merge_posts_bbcode]

И вот еще что - падение на связке ATI + VMR-7 RL/VMR-7 W + VMR Mixer + VSFilter у меня рандомное. Ради интереса прогнал раз 20 - из них 2 раза подряд упало а потом все ок, так же и с LAV Video ...
Понятно, ладно заливайте тогда изменения в SVN из вашего тестового билда.
Ну хотя бы что-то все же вы смогли улучшить, особенно на NVIDIA GeForce  и ATI Radeon HD без VSFilter :)
[merge_posts_bbcode]Добавлено: 2016-03-15 08:41:24[/merge_posts_bbcode]

Aleksoid1978

Я проверил работу этого видео файла в SVN r1265, при наличии использования VSFilter и скажу сразу, что больше нет падения, или зависания плеера в момент автоматической смены соотношения сторон ни при каких условиях.

Тестовые конфигурации:

Windows 7 + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - больше не падает
Windows 7 + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter -   больше не падает

Windows XP + ATI Radeon HD + VMR-7 WL + VMR Mixer + VSFilter - больше не падает
Windows XP + ATI Radeon HD + VMR-7 RL + VMR Mixer + VSFilter - больше не падает

В общем, теперь баг полностью исправлен. Грац! :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.