MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Архив / Archive => Тема начата: V0lt от 12 марта 2017, 09:45:23

Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: V0lt от 12 марта 2017, 09:45:23
Есть MKV и MP4 (ссылка (https://yadi.sk/d/ojdOR-Ti3FaKTx)) с H.264 YUV 4:2:2, сделанные в VirtualDub FilterMod. Наш плеер пытается активировать DXVA, что естественно у него не получается и файлы не воспроизводятся.

В программном режиме играет хорошо. MPC-HC на таких файлах автоматически уходит в софт.
Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: Aleksoid1978 от 12 марта 2017, 10:42:01
Еще не смотрел - но наверняка там просто нет нужных данных в extradata, поэтому и нет возможности определить тип потока. MPC-HC - просто связка LAV Source+Video Decoder умеют друг с другом работать.

По факту тут ничего не сделать. Ну или при открытии в сплиттере парсить первые пакеты с видео, вытаскивать оттуда SPS/PPS Nalu и ложить в extradata, считаю это излишним ...
Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: V0lt от 12 марта 2017, 10:56:01
AVI файлы играют нормально.
Если MKV прогнать через mkvtoolnix, то появляется элемент CodecPrivate и играет так же хорошо.
[merge_posts_bbcode]Добавлено: 2017-03-12 10:56:01[/merge_posts_bbcode]

А может сделать наоборот?
Если у потока нет extradata, то пуст декодер включает программный режим.
Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: Aleksoid1978 от 12 марта 2017, 11:15:30
По поводу отсутствия extradata - не надо включать программный, ну бред :)
И так же по ее отсутствие в MKV/MP4 - вот накидал патч, по идее хуже не будет т.к. делается проверка только если extradata пустая, читаем первый фрейм и если удачно парсим - то вставляем нормальный MediaType.

вот патч - https://yadi.sk/d/4VPVGbr13FaaZu
Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: V0lt от 12 марта 2017, 11:35:12
Цитата: Aleksoid1978По поводу отсутствия extradata - не надо включать программный, ну бред :)
Может не стоит все бредом называть?
Имхо, это легко и непринужденно решит вопросы с воспроизведением "непонятных" потоков.

Цитироватьвот патч - https://yadi.sk/d/4VPVGbr13FaaZu
Патч работает.
Название: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]
Отправлено: Aleksoid1978 от 12 марта 2017, 15:25:22
Я немного доработаю патч, особенно что касается чтения данных на стороне Matroska - и залью ...
[merge_posts_bbcode]Добавлено: 2017-03-12 22:25:22[/merge_posts_bbcode]

Все - залил.