Der x265-Encoder entwickelt sich...

  • Nächster Meilenstein deklariert:


    Aus diesem Anlass:

    x265 1.7+2-d7b100e51e82

    Hinweis: Beginnend mit v1.7 sind jetzt andere Dateinamen enthalten, um sich leichter dem neuen Multi-library Interface anzupassen.

  • AQ-Mode 3 ist wohl noch nicht drin; dafür funktioniert jetzt aber auch die Identifizierung der CPU-Features richtig (d.h. -D 10 -V warnt in 32-bit-Builds vor der "noasm"-Option), wenn eine alternative Encoder-Bibliothek verwendet wird, sowohl in einer Multilib-EXE als auch in einer 8-bit-EXE mit 10-bit-DLL).

    Und da die Frage aufkam, ob Multilib auch XP-kompatibel sei ... nun ja, ich habe meine 32-bit-Versionen mit aktivierter XP-Kompatibilität compiliert. Ob es auch funktioniert, weiß ich nicht, ich habe kein XP mehr...

    Dafür habe ich jetzt noch zusätzlich eine aktuelle MSYS-Umgebung von XhmikosR mit GCC 4.9.2 installiert; wahrscheinlich steige ich dann um. Bis dahin erst mal zwei parallele Builds mit der aktuellen "merge with stable"-Revision:

    x265 1.7+266-68d089360477 (GCC 4.8.2)
    x265 1.7+266-68d089360477 (GCC 4.9.2)

  • Ein 12-bit-Build scheint compilierbar zu sein, das werde ich mal testen. Allerdings ist davon auszugehen, dass die Assembler-Unterstützung hier noch minimal ist... oder um es mit den Worten von Rudolf Scharping (bzw. Ingo Appelt) zu sagen: "Laaaaangsaaaaam."

  • 12bit :cool: wooohooo ...
    Welche Parameter muß ich übergeben um das zu aktivieren ? (wird auf Debian mit cmake und cross-compiler gebaut ...)

  • may24: kleine Warnung bzgl. 12bit HEVC: Es wird aktuell von keinem Decoder unterstützt, sprich man müsste x265 sagen, dass es y4m als Output liefert und dieses dann vergleichen.

    -----

    Mal am Rande, weiß jemand genaueres wie '--master-display <string>' und '--max-cll <string>' zu nutzen sind?

  • Der wichtigste Fehler war, dass mehrere zu linkende Bibliotheken durch Semikola getrennt werden müssen, nicht durch Leerzeichen:
    -DEXTRA_LIB="x265_main10.a;x265_main12.a"
    Bei den anderen Compilerumgebungen (außer MSYS) war das wohl korrekt.

    Egal ... es ändert sich schon wieder was im Multilib-Skript. Mittlerweile soll es auch schon möglich sein, eine Multilib-DLL zu erstellen (das scheint zu funktionieren), und außerdem ein All-In-One-Binary, also eine Multilib-CLI-EXE, die auch noch die Funktionen wie eine DLL exportiert (so könnten andere Programme die EXE einbinden, als ob sie aus einer DLL die Funktionen dynamisch laden; das jedoch scheint bei mir mit v1.7+298 noch nicht zu klappen, MS PEScanner jedenfalls erkennt in der EXE kein Export-Kapitel).

  • Anscheinend wurde die Liste mit zu exportierenden Funktionen (x265.def) nur in die EXE übernommen, wenn der MSVC verwendet wird. Der GCC kann das aber auch. Daher präsentiere ich – nach einer kleinen Anpassung in der Vorlage für die CMakeLists.txt – die ersten "All-In-One" x265.exe v1.7+298, die man auch wie eine DLL linken könnte (theoretisch, noch nicht getestet):

    x265 1.7+298-523540864864 AIO (GCC 4.8.2)
    x265 1.7+298-523540864864 AIO (GCC 4.9.2)

  • Mit dem 12-bit-Code geht es ein wenig voran... aus der Entwickler-Mailingliste:

    Für mich heißt das also: Egal ob bisher kein Decoder das korrekt wiedergeben kann, x265 kann HEVC im Main12-Profile bisher noch nicht einmal völlig korrekt erzeugen. Aber in ein paar Wochen (mehr oder weniger) kann das schon besser aussehen; wenn auch noch in langsamem C-Code.

  • Der Fehler mit dem nicht ganz vollständigen full-help sollte korrigiert worden sein, hoffentlich auch die (vermutlich durch die gleiche Ursache: versehentlich doppelt zurückgesetzte Parameter in Langform) ignorierten Zonen. Und wenn ich Patch 8f60362f8555 richtig deute, dann sollte auch Assembler-Unterstützung für das Main12-Profil bis SSSE3 bereits teilweise verfügbar sein. Ein neues Release spare ich mir aber bis Ende dieser oder Anfang nächster Woche...

  • Und wenn ich Patch 8f60362f8555 richtig deute, dann sollte auch Assembler-Unterstützung für das Main12-Profil bis SSSE3 bereits teilweise verfügbar sein.


    Welcher Vorteil ergibt sich denn durch Main12 jetzt z.B. gegenüber Main10?

  • Es gibt von Seiten der Entwickler die klare Ansage, dass Main12 eigentlich nur nützt, denn man HDR-Material als Original hat; wenn die Basis nur 8-bit RGB oder 8-bit YUV ist, dann bringt Main12 gegenüber dem Vergleich zwischen Main und Main10 keine merklichen Vorteile mehr, die Effizienz wird geringer sein.

  • Weil es heir am Besten hineinpasst:

    HEVC Lizenzpreise sind raus: http://hevcadvance.com/pdf/RoyaltyRatesSummary.pdf

    Besonders springt einem da ins Auge:
    a. die Preise sind einiges angestiegen im Vergleich zu AVC (siehe: http://www.mpegla.com/main/programs/avc/Documents/avcweb.pdf)
    b. es gibt keine Freigrenze (bei AVC waren die ersten 100k units pro Jahr frei,..)
    -> mal schauen was das noch gibt.

    So wie ich das momentan sehe müsste theoretisch jeder der einen Software HEVC Decoder oder Encoder zur Verfügung stellt 1.1€ pro Download zahlen.
    Falls die (hoffentlich) ist es die schlechte Presse nicht Wert und man wird kleinen Hobby-Toolentwicklern und Leuten die z.B. x265 zum Download anbieten da nicht aufs Dach steigen.
    (ansonsten wird der HEVC Support in freien Tools wohl stark einbrechen)

Jetzt mitmachen!

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