Hallo Community,
ich habe bei einem nach DivX umgewandelten MPEG2-Material und der Wiedergabe mit dem ffdshow-Filter einen unschönen Effekt entdeckt, den ich bei der Wiedergabe mit dem Original-DivX-Codec nicht feststellen konnte. Auch beim Öffnen in VDub wird bei den entsprechenden Stellen kein fehlerhaftes Bild angezeigt.
Das Ganze spielt sich zwischen 2 Keyframes ab und wird je näher die Zeitmarke zum "abschließenden" Keyframe geht, immer schlimmer. Es bilden sich im Bild Rechtecke, die hell gestreift sind.
Anbei ein auf 200% vergrößerter Screenshot:
[Blockierte Grafik: http://img246.imageshack.us/img246/5107/test2wr.jpg]
und die mit einem Grafikprogramm nochmals verstärkten Kanten:
[Blockierte Grafik: http://img483.imageshack.us/img483/4451/te…iededges6gj.jpg]
An 5-6 anderen Stellen des umgewandelten Materials tritt dieser Effekt ebenfalls auf.
Anbei zur Analyse die "Szene", deren Schlussfram Ihr oben seht zum Download:
http://rapidshare.de/files/7299964/test.avi.html
und die u.U. benötigte vcf-Datei aus VDub, um die Kompressoreinstellungen transparent zu machen:
Leider habe ich die exakten Kompressoreinstellungen von damals nicht mehr, ich mutmaße aber, dass ich es mit DivX 5.2.0 Pro und keinen Sondereinstellungen umgewandelt habe.
-----------------------------------------------------------------------
VirtualDub.RemoveInputStreams();
VirtualDub.stream[0].SetSource(0x73647561,0);
VirtualDub.stream[0].SetMode(0);
VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
VirtualDub.stream[0].SetClipMode(1,1);
VirtualDub.stream[0].SetConversion(0,0,0,0,0);
VirtualDub.stream[0].SetVolume();
VirtualDub.stream[0].SetCompression();
VirtualDub.stream[0].EnableFilterGraph(0);
VirtualDub.stream[0].filters.Clear();
VirtualDub.video.AddComment(0x00000002,"ISFT","MPGConvert\xc2\xb2 2.01");
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetRange(0,0);
VirtualDub.video.SetCompression(0x78766964,0,10000,0);
VirtualDub.video.SetCompData(512,"zAEAAAAAAAACAAAA4OYLAAAAgEABAAAAAAAAAAAAAAAAAAAAAAAAACwBAAAyAAAAIBFqAAAAMAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAmpmZmZmZyT+amZmZmZnJPwAAAAAAAAAAAAAAAIACAADgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAZAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAGM6XGRpdngubG9nAGM6XHRlc3QuZGl2eABjOlxtdmluZm8uYmluAGM6XG5ld3JjLnR4dAA=");
VirtualDub.video.filters.Clear();
VirtualDub.subset.Delete();
-----------------------------------------------------------------------
Der Effekt konnte auf anderen Rechnern mit ffdshow nachvollzogen werden. Im ffdshow sind für diese Tests keine besonderen Optionen/Nachbearbeitungen aktiviert gewesen. Der Effekt trat sowohl mit einer Originalversion von ffdshow (12.10.2004) als auch mit den "CVS builds by celtic_druid" (03.11.2005) auf.
Ich hoffe, dass ich alle relevanten Daten für eine Fehleranalyse geliefert habe und Ihr mir einen Tipp geben könnt.
Vielen Dank im Vorab für Eure Bemühungen.