DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]

Автор V0lt, 12 марта 2017, 09:45:23

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

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

V0lt

Есть MKV и MP4 (ссылка) с H.264 YUV 4:2:2, сделанные в VirtualDub FilterMod. Наш плеер пытается активировать DXVA, что естественно у него не получается и файлы не воспроизводятся.

В программном режиме играет хорошо. MPC-HC на таких файлах автоматически уходит в софт.

Aleksoid1978

Еще не смотрел - но наверняка там просто нет нужных данных в extradata, поэтому и нет возможности определить тип потока. MPC-HC - просто связка LAV Source+Video Decoder умеют друг с другом работать.

По факту тут ничего не сделать. Ну или при открытии в сплиттере парсить первые пакеты с видео, вытаскивать оттуда SPS/PPS Nalu и ложить в extradata, считаю это излишним ...
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

AVI файлы играют нормально.
Если MKV прогнать через mkvtoolnix, то появляется элемент CodecPrivate и играет так же хорошо.
[merge_posts_bbcode]Добавлено: 2017-03-12 10:56:01[/merge_posts_bbcode]

А может сделать наоборот?
Если у потока нет extradata, то пуст декодер включает программный режим.

Aleksoid1978

По поводу отсутствия extradata - не надо включать программный, ну бред :)
И так же по ее отсутствие в MKV/MP4 - вот накидал патч, по идее хуже не будет т.к. делается проверка только если extradata пустая, читаем первый фрейм и если удачно парсим - то вставляем нормальный MediaType.

вот патч - https://yadi.sk/d/4VPVGbr13FaaZu
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По поводу отсутствия extradata - не надо включать программный, ну бред :)
Может не стоит все бредом называть?
Имхо, это легко и непринужденно решит вопросы с воспроизведением "непонятных" потоков.

Цитироватьвот патч - https://yadi.sk/d/4VPVGbr13FaaZu
Патч работает.

Aleksoid1978

Я немного доработаю патч, особенно что касается чтения данных на стороне Matroska - и залью ...
[merge_posts_bbcode]Добавлено: 2017-03-12 22:25:22[/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