MPC-BE forum

MPC-BE => Обсуждение / Discussion => Тема начата: Evgeniy1990 от 04 апреля 2020, 13:46:22

Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Evgeniy1990 от 04 апреля 2020, 13:46:22
Описание ситуации:

Существует огромное количество "особых" интерлейсных видео файлов в формате "MPEG-2 PS/TS". Но, к сожалению, на видеокартах от AMD, в режиме аппаратного ускорения, они воспроизводятся некорректно. Понятно, что проблема на стороне драйверов, а не на стороне плеера или самого DXVA2-декодера. Именно поэтому, я и решил создать данную тему, в данном разделе, чтобы обсудить данный вопрос - возможно ли реализовать корректное воспроизведение, в режиме аппаратного ускорения, для данной "особой" группы видео файлов со стороны нашего кода проекта?

Уже понятно, что проблема не в DXVA2-декодере, а в видео-драйвере, поскольку при использовании внешних видео-декодеров: "LAV Video Decoder" и "Microsoft DTV-DVD Video Decoder", абсолютно аналогичная ситуация.

Найти видео-драйвер, на котором бы такие "особые" видео файлы воспроизводились бы корректно в режиме аппаратного ускорения - просто невозможно! Его просто не существует. Можно перебрать десятки, сотни различных версий драйверов, но смысла в этом никакого нет, поскольку это уже было сделано и проверено заранее.

Симптомы на любом видео декодере, в режиме аппаратного ускорения, строго одни и те же:

1. Половина кадров видео (видео разрезано пополам), верхняя часть - просто "черный экран".
2. Присутствует мерцание изображения
3. Присутствует гребенка, т.е. совершенно не работает аппаратный деинтерлейс.

В качестве примера, прилагаю известный всем видео файл (https://yadi.sk/i/VlY3KARHmJ3y_w).

Также прилагаю видеозапись некорректного воспроизведения (https://yadi.sk/i/cuQuJLqZDVpwgw).

По поводу данного видео файла: в свое время, при восстановлении корректной работоспособности DXVA1-декодера, был реализован и добавлен специальный код, благодаря которому, в режиме DXVA1, данный видео файл и ему подобные, стали воспроизводиться полностью корректно, даже с аппаратным деинтерлейсом.

Вот и хотелось узнать, возможно ли сделать нечто аналогичное, или подобное, только теперь уже для DXVA2-декодера? Или же для DXVA2-декодера сделать это не удастся?

Просто DXVA2-декодер работает строго по спекам, а это значит, что любое изменение с нашей стороны, т.е. со стороны кода нашего проекта, может нарушить его корректную работу, что естественно нехорошо и не хотелось бы такое получить в дальнейшем.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Aleksoid1978 от 04 апреля 2020, 13:52:21
Я знаю про что речь, про какие типы MPEG2 - у них каждый кадр состоит из 2-х интерлейс "полукадров", в отличии от большинства видео, в которых каждый кадр это и есть интерлейс "полукадр".

И тут НИЧЕГО не поделать. Я даже создавал тикет на AMD по данному факту кучу лет назад ...
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: V0lt от 04 апреля 2020, 14:07:12
Речь об этом?
Структура изображения                    : Framevs
Структура изображения                    : Field
Добавлено: 2020-04-04 14:07:12

PS: У меня играет нормально. Win7Sp1 x64, GTX 950, EVR-CP и MPC VR.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Aleksoid1978 от 04 апреля 2020, 14:10:43
Баг только на AMD.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Evgeniy1990 от 04 апреля 2020, 14:15:10
V0lt,
ЦитироватьPS: У меня играет нормально. Win7Sp1 x64, GTX 950, EVR-CP и MPC VR.
Проблема только на AMD-видеокартах!.

У меня на NVIDIA GTX 1050 Ti данный "особый" видео файл и ему подобные воспроизводятся также нормально, как и у вас.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: V0lt от 04 апреля 2020, 14:51:55
Evgeniy1990
Каких еще особых? "Структура изображения" по MediaInfo отличается или нет?
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Aleksoid1978 от 04 апреля 2020, 14:59:08
Да-да, речь про "Структура изображения", которые Field - на AMD декодируются с ошибками.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Evgeniy1990 от 04 апреля 2020, 15:09:57
V0lt,
ЦитироватьКаких еще особых? "Структура изображения" по MediaInfo отличается или нет?
Именно та структура изображения, которая Field. Вот именно эта структура некорректно работает в аппаратном режиме на видеокартах от AMD.

Те видео файлы, которые имеют структуру изображения - Frame, воспроизводятся корректно (нормально) на видеокартах от AMD.
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: V0lt от 04 апреля 2020, 15:38:38
Aleksoid1978,
Странно, что DXVA-декодер совсем не ругается. DXVA2_SampleFormat в него передается?
Название: Некорректная работа DXVA2-декодера на "особых" MPEG-2, только на AMD!
Отправлено: Aleksoid1978 от 05 апреля 2020, 07:40:59
Да с данными все ровно, косяк именно внутри AMD DXVA декодера.