Erläuterungen zur den x264 Patches?

  • Wenn ich mir die x264 builds von taro (http://tmod.nmm-hd.org/x264/) angucke, sind dort fast 50 patches enthalten:

    Code
    0001-More-detailed-version-head.diff0002-Get-audio-from-AvxSynth-as-well.diff0003-Fix-compilation-since-AVCODEC_MAX_AUDIO_FRAME_SIZE-w.diff0004-Fix-compilation-with-disable-audio.diff0005-Use-liblsmash-for-L-SMASH-based-mp4-support-instead-.diff0006-Fix-compilation-against-latest-L-SMASH-git-HEAD.diff0007-configure-Add-disable-mp3-option.diff0008-always-use-strict-2-for-aac.diff0009-assume-channels-2-when-can-t-get-them.diff0010-Add-chpl-with-bom-option.diff0011-Skip-useless-lavr-check-when-lavf-is-not-available.diff0012-Add-an-option-to-use-r2204-style-progress-indicator.diff0013-Add-back-touhou-tune.diff0014-Film-Grain-Optimization.diff0015-Fade-Compensation.diff0016-Remove-stats-before-renaming.diff0017-Add-a-parameter-to-set-level-of-writing-options-in-U.diff0018-Utilize-internal-threading-in-lavf-ffms.diff0019-Auto-VBV-settings.diff0020-AVI-output.diff0021-filters-hqdn3d-pad-vflip-yadif-patch.diff0022-Log-file.diff0023-Encoding-time.diff0024-Level-force.diff0025-Profile-force.diff0026-Cosmetic.diff0027-New-experimental-AQ-mode-modification-of-Auto-varian.diff0028-Print-video-info-with-lavf-ffms-demuxer.diff0029-lto-Ofast.diff0030-AviSynth-16bit-hack.diff0031-Skip-bit-depth-filter-when-possible.diff0032-Use-f3kdb-for-bit-depth-conversion-when-needed.diff0033-Video-filter-subtitles.diff0034-Detect-color-matrix-with-lavf-ffms-demuxer.diff0035-Fix-AviSynth-color-space-converting-matrix.diff0036-Fix-swscale-color-space-converting-matrix.diff0037-Support-dgi-file-extension.diff0038-Support-vpy-file-extension.diff0039-Support-invoking-LSMASHSource-in-avs-demuxer.diff0040-Variable-progress-precision-print-encoded-file-size-.diff0041-More-detailed-zones-help.diff0042-Unofficial-device.diff0043-Correct-framerate-to-proper-NTSC-fraction-if-applica.diff0044-Add-libaacplus.diff0045-don-t-show-opencl-help-in-opencl-disabled-builds.diff0046-version-print-whether-opencl-is-disabled-or-enabled.diff0047-TriAQ.diff0048-Separate-I-P-B-qpmin-qpmax-parameters.diff


    Wollte deshalb mal fragen: Nutzt jemand Taros builds und kann eventuell etwas mehr zu einigen der Patches bzgl. ihres Nutzens posten?

    mich würden vor allem Kommentare zu:

    Code
    0014-Film-Grain-Optimization.diff
    0015-Fade-Compensation.diff
    0018-Utilize-internal-threading-in-lavf-ffms.diff
    0019-Auto-VBV-settings.diff
    0027-New-experimental-AQ-mode-modification-of-Auto-varian.diff
    0029-lto-Ofast.diff
    0031-Skip-bit-depth-filter-when-possible.diff
    0036-Fix-swscale-color-space-converting-matrix.diff
    0047-TriAQ.diff
    0048-Separate-I-P-B-qpmin-qpmax-parameters.diff


    interessieren

    Cu Selur

  • 0014-Film-Grain-Optimization.diff
    http://x264dev.multimedia.cx/archives/25
    http://forum.doom9.org/showthread.php?t=137117

    0015-Fade-Compensation.diff
    Von Dark Shikari, verteilt auf Wunsch mehr Bits auf Fades. Werte 0.0 bis 1.0, wenn ich mich Recht erinnere.

    0018-Utilize-internal-threading-in-lavf-ffms.diff
    Multi-Threading für lavf/ffms-Dekodierung??

    0019-Auto-VBV-settings.diff
    Setzt vermutlich die vbv-Werte automatisch bei Angabe von --level

    0031-Skip-bit-depth-filter-when-possible.diff:
    Wenn man Vanilla-x264 mit 10 Bit füttert, wandelt er erst noch zu 16 Bit und dann wieder zurück zu 10 Bit, was natürlich unnötig ist. Dieser Patch überspringt das einfach. Allerdings ist die Kette 10 Bit -> 16 Bit -> 10 Bit extra so angelegt, daß sie verlustfrei ist, d.h. dieser Patch ist keineswegs kritisch.

    0036-Fix-swscale-color-space-converting-matrix.diff
    Müßte ich noch mal suchen, aber vermutlich nutzt er BT.709 für YUV<>RGB für HD oder richtet sich evtl. auch nach lavf/ffms. Vanilla nimmt immer BT.601

    0048-Separate-I-P-B-qpmin-qpmax-parameters.diff
    Selbsterklärend, oder?

    Für OreAQ und co. hatte ich noch Erläuterungen auf meinem anderen Rechner, komme da aber erst Mitte nächster Woche dran. Vielleicht finde ich vorher noch was, aber das waren eh mehr technische Erklärungen, große Tests habe ich damit nicht gemacht. Taros Builds liefen bei mir auch häufig nicht sehr stabil.


  • [code]
    0027-New-experimental-AQ-mode-modification-of-Auto-varian.diff


    Bei den vielen AQs-Experimenten im Laufe der Zeit schwer zu sagen, welcher gemeint ist.
    Ich würde bei obigen Patch dies hier vermuten:

    Zitat


    I also experience this while encoding using x264 rev1376 under MeGUI. I notice the darker scenes (e.g: an aerospace fly through night sky with some white cloud) is really blocky. Other than that, the encoding was very good in quality for the given bitrate.

    In this case the problem is probably --aq-mode 2 with using MBTree (it is known to have problems in fades and probably dark areas). And that is why I trying different other modes (AQ3 and now AQ4) to fix this by tuning them specially for use with MBTree.

    http://doom10.org/index.php?topic=136.msg982#msg982

  • Kleines Mißverständnis. es ging mir mehr darum ob jemand damit den Patches Erfahrungen hat. :D
    So ist mir bei FadeCompensation&Film-Grain Optimization an sich schon klar, was sie tun sollen, aber die Frage ist helfen sie auch wirklich. :D


    Zitat

    0019-Auto-VBV-settings.diff
    Setzt vermutlich die vbv-Werte automatisch bei Angabe von --level


    Dachte, dass wäre der Sinn von "0024-Level-force.diff" :D

    Zitat

    0036-Fix-swscale-color-space-converting-matrix.diff
    Müßte ich noch mal suchen, aber vermutlich nutzt er BT.709 für YUV<>RGB für HD oder richtet sich evtl. auch nach lavf/ffms. Vanilla nimmt immer BT.601


    Okay, wenn man nicht den Resizerfilter in x264 nutzt ist der Patch uninteressant.

    Zitat

    0048-Separate-I-P-B-qpmin-qpmax-parameters.diff
    Selbsterklärend, oder?


    Schon in Hinsicht was es macht, aber nützt es da was anderes als die Defaults einzustellen?

  • Dachte, dass wäre der Sinn von "0024-Level-force.diff" :D


    Hmm, scheint tatsächlich etwas komplizierter zu sein:
    0019-Auto-VBV-settings.diff
    --vbv-maxrate und --vbv-bufsize nehmen Strings in der Form "auto_high"/"auto_main"/... an, die die Werte entsprechend Level setzen.

    0024-Level-force.diff
    --level-force forciert vbv und refs gemäß Level.

    Schon in Hinsicht was es macht, aber nützt es da was anderes als die Defaults einzustellen?


    Gute Frage, aber in der Regel lassen wir x264 in der Hinsicht eh freie Hand. Wäre also nichts, was ich persönlich einsetzen würde. Die ganzen AQ-Modi sind da bestimmt je nach Quelle interessanter.

    Einmal editiert, zuletzt von sneaker2 (10. Oktober 2013 um 10:04)

  • Zitat

    Wäre also nichts, was ich persönlich einsetzen würde.


    Sehe ich auch so, hab mir nur gedacht, dass es eventuell irgendwer die Werte nutzt und dazu was sagen kann. :)

    Zitat

    Die ganzen AQ-Modi sind da bestimmt je nach Quelle interessanter.


    Ja, wobei da noch unklar ist wo der Unterschied zwischen mode 2, 3 und 4 ist. ;)

Jetzt mitmachen!

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