x264 - OpenSource AVC/H.264 Video Codec

  • Danke für den Hinweis, werde in Zukunft so posten:

    Downloadmöglichkeiten
    :

    • x264.nl "nackte" SVN Builds (etwas mehr getestet sind, und nicht ganz so experimentell)
    • ChronoCross aktuelle, gepatchte Builds

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • r487: compilation fix for mingw, darwin (off_t was undefined)
    r488: use LDFLAGS when linking shared lib

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • ChronoChross hat folgende Version im Angebot: x264_v488_fprofiled

    Was ist das für eine Version? fprofiled hat wohl etwas mit einem optimierten GCC profiling zu tun und soll die Encodergeschwindigkeit erhöhen - aber wie geht das und vor allem bringt das wohl was auf meinem AMD64 3500+? Weis das jemand? :)

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat


    Profiling

    Profiled-directed optimizations can produce pretty noticeable performance improvements, at the cost of increased compilation time. They work in three phases:

    • Profile code generation. Using the -fprofile-generate flag, the compiler inserts instrumentation code in the program that collects statistics at runtime about execution frequencies over the different code paths.
    • Training run. Once instrumented, the user program is executed and profile information is saved to a file. This file describes where the program spent most of its execution time.
    • Feedback optimization. Using -fprofile-use, the user program is compiled a second time. The profile information saved in the previous step is used to guide the optimizers. Currently, there are several optimizers that will use profile information, including value profiling, branch prediction, loop unrolling/peeling, and tail duplication.

    Profile-driven optimizations are very powerful because the optimizers can work with pretty detailed and accurate cost models based on the exact behavior of your program. The obvious disadvantage of this scheme is that the compilation cycle is substantially more expensive. Not only will you need to compile your application twice, you also need to run it with training data. This training data should represent the common case that your program will handle in general.
    In some cases, using profile-driven optimizations may be either unfeasible or too inconvenient, but if you need the utmost performance and your code behaves uniformly on most inputs, -fprofile-generate and -fprofile-use may be a significant win [1].

    Quelle: http://www.redhat.com/magazine/011sep05/features/gcc/

    => wird erst compiliert, dannmuß man es ein paar mal mit Testdaten laufen lassen, sammelt dabei Daten und optimiert den build bei einem 2ten Compiliervorgang. Bringt natürlich nur was wenn der Lauf mit den Testdaten durchgeführt wird.

    Cu Selur

  • Update

    Es fällt auf das in den letzten rev's an der geschwindigkeit von x264 gefeilt wurde. :)

    r489: Added support for ppc64. I'm really fucking tired of having to do this.
    r490: interleave multiple calls to SAD. 15% faster fullpel motion estimation.
    r491: more interleaved SAD. 1% faster umh, 6% faster esa.
    r492: more interleaved SAD. 25% faster halfpel.
    r493: yasm noexec stack
    r494: fix a yasm-incompatible syntax in x86 asm
    r495: store quoted configure options. needed e.g. for multiple args under --extra-cflags.
    r496: cosmetics in sad/ssd/satd mmx
    r497: 3% faster satd_mmx
    r498: slightly faster loopfilter

  • Zitat von Mr. Brown

    ^Update

    Es fällt auf das in den letzten rev's an der geschwindigkeit von x264 gefeilt wurde. :)

    Ja, feine Sache. :daumen:

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • r499: more AltiVec mc, ~4.5% overall speedup
    r500: restored AltiVec dct

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • r502 Enables more agressive optimizations (-fastf -mcpu=G4) on OS X.
    Adds AltiVec interleaved SAD and SSD16x16.
    Overall speedup up to 20%. Patch by anonymous
    r503 Before, we eliminated dct blocks containing only a small single coefficient. Now that behavior is optional, by --no-dct-decimate.
    based on a patch by Alex Wright.

  • Zitat von sade

    r502 Enables more agressive optimizations (-fastf -mcpu=G4) on OS X.
    Adds AltiVec interleaved SAD and SSD16x16.
    Overall speedup up to 20%. Patch by anonymous
    r503 Before, we eliminated dct blocks containing only a small single coefficient. Now that behavior is optional, by --no-dct-decimate.
    based on a patch by Alex Wright.

    Was heisst das denn alles?:
    - fstf
    -mcpu=G4

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Guckstu

    Upsa, hast ja nach den Compilersettings gefragt...

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • dabei handelt es sich um Optionen die beim Compilieren benutzt werden.
    -fastf = fast float , gibt's seit gcc 3.3. siehe:
    http://developer.apple.com/releasenotes/D…Tools/GCC3.html
    -mcpu=G4 legt fest das man für einen G4 Prozessor compilieren will
    => das ganze ist nur interessant wenn man für einen G4 /=Mac) compiliert.

    Cu Selur

  • r504: update msvc project files. patch by anonymous.


    Downloadmöglichkeiten
    :

    • x264.nl "nackte" SVN Builds (etwas mehr getestet sind, und nicht ganz so experimentell)
    • ChronoCross aktuelle, gepatchte Builds

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Zitat von Selur

    neXus: ChronoCross hatte mitgeteilt, dass er seine builds bald einstellt wo Sharktooth nun wieder baut. ;)

    Hab's mitbekommen, aber erst nach halb 6. ;)

    Also in Zukunft wieder so:

    Downloadmöglichkeiten:

    • x264.nl "nackte" SVN Builds (etwas mehr getestet sind, und nicht ganz so experimentell)
    • Sharktooth aktuelle, gepatchte Builds

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • r505: typo in r504
    r506: 10l in r463 (q0 i16x16 dc was permuted)

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • r507: mmx implementation of x264_pixel_sa8d
    r508: When evaluating predictors to start fullpel motion search, use subpel positions instead of rounding to fullpel.
    about +.02 dB, -1.6% speed at subme>=3
    patch by Alex Wright.

  • r509: * Added %$#@#$! support for #@%$!#@ armv4l CPU.

    Was das auch immer heißen mag? Hat sam vielleicht ein böses Wort benutzt, was automatisch entfernt wurde:ani_lol:

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

Jetzt mitmachen!

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