Все настройки MPC-BE.1.5.3.4322.x64 по умолчанию.
При включении опции "Запоминать позицию в файле",
когда воспроизведение 444PP начинается не с первого кадра видео,
вместо видео отображаются полосы, квадраты и шум.
Если воспроизведение 444PP начинается с самого начала видео, всё норм.
Да, с LAVFilters-0.73.1-x64 то же самое.
В предыдущих версиях MPC-BE то же самое.
И огромная благодарность авторам за MPC-BE.
a2c5, дай ссылку на проблемный файл.
Цитата: V0lta2c5, дай ссылку на проблемный файл.
Баг подтверждаю! Проявляется абсолютно на любых видео файлах с 4:4:4 Predictive (High 4:4:4 Profile).
V0lt, для вас ссылка на видео файл:
https://yadi.sk/i/aUOjNpZcLwPv-AИ
скриншот для наглядности. :)
V0lt, вряд ли дело в файле.
MPC-BE.1.4.5.787 воспроизводит x264 444PP хорошо (и с LAVFilters неизвестной версии).
MPC-BE.1.5.0.2235 тоже норм (и со старыми LAVFilters-0.69).
Но более свежие, как MPC-BE.1.5.2, сыпят кадр и с LAVFilters и без (и уже не работают со старыми LAVFilters-0.69).
Ща начну 1,08 ГБ файл 2014 года заливать куда-нибудь, ссылка будет позже.
А, ссылка уже есть. Спасибо, Evgeniy1990.
Я тоже поймал баг.
Вот еще небольшая раздача для проверки.
Спойлер
https://rutracker.org/forum/viewtopic.php?t=5133997
Добавлено: 2019-01-15 19:51:02Проверил с LAV v0.73.1. От смены сплиттера и декодера не зависит.
V0lt, спасибочки! Уже предвкушаю...))
Это файлы закодированные старой версией энкодера, он делал не по спекам. В начале самого потока прописана версия кодировщика. ffmpeg сейчас декодирует по спекам. И что бы старые файлы были норм - декодер смотрит версию энкодера, которая в начале потока храниться. Поэтому если открыть то норм, а если не с начала - то нет картинки правильной.
Aleksoid1978, мда... ничего не поделаешь.
Ну, будем включать старые 444PP с первого кадра, а новые будут без проблем.
Благодарю за разъяснение. С наилучшими пожеланиями.
Aleksoid1978
А поиск почему нормальный?
Я специально отключил быстрый поиск и все равно перематывает хорошо. А с запоминанием вот такая ерунда.
Ну так версия x264 енкодера при открытии сначала считалась и запомнилась. А если с запоминанием - то эти данные просто не читаются, ибо они хранятся(обычно) считай в пером кадре.
Другие проигрыватели открывают старые 444PP без проблем
и, что интереснее, вообще без задержки.)
Да закройте вы уже эту тему- к чему все это, какие то тесты и т.д.
Итого.
Если видео Hi444PP закодировано x264 с версией core меньше 151 (до r2851 ?), то оно будет иметь указанную проблему на декодерах, основанных на FFmpeg.
Версию x264 core можно посмотреть в отчете MediaInfo в поле "Библиотека кодирования" ("Writing library").
Учёт версии x264 core в FFmpeg:
/* It would be better to do this in fill_decode_caches, but we don\'t know
* the transform mode of the current macroblock there. */
if (CHROMA444(h) && IS_8x8DCT(mb_type)){
int i;
uint8_t *nnz_cache = sl->non_zero_count_cache;
if (h->x264_build < 151U) {
Если у такого файла отрезано начало, то артефакты будут с самого начала.
Пример: https://yadi.sk/d/iA7rgDHeS5WMt
VLC анализирует заголовок как-то иначе и играет без артефактов.
Все, что находиться на Рутрекере по запросу "Hi444PP" закодировано x264 core 142 или старее. :(
VLC(3.0.7 и 3.0.8) так же играет с артефактами. Если старые версии и играли нормально - значит там использовалась старая версия ffmpeg.
Файлы из сообщений или вот этот (https://yadi.sk/d/KKfFu3zaF5q74). Открываю с начала, но после ручной перемотки картика пропадает и появляются артефакты.
Совсем недавно в бета-релизе 1.5.5 (build 5274) встроенный декодер декодировал этот файл нормально.
В MPC-HC 1.9.4 и LAV Video Decoder тоже все хорошо.
Версия x264 там похоже старая, но проблема новая.
Что-то на стороне ffmpeg изменилось.
Исправил - спасибо автору LAV :)