Bars
DSS2 открывает на каждом компьютере используя DS-декодеры, установленные в системе, выбирая согласно приоритетам (merit-ам). Это может оказаться ffdShow, LAV или любой другой декодер. Поэтому перевернутая картинка - это индивидуально на одной конкретной системе так вышло. Переставить LAV или ffdShow с повышением приоритетов и это исправится. У меня DSS2 кадры открывает нормально, не перевернутыми.
AVISource не пробовал. Возможно в нем проблема, но скорее всего в самом AVI, VirtualDub ругается на него, мол отсутствуют первые два кадра. Вот Avisynth'у и снесло башку от нестандартного AVI. В нем еще и кадры-дубли закодированы по-честному (D - флаг пропуска кадра). Это значит, что кодировщик имел доступ к информации, что кадр пропущен, иначе бы закодировался кадр-близнец. А как такие D-кадры обрабатываются Avisynth'ом я не проверял. Возможно, для него D означает заполнить это пропуск кадром из будущего, а не из прошлого. Ну а иначе я просто не могу объяснить такую чехарду с кадрами.
интересует исключительно для тестовых целей
Вот я направление подсказал, если интересует, то можно дальше самостоятельно в этом направлении поизучать и поэкспериментировать. Я же сторонник подхода: не придумывать себе сложности.
И я не имел в виду включенные улучшалки именно в ffdShow. Просто до формата H.264 не сущестовало стандартизованного правила по декодированию и декодерам не ставилось условие попиксельного соответствия декодеру-референсу. Постобработка не являлась стандартом и обязательным условием. Поэтому в общем случае кадры полученные через AVISource, DirectShowSource и DSS2 дадут разные картинки с разной степенью постобработки. И не обязательно Вам об этом сообщат разработчики декодера или выведут настройку наружу.
Перевернутая картинка - это яркий пример нестандартизованного способа распаковки и постобработки кадра.
Но это все лирика и уже далека от темы замены выпавших кадров. Я так понял, что все получилось и все теперь устраивает?
Я рад.