"Зеленое" изображение и обрыв видео-рендерера [Исправлено]

Автор Evgeniy1990, 09 июня 2016, 14:42:13

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

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

Evgeniy1990

Тема: "Зеленое изображение".

Краткое описание проблемы:

После открытия этого видео файла: https://yadi.sk/i/eOD5XIoJsNap6 присутствует "зеленое" изображение.
В последнем "ffplay.exe"  этот видео файл воспроизволится с нормальным изображением без "зеленого прямоугольника".

Скриншоты:

Первый скриншот - "ffplay.exe": https://yadi.sk/i/wnrrP7pHsNavu
Второй скриншот - "MPC Video Decoder": https://yadi.sk/i/iBjawMRisNaxT

P.S. Есть предположение, что "зеленое" изображение - это баг драйверов для видеокарт "ATI/AMD Radeon".
Присутствует только на выходном формате "NV12".

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Тема: "Обрыв видео-рендерера".

Краткое описание проблемы:

Если во время воспроизведения данного видео файла отключить выходной формат "NV12", то после автоматического переключения на другой выходной формат, произойдет обрыв графа фильтров, т.е. самого используемого видео-рендерера.

Третий скриншот - обрыв видео-рендерера: https://yadi.sk/i/S8hp7gLJsNb6B

Алгоритм воспроизведения:

1. Скачать и запустить этот видео файл: https://yadi.sk/i/eOD5XIoJsNap6
2. Во время его воспроизведения, открыть свойства встроенного "MPC Video Decoder" и отключить выходной формат "NV12"
3. После чего, применить изменения

Фактический результат: после отключения выходного формата "NV12" и применения данного изменения, произойдет обрыв графа фильтров, особенно текущего используемого видео-рендерера.
Ожидаемый результат: после отключения выходного формата "NV12", должно было нормально выполниться автоматическое переключение на следующий выходной формат.
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

У меня на NV12 бага нет - http://i.imgur.com/dx8moCS.png так что тут вероятнее всего что-то драйверу не нравиться. Возможно то что высота на самом деле 181 а не 240(как в заголовке файла).

То что не переключаются форматы "на лету" - похоже тоже из-за этого.
[merge_posts_bbcode]Добавлено: 2016-06-10 09:48:48[/merge_posts_bbcode]

Да - при изменении настроек видео-рендерер просто не может пере-подключиться.

[merge_posts_bbcode]Добавлено: 2016-06-10 10:40:30[/merge_posts_bbcode]

Но, вот пробуем тестовый билд - https://yadi.sk/d/BjELESFPsPXJG
На нем нормально должно работать изменение настроек.

Так же на нем проверить различные файлы со всевозможными форматами видео/разрешения/соотношения сторон(и особенно при изменении настроек), т.к. я немного поменял логику построения списка выходных форматов.
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/BjELESFPsPXJG
"Ничего не найдено".
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.

V0lt

Цитата: Aleksoid1978т.к. я немного поменял логику построения списка выходных форматов.
Как это поменял!? Этот список годами дорабатывался, все там на своем месте было!

V0lt

Цитата: V0lt
Цитата: Aleksoid1978т.к. я немного поменял логику построения списка выходных форматов.
Как это поменял!? Этот список годами дорабатывался, там все на своем месте!

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/sZLvM7E6sPZKZ
Начал проверять ваш тестовый билд. Переключение выходных форматов на лету работает нормально, за исключением некоторых случаев, в том числе и специфических, которые необходимо доработать и исправить.

Итак, пока обнаружил два случая, при которых воспроизведение видео файлов работает некорректно, при условии переключения выходных форматов "на лету", во время их воспроизведения.

Случай №1: "RAW Video", содержащие "RAW-данные".

Ссылка на видео файл: https://yadi.sk/d/MhMK4yJosPrnf

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

Случай №2: Видео файлы, содержащие различные специфические ситуации, например "FLV".

Ссылка на видео файл: https://yadi.sk/i/cqyWdL6LsPrkU

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

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

Цитата: Evgeniy1990Итак, пока обнаружил два случая, при которых воспроизведение видео файлов работает некорректно, при условии переключения выходных форматов "на лету", во время их воспроизведения.

Случай №1: "RAW Video", содержащие "RAW-данные".

Ссылка на видео файл: https://yadi.sk/d/MhMK4yJosPrnf

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

Случай №2: Видео файлы, содержащие различные специфические ситуации, например "FLV".

Ссылка на видео файл: https://yadi.sk/i/cqyWdL6LsPrkU

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

P.S. Учитывая тот факт, что при переключении выходных форматов на лету, могут присутствовать различные ситуации, необходимо очень внимательно и более тщательно перепроверить каждый формат видео файла.
Это тоже, разумеется, неправильно и некорректно. Продолжаю проверку...

Это никакая не проблема. Дело в том что при изменении настроек - происходит реконнект графа, а при этом происходит что - остановка, реконнект, запуска графа. Для этого делается перемотка в остановленное место. На RAW данных перемотка конечно же не работает.

Что там с тем FLV - посмотрим. Но по идее тоже самое что и при обычной перемотке.
[merge_posts_bbcode]Добавлено: 2016-06-11 11:24:27[/merge_posts_bbcode]

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

[merge_posts_bbcode]Добавлено: 2016-06-11 15:22:48[/merge_posts_bbcode]

Ситуацию с flv я исправлю.
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

V0lt

Aleksoid1978
Вроде как правил FLVSplitter, а задело все сплиттеры разом. А нельзя было просто переопределить метод и не трогать базовый?

Уже не в первый раз из-за одного файла меняется логика всех сплиттеров. Это неправильно.

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/i/RSxBHhLFsRS4x
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.

V0lt

H263_NM_f.mp4
Зелени нет, картинка на EVR-custom не исчезает при переключении, статистика перестает обновляться, но для этого кривого статического видео без разницы (никто и не заметит :p).

Obscure_320x240.mpg
Нормально переключается NV12->YV12->YUY2. Но переключение на RGB32 картинка "зацикливается", при переключении обратно на NV12, YV12, YUY2 - нормальное воспроизведение.

MPC-BE 1579 x64, EVR-custom.

Evgeniy1990

Цитата: V0ltH263_NM_f.mp4
Зелени нет, картинка на EVR-custom не исчезает при переключении, статистика перестает обновляться, но для этого кривого статического видео без разницы (никто и не заметит :p).

Obscure_320x240.mpg
Нормально переключается NV12->YV12->YUY2. Но переключение на RGB32 картинка "зацикливается", при переключении обратно на NV12, YV12, YUY2 - нормальное воспроизведение.

MPC-BE 1579 x64, EVR-custom.
V0lt, я проверяю тестовый билд от Aleksoid\'a, под номером 1581 - в нем есть проблемы с некоторыми, а точнее со многими MPEG-1-видео файлами, при переключении выходных форматов на лету во время воспроизведения, я выложил один из таких проблемных примеров.

В SVN, разумеется, такой проблемы с некоторыми MPEG-1-видео файлами естественно нет.
Проблема (баг) только в его тестовом билде.

По поводу зелени - присутствует только на ATI/AMD-видеокартах, на последних драйверах "Catalyst" ну и еще и на новых под названием "Crimson".

У Aleksoid\'a была сначала AMD Radeon HD7750, но потом он поменял ее на "R200", да еще и на "Windows 10"... Мда...
Исходя из этого, я сделал для себя вывод, что зелень, разумеется, присутствует только на системах, ниже Windows 10.

А все потому, что для новых радеонов R-серии требуются эти новые "Crimson". Я проверил "Crimson" и зелень у меня при них также осталась. Вот вам, пожалуйста, абсолютно точный и очевидный вывод.
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.

V0lt

Цитата: Evgeniy1990В SVN, разумеется, такой проблемы с некоторыми MPEG-1-видео файлами естественно нет.
Есть. После r1580 при смене формата воспроизведение Obscure_320x240.mpg останавливается.
А дерготня при переходе на RGB32 похоже что-то более раннее.

Evgeniy1990

Цитата: V0ltЕсть. После r1580 при смене формата воспроизведение Obscure_320x240.mpg останавливается.
А дерготня при переходе на RGB32 похоже что-то более раннее.
Ясно, это текущий баг-поломка, который идет после SVN r1580.
Я просто проверял SVN-билд под номером r1577, а в нем все нормально переключает.
[merge_posts_bbcode]Добавлено: 2016-06-11 19:54:30[/merge_posts_bbcode]

V0lt, у меня есть один видео файл, на котором есть дерготня при переключении вообще на любой формат и даже присутствует небольшой ступор в виде обыкновенной задержки.
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.