Автор Тема: DXVA пытается включиться на H.264 YUV 4:2:2 [Исправлено]  (Прочитано 1543 раз)

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

V0lt

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

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

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2524
Еще не смотрел - но наверняка там просто нет нужных данных в 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 /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

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

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

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2524
По поводу отсутствия 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 /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2083
Цитата: Aleksoid1978
По поводу отсутствия extradata - не надо включать программный, ну бред :)
Может не стоит все бредом называть?
Имхо, это легко и непринужденно решит вопросы с воспроизведением "непонятных" потоков.

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

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2524
Я немного доработаю патч, особенно что касается чтения данных на стороне 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 /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215