D3D FS - самовольное изменение вых. формата [Исправлено]

Автор Evgeniy1990, 04 января 2016, 19:54:39

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

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

Evgeniy1990

При " D3D FS -> reverse transition", видео декодер самовольно, без ведома пользователя изменяет выходной формат.
Такое действие противоречит логике, поскольку тут одно из двух: либо при открытии выдавай верный выходной формат и все прочие данные, либо после "D3D FS -> reverse transition" не меняй выходной формат.

Но, лично я думаю, что при открытии видео декодер выдает немного не тот выходной формат.
Может быть я ошибаюсь, но если взять и сравнить с LAV Video Decoder, то он при открытии выдает верный выходной формат и прочие данные и как следствие, при "D3D FS -> reverse transition" сохраняет выходной формат, т.е. не меняет его.

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

Условие: видео файлы с профилем формата: "High 4:4:4 Predictive@L5" и битностью: 10-bit.

1. Включить опцию "Полноэкранный D3D"
2. Открыть видео файл
3. Выполнить "Direct access" (окно -> D3D)
4. Открыть статистику EVR-CP (Ctrl+J)
5. Не закрывая статистику рендерера, выполнить  "D3D FS -> reverse transition" и посмотреть на статистику:
(Input Type:/Mixer output:/Type:)

Фактический результат: было везде NV12, стало RGB32
Ожидаемый результат: один из двух:

1. При открытии должен быть RGB32, при "D3D FS -> reverse transition" тоже RGB32
2. Было везде NV12, должно везде остаться NV12

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

P.S. Я думаю что первый, поскольку в LAV Video Decoder, в отличие от нашего MPC Video Decoder, при открытии сразу подается RGB32, а не NV12.

Только не путайте 8-бит и 10-бит, условие я написал, оно всего одно для данного случая.
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
Хмм. В самом начале выбирается некорректный NV12, а после перехода на полный экран D3D происходит волшебный реконект и подключается правильный RGB32. Даже выбор AYUV не особо помогает, все равно вначале NV12 подключается.

Если не использовать D3DFS, то всегда NV12. Походу поломался реконект до корректного формата.

Что интересно, YUV 4:2:2 8-бит сразу переключается на YUY2.

MPC-BE 1077.

Evgeniy1990

Цитата: V0ltEvgeniy1990
Хмм. В самом начале выбирается некорректный NV12, а после перехода на полный экран D3D происходит волшебный реконект и подключается правильный RGB32. Даже выбор AYUV не особо помогает, все равно вначале NV12 подключается.

Если не использовать D3DFS, то всегда NV12. Походу поломался реконект до корректного формата.

Что интересно, YUV 4:2:2 8-бит сразу переключается на YUY2.

MPC-BE 1077.
Вот-вот. Вы все верно говорите. Совершенно верно, по логике должен подключаться именно RGB32, но вместо него подключается NV12, причем при обратном переходе из D3D FS в оконный режим происходит чудо, как вы и сказали - волшебный реконнект и подключается уже правильный RGB32.

Следовательно, отсюда делаем вывод: ожидаемый результат: при открытии 10-битных видео файлов, с профилем формата High 4:4:4 Predictive@L5 должен подключаться выходной формат RGB32. Никакого 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.

V0lt

Поищу H.264 Hi422P, посмотрю как с ним себя декодер ведет.

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

Aleksoid1978

У меня вопрос - а что это за "нах" такой D3D FS -> reverse transition ?? :) Я лично первый раз такое слышу ...
[merge_posts_bbcode]Добавлено: 2016-01-05 11:36:27[/merge_posts_bbcode]

Так - сэмплы нашел, проблема именно с H264 форматом, открыт Apple ProRes 10bit 444 - все ок, на выходе RGB32. Посмотрю.

[merge_posts_bbcode]Добавлено: 2016-01-05 12:09:05[/merge_posts_bbcode]

Исправлено в 1081.
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У меня вопрос - а что это за "нах" такой D3D FS -> reverse transition ?? :) Я лично первый раз такое слышу ...
Reverse transition - это обратный переход (реконнект) из D3D FS в оконный режим (D3D FS -> окно). :)
Это то, что вы называете "callback" (условно - возвращение назад, т.е. в первоначальный этап, или режим), я просто назвал по другому, по своему. Прошу прощение, что назвал не совсем корректно.
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

Да уж - callback это СОВСЕМ не то что ты тут пишешь ...
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Для начала нужен сэмпл такого файла.
Вот тут навалом - http://rutracker.org/forum/tracker.php?nm=Hi444PP

ЦитироватьИсправлено в 1081.
Спасибо. Работает.