MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: Evgeniy1990 от 04 января 2016, 19:54:39

Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Evgeniy1990 от 04 января 2016, 19:54:39
При " 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-бит, условие я написал, оно всего одно для данного случая.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: V0lt от 04 января 2016, 21:28:34
Evgeniy1990
Хмм. В самом начале выбирается некорректный NV12, а после перехода на полный экран D3D происходит волшебный реконект и подключается правильный RGB32. Даже выбор AYUV не особо помогает, все равно вначале NV12 подключается.

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

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

MPC-BE 1077.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Evgeniy1990 от 04 января 2016, 21:55:59
Цитата: 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 в данном случае быть не может.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: V0lt от 04 января 2016, 23:31:19
Поищу H.264 Hi422P, посмотрю как с ним себя декодер ведет.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Aleksoid1978 от 05 января 2016, 04:20:49
Для начала нужен сэмпл такого файла.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Aleksoid1978 от 05 января 2016, 05:09:05
У меня вопрос - а что это за "нах" такой 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.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Evgeniy1990 от 05 января 2016, 05:39:52
Цитата: Aleksoid1978У меня вопрос - а что это за "нах" такой D3D FS -> reverse transition ?? :) Я лично первый раз такое слышу ...
Reverse transition - это обратный переход (реконнект) из D3D FS в оконный режим (D3D FS -> окно). :)
Это то, что вы называете "callback" (условно - возвращение назад, т.е. в первоначальный этап, или режим), я просто назвал по другому, по своему. Прошу прощение, что назвал не совсем корректно.
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: Aleksoid1978 от 05 января 2016, 06:39:31
Да уж - callback это СОВСЕМ не то что ты тут пишешь ...
Название: D3D FS - самовольное изменение вых. формата [Исправлено]
Отправлено: V0lt от 05 января 2016, 10:15:32
Цитата: Aleksoid1978Для начала нужен сэмпл такого файла.
Вот тут навалом - http://rutracker.org/forum/tracker.php?nm=Hi444PP

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