Das stimmt wohl, aber keine Ahnung wo der entsprechende Code ist.
Der x265-Encoder entwickelt sich...
-
-
In der MeGUI muss x265 nun speziell aktiviert werden (wie x264 10 bit oder QAAC).
-
hab mal die aktuellen Quality Presets angehängt,..
-
x265 ist jetzt 0.6+
Zitatx265 0.6 is a regularly scheduled release
There were large improvements in compression efficiency since 0.5, mostly a
result of the completion of weightp and b-pyramid. There is also a large
amount of new assembly code; replacing most of the compiler intrinsic
functions and adding coverage for some new primitives.= New Features =
* CLI reads input video from stdin
* Main10 profile is enabled, requires a HIGH_BIT_DEPTH build
* weightp is now complete enough to be enabled by default
* performance presets have been defined, matching x264 preset names
* b-pyramid (hierarchical B frames) now supported
* Constant Rate Factor rate control is considered stable
* Adaptive Quantization introduced, still experimentalAdaptive Quantization is still considered experimental. We are not always
seeing the expected improvements to SSIM when it is enabled, and thus it is
still not enabled by default.= API Changes =
* x265_nal data members renamed
* x265_picture now has colorSpace member
* --weightp enabled by default
* default parameters now match our medium preset
* new x265_param_default_preset() method for assigning preset and tune
* new x265_param_alloc() and x265_param_free() methods for version safety
* new x265_picture_alloc() and x265_picture_free() methods for version
safetyThe public data structures have changed enough that apps compiled against
previous versions of x265 must be recompiled to use x265 0.6. We are
taking steps to add version safety to the public interface. If you use the
new alloc/free methods for the param and picture structures, and use
x265_param_parse() to set param values by name, you will likely not have to
recompile your application to dynamically link against later releases of
x265.= New CLI Options =
* --y4m overrides detection of Y4M input stream, ex: x265 --y4m - out.hevc
< vid.y4m
* --version long option alias for -V
* -p/--preset sets performance preset
* -t/--tune sets parameter tuning
* --[no-]b-pyramid enabled by default
* --input-csp color space parameter, only i420 is supported in this release
* --crf constant rate factor rate control
* --aq-mode and --aq-strengthSee x265 --help for more details
= Upcoming improvements =
* motion compensated weightp analysis (using lookahead data)
* CU-tree (MBtree adapted from x264)
* VBV rate control
* assembly for HIGH_BIT_DEPTH builds -
Auf die Ausweitung des RD-Parameters wurde darin noch nicht deutlich hingewiesen (0..2 => 0..6). Der wird sicher noch eine wesentliche Rolle bei manchen davon abhängigen Funktionen spielen, aber die Abhängigkeiten werden nicht jedem klar sein (kürzlich erst bei Adaptiver Quantisierung deutlich geworden).
Der Unterschied zwischen tskip und tskip-fast wäre vielleicht auch interessant. Ohne detaillierte Erklärung dürfte es dabei wohl Missverständnisse geben können, was deren jeweiligen Einfluss auf Geschwindigkeit und Effizienz angeht.
-
Was mich an dem RD stört, ist das:
Code/*Level of Rate Distortion Optimization Allowed */ typedef enum { X265_NO_RDO_NO_RDOQ, /* Partial RDO during mode decision (only at each depth/mode), no RDO in quantization */ X265_NO_RDO, /* Partial RDO during mode decision (only at each depth/mode), quantization RDO enabled */ X265_FULL_RDO /* Full RD-based mode decision */ } X265_RDO_LEVEL;
Quelle: https://bitbucket.org/multicoreware/…65.h?at=default
nur 3 und nicht 7 Level kennt,.. -> scheint als ob die die enumeration einfach nicht mehr nutzen, bzw. zu faul waren sie zu aktualisieren und sie deshalb nicht mehr nutzen,.. -
Nicht mehr? Vielleicht noch nicht. Sieht aus wie vorauseilende Dokumentation. Na mal abwarten.
-
Zitat
There should be a large "under construction" sign implied here. We've shifted 1 & 2 to 5 & 6 and gave ourselves some room for faster modes. This should get fleshed out and well documented in x265.h over the next week and a half. it's not quite finalized yet.
-> scheint etwas chaotisch (persönlich hätte ich dann mit dem 0.6er Upgrade noch nen Tick gewartet) aber schön zu sehen wie schnell die Entwicklung geht, wenn da viele Leute am Werkeln sind. -
Hi, ich versuche mich gerade an ein paar Testläufen. Aber x265 crashed sofort (x265.06+296)
Code"C:\Program Files (x86)\Video Tools\avs2yuv-0.24\avs2yuv\avs2yuv.exe" "black.avs" -o - | "C:\Program Files (x86)\Video Tools\x265.06+296\x265.exe" --y4m --crf 25 --log 3 --bframes 4 --ref 3 --b-adapt 2 --me 2 --subme 7 --input-depth 10 --input-res 1024x576 --output black.h265 -
Jemand 'ne Idee ?
Liegt's am 10 bit Input ?
Liegt's an y4m
Liegt's an Win 7 ?
An übermäßigem Speicherverbrauch scheint's nicht zu liegen ... vielleicht doch besser die 64Bit Variante benutzen ?Hier ist der Output:
ZitatD:\Video\TV\SD>"C:\Program Files (x86)\Video Tools\avs2yuv-0.24\avs2yuv\avs2yuv.exe" "black.avs" -o - | "C:\Program Files (x86)\Video Tools\x265.06+296\x265.exe" --y4m --crf 25 --log 3 --bframes 4 --ref 3 --b-adapt 2 --me 2 --subme 7 --input-depth 10 --input-res 1024x576 --output black.h265 -
black.avs: 2048x576, 25 fps, 129696 frames
y4m [info]: 2048x576 25Hz C420, unknown frame count
x265 [info]: using cpu capabilities: MMX2 SSE SSE2Fast LZCNT
x265 [info]: HEVC encoder version 0.6+296-0f0ad4c094bd
x265 [info]: build info [Windows][MSVC 1800][32 bit] 16bpp
x265 [info]: Main10 profile, Level-4 (Main tier)
x265 [info]: WPP streams / pool / frames : 9 / 4 / 2
x265 [info]: Input bit depth : 10
x265 [info]: CU size : 64
x265 [info]: Max RQT depth inter / intra : 1 / 1
x265 [info]: ME / range / subpel / merge : umh / 60 / 7 / 2
x265 [info]: Keyframe min / max : 250 / 250
x265 [info]: Rate Control / AQ-Strength / CUTree : CRF-25.0 / 1.0 / 1
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / refs : 1 / 1 / 3
x265 [info]: tools: rect amp rd=3 lft sao-lcu sign-hide
Output error: wrote only 1769057 of 1769472 bytesD:\Video\TV\SD>pause
Drücken Sie eine beliebige Taste . . . -
Deep-Color-Video in Y4M wird noch nicht unterstützt, nur 8 bit pro Komponente.
Aber wie kommst du darauf, dass AviSynth "10-bit-Video" ausgeben könnte? Mehr Details dazu bitte.
-
Dither_quantize + Dither_out
ZitatDither a clip to a given bitdepth. It’s possible to keep the resulting clip at the initial bitdepth of 16 or to reduce it to the specified depth.
ZitatThis function allows Avisynth to output 16-bit YUV pixel components. This is achieved by sending fake YV12 data, containing actually yuv420p16 data. Frame serving should be done via a rawvideo pipe, so the encoding application relies on information provided by the user, not Avisynth directly.
-
Dann unbedingt im Raw-YUV-Modus übergeben und für x265 den Farbraum explizit festlegen (soweit ich mich an Posts von anderen erinnere, selber noch nicht versucht). Musst mal schauen, ob bei doom9 oder VideoHelp noch was dazu zu finden ist, aber ich bin mir recht sicher, dass darauf ausdrücklich hingewiesen wurde, dass Y4M hier nicht geht.
-
Wie LigH schon anmerkte, y4m geht nicht.
siehe: http://forum.doom9.org/showthread.php?p=1660233
und
sollte gehen, wichtig ist hierbei, dass '--input-depth', ' --input-res', '--fps' und '--frames' angegeben werden.
(falls das nicht gehen sollte, müsste man erst nach ffmpeg und dann nach x265 pipen)Cu Selur
Ps.: das ganze 'fakeYV12'-Zeug mit Avisynth wird hoffentlich irgendwann man entfernt (vielleicht in Avisynth+?)
-
Wieso eigentlich 10 bit? Es sind pro Komponente entweder 8 oder 16 bit, die als unkomprimiertes Video übertragen werden.
-
Zitat
Wieso eigentlich 10 bit?
a. H.265 unterstützt keine 16bit output
b. x265 unterstützt kein 16bit Input
c. scheint im verlinkten Thread ja auch zu klappen
Wie gesagt, braucht man eventuell auch avs2pipemod -> ffmpeg -> x265, nutze selber keine Filter welche diese fakeYv12 Farbräume ausgeben, ist also alles Theorie. -
Ja schon; aber die Farbtiefe der Komponenten Y, U und V liegt doch nicht bei 10 bit? Ob nun der Encoder bei der Quantisierung mit 10 bit genauen transformierten Werten rechnet, ist ja ein ganz anderes Thema, das kümmert AviSynth ja nicht weiter.
-
Ähm, so wie ich das verstanden habe sind's sehr wohl 10 bit pro Kanal die da von Avisynth kommen ...
Aber vielleicht sollte man es tatsächlich bei 16 bit belassen (also ohne Dither_quantize) ...
Es scheint sehr wohl 16bit fähige Versionen zu geben -> link
Und meine ist von hier - Fllear build...
Die Frage bleibt aber: Was macht der x265 damit, denn laut Standart ist eine Farbtiefe bis 16 bit nicht definiert, was diese Tabelle zeigt -
x265 kann definitiv 10 Bit-Encodierung, habe ich bereits selbst mit VapourSynth erfolgreich getestet.
Wie Selur schrieb:
- 16 Bit-Build (beherrscht auch 10 Bit, soll dann in Zukunft auch Profile mit mehr als 10 Bit übernehmen.)
- --input-depth 10
- benötigt zwingend 10 Bit raw als Input. Im Gegensatz zu x264cli sind weder Y4M noch 8 Bit als Input erlaubt.Builds hatte ich von x265.cc
-
So, endlich hat's mal geklapptmit der CLI ...
Ich habe zunächst RAW Dateien ohne Container erstellt. Doch jetzt wollte ich das Ganze in .mkv muxen, doch mkvmerge streikt und will den File nicht annehmen. Yamb schon gar nicht Doch sollte nicht (laut JEEB) mkvmerge seit 6.2 HEVC unterstützen ? Ich benutze die 6.7 Version ... -
YAMB ist nur eine Benutzeroberfläche für MP4Box. Was damit möglich ist, hängt von der Version der GPAC MP4Box ab. Hol dir aktuelle "Nightly Builds" für Win32 (im Win64-Paket ist der Osmo4-Player nicht mit dabei). Die MeGUI verwendet auch eine Version, die HEVC unterstützt, wenn sie schon x265 testweise anbietet.
Und ich glaube nicht, dass mkvmerge bereits seit Version 6.2 etwas über HEVC wissen kann, die muss doch uralt sein, wenn jetzt erst Version 6.7 aktuell ist. Im Changelog bis Version 6.7.0 tauchen "HEVC" oder "H.265" nirgends auf (und Version 6.2.0 kam April/Mai 2013 heraus).
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!