CoreAVC / x264 Fehler

  • Hi zusammen.

    Seit ca. 3 Wochen werden meine mit x264 erzeugten Videos nicht mehr richtig decodiert sobald der CoreAVC decoder im MPC aktiviert ist.
    Zu diesem Zeitpunkt hatte ich meine x264.exe durch eine aktuellere ersetzt ...

    Wie unschwer auf den angehängten Bildern zu sehen ist werden scheinbar die B-Frames nicht/falsch decodiert bzw. die Referenzen passen nicht mehr.
    Dies kreiert dann "verwischte und werwaschenen" Macroblöcke.

    Spielt man das Video mit dem VLC ab oder benutzt man den AVC decoder des ffmpeg-tryouts (aktuelle Version), sind keine Artefakte zu sehen.

    Als Quelle habe ich mal 400 Frames Huffyuv Video mal zusammen gepackt und one-22.mkv ist der encodete clip.

    Ich dachte erst es liegt an meinem Rechner bzw. an der Config. Aber ich habe es noch auf zwei weiteren - einen mit XP und einen mit Vista - probiert und jedesmal der selbe Effekt.

    Die Frage: Ist das ein CoreAVC Problem ? Aber, ältere Videos (älter als drei Wochen) die ich codierte, haben dieses Problem nicht.

    Oder sind die Settings des x264 falsch ?

    Code
    C:\Programme\x264\x264.exe --crf 23 --level 4.1 --b-adapt 2 --bframes 3 --ref 3 --partitions all --direct auto --weightb --me umh --merange 32 --subme 9 --mixed-refs --8x8dct --no-fast-pskip --no-dct-decimate --threads auto --output one-22.mkv open.avs

    ... oder gibt es mittlerweile standart Optionen im x264 die im CoreAVC decoder (ver. 1.9.5) nicht implementiert wurden.

    Die Sample files können hier runtergeladen werden:

    http://rapidshare.com/files/31935220…Fehler.zip.html

  • Na das macht doch Hofunung.

    ... Ich schätze mal das Core sich nicht darüber geäußert hat wann (ungefähr) das Update kommt ?!

    (Dieses Jahr nicht mehr, schon klar ...)

  • Außerdem kann ich bestätigen das es auf dem iPod/iPhone ebenfalls zu Problemen kommt wenn nicht "--weightp 0" gesetzt ist.

    Wie's mit der PS3/Xbox aussieht muß ich noch testen ...
    Die PS3 hat keine Probleme mit den gewichteten P-Frames

    Ich muß mich korrigieren. Die CoveAVC ver. 2.0 hat das Problem immer noch !

    3 Mal editiert, zuletzt von may24 (26. Dezember 2009 um 19:21)

  • Es sollte erwähnt werden, dass das Update auf CoreAVC 2.0 auch für CoreAVC 1.x Besitzer nicht kostenlos sein wird.

    Mit dem OpenSource Decoder von libavcodec (ffdshow, MPlayer, VLC, etc.) gibt es dagegen keine Probleme. Das selbe gilt auch für den kostenlosen H.264 Decoder von DivX.

    Der DiAVC Decoder (derzeit als Alpha verfügbar) ist auch durchaus einen Blick wert!

    In Punkto Geschwindigkeit hängt der DiAVC Decoder jedenfalls den DivX Decoder und CoreAVC (zumindest die v1.9.5) jetzt schon ab. Weight-P ist auch kein Problem ;)

    [EDIT]

    Zum Thema H.264 Decoder, die die Spezifikationen bezüglich Weighted P-Frames verletzen:
    http://x264dev.multimedia.cx/?p=212

  • Das Problem ist das ffdshow und DivX bei Live HD-Fernsehen nicht flüssig laufen bei mir.
    Da funktionieren nur der Cyberlink und der CoreAVC korrekt. Ich spiele alles mit den DVBViewer ab und will ja nicht ständig den Decoder ändern.
    Von dem DiAVC Decoder hab ich noch nie was gehört gleich mal runterladen und testen ober der auch für Fernsehen zu gebrauchen ist.

  • Das Problem ist das ffdshow und DivX bei Live HD-Fernsehen nicht flüssig laufen bei mir.

    FFdshow klappt bei mir. Zumindest mit dem, was man bisher in Deutschland über DVB-S1 empfangen kann (EinsFestival HD).

    Ich benutzte den DVBViewer Pro. Hast du bei FFdshow auch den H.264 Decoder auf "ffmpeg-MT" gestellt?

    Da funktionieren nur der Cyberlink und der CoreAVC korrekt. Ich spiele alles mit den DVBViewer ab und will ja nicht ständig den Decoder ändern.

    Hast du eine halbwegs aktuelle NVidia Grafikkarte? Dann kannst du in CoreAVC die CUDA Unterstützung (eigentlich ist die Bezeichnung irreführend, denn mit CUDA hat das eigentlich wenig zu tun) aktivieren, so dass der Decoder Chip auf der Grafikkarte die Dekodierung übernimmt. Der Hardware Decoder kommt mit Weighted P-Frames nämlich problemlos zurecht, sofern sowas im Rundfunk überhaupt auftritt...

  • Der DiAVC Decoder (derzeit als Alpha verfügbar) ist auch durchaus einen Blick wert!

    Leider erkennt in Avira als BDS/MonoBot.k - und VirusTotal erkennt mit 12/41 Antivirus-Engines eine mögliche Bedrohung. Da werde ich erst mal nicht einfach so drauf los testen.

  • Leider erkennt in Avira als BDS/MonoBot.k - und VirusTotal erkennt mit 12/41 Antivirus-Engines eine mögliche Bedrohung. Da werde ich erst mal nicht einfach so drauf los testen.

    Bei mir hat weder Antivir noch MSE irgendwas gemeldet. Und bei Doom9 hat sich auch noch niemand beschwert :grübeln:

    Sieht mir ziemlich nach FALSCHEM ALARM aus. Als Software Entwickler kennt man sowas ja leider zur genüge...

    [UPDATE]

    Hab es eben nochmal überprüft und jetzt gibt Antivir tatsächlich eine Warnung aus. Das war die Tage definitiv noch nicht der Fall!

    Interessant: Angeblich befallen ist die "DiAVCSetting.exe", nicht aber die "DiAVC.ax" (siehe Details). Erste Datei braucht man aber gar nicht, um den Filter zu registrieren.

    Einfach regsvr32.exe DiAVC.ax über die Eingabeaufforderung ausführen und gut ist ;)

  • Ich benutzte den DVBViewer Pro. Hast du bei FFdshow auch den H.264 Decoder auf "ffmpeg-MT" gestellt?

    Also bei die 720p Sendern wie ARTE HD läufts noch recht flüssig allerdings mit den 1080i Sendern wie Eurosport HD und Servus TV läufts nicht flüssig. Auf fmpeg-MT ist gestellt, kann sein das der Dualcore dafür zu langsam ist.


    Hast du eine halbwegs aktuelle NVidia Grafikkarte? Dann kannst du in CoreAVC die CUDA Unterstützung (eigentlich ist die Bezeichnung irreführend, denn mit CUDA hat das eigentlich wenig zu tun) aktivieren, so dass der Decoder Chip auf der Grafikkarte die Dekodierung übernimmt. Der Hardware Decoder kommt mit Weighted P-Frames nämlich problemlos zurecht, sofern sowas im Rundfunk überhaupt auftritt...

    Ich hab ne 8600GT in dem Rechner und CUDA ist auch an, beim Fernsehen macht das ja auch keine Probleme. Das Problem tritt ja nur bei mit x264 recodierten Dateien auf. Ich nutze zu Zeit den Cyberlink mit dem läuft eigentlich alles problemlos.


    Den DiAVC Decoder hab ich mal gestestet aber der funktioniert mit dem DVBSource vom DVBViewer überhaupt nicht. Da kommen nur bunte Blöcke. Also im Moment noch nicht für Fernsehen zu gebrauchen.

  • Ich hab ne 8600GT in dem Rechner und CUDA ist auch an, beim Fernsehen macht das ja auch keine Probleme. Das Problem tritt ja nur bei mit x264 recodierten Dateien auf. Ich nutze zu Zeit den Cyberlink mit dem läuft eigentlich alles problemlos.

    Der Hardware-Decoder von NVidia (aka "PureVideo") kommt definitiv mit den H.264 Streams von x264 zurecht, insbesondere mit aktivierter Weighted P-Prediction.

    Damit CoreAVC die Arbeit auf den Hardware-Decoder überträgt, muss man allerdings die irreführende Option "Prefer CUDA acceleration" aktivieren...

  • Scheint zu gehen, bis vor kurzem hatte ich eine ATI-Karte in dem Rechner und da gabs CUDA ja nicht und seit dem hatte ich nicht mehr getestet und eine ältere x264 verwendet.

  • Leider erkennt in Avira als BDS/MonoBot.k - und VirusTotal erkennt mit 12/41 Antivirus-Engines eine mögliche Bedrohung. Da werde ich erst mal nicht einfach so drauf los testen.

    :rolleyes:

  • Zu dem in Aussicht gestellten SuperResolution-Algorithmus für die mal fertige kommerzielle Version von DiAVC: scharfis_brain hatte mal so was mit AviSynth programmiert, um VCD- auf DVD-Auflösung hochzurechnen. Ein AVC-Decoder hätte natürlich den Vorteil, dass Motion-Vektoren schon bekannt sind.

    http://forum.gleitz.info/showthread.php?t=23060

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!