Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
26th March 2015, 22:10 | #1981 | Link |
Registered User
Join Date: Feb 2015
Posts: 326
|
I'm not ready for 1.6
Now there is default branch merged with stable but the options "--rdoq-level 1" and "--deblock -1" are still missing from text information at beginning of output HEVC file.
Info in HEVC file after this 2 different encodings is the same: Code:
x265 --preset slow input output x265 --preset slow --rdoq-level 1 --deblock -1 input output |
26th March 2015, 22:12 | #1982 | Link | |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
Quote:
jb_alvarado is looking for a new project host, running out of time. |
|
27th March 2015, 00:07 | #1983 | Link | |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Quote:
|
|
27th March 2015, 01:10 | #1984 | Link | |
Guest
Posts: n/a
|
Quote:
We always welcome contributions from talented developers! |
|
27th March 2015, 02:08 | #1985 | Link | |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Quote:
If you are still looking for a signed agreement, please let me know. |
|
27th March 2015, 02:19 | #1986 | Link | |
Guest
Posts: n/a
|
Quote:
No problem. To clarify, we don't want to make anyone jump through hoops to contribute a quick fix for something fairly trivial (a couple of missing parameters in the SEI message string). For trivial fixes, you can just email the x265-devel mailing list and say anything to the effect of "I contribute this". We only need a signed contributor agreement if you want to contribute a more significant patch (optimization, new feature or algorithm improvement, etc.), and you want to be credited as the author. |
|
27th March 2015, 08:44 | #1989 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
@ legend:
x265 is software for encoding to HEVC video. If you need a user interface to handle it in an easier way than using a console, you may try: StaxRip, Hybrid, MeGUI, ... |
27th March 2015, 16:55 | #1990 | Link | |
Registered User
Join Date: Feb 2015
Posts: 326
|
Quote:
So my proposition is small modification to your code: Code:
s += sprintf(s, " psy-rd=%.2f", p->psyRd); s += sprintf(s, " rdoq=%d", p->rdoqLevel); s += sprintf(s, " psy-rdoq=%.2f", p->psyRdoq); BOOL(p->bEnableSignHiding, "signhide"); BOOL(p->bEnableLoopFilter, "lft"); if (p->bEnableLoopFilter) { BOOL(true, "deblock"); if (p->deblockingFilterBetaOffset || p->deblockingFilterTCOffset) s += sprintf(s, "(tC=%d:B=%d)", p->deblockingFilterTCOffset, p->deblockingFilterBetaOffset); } BOOL(p->bEnableSAO, "sao"); |
|
27th March 2015, 18:58 | #1991 | Link |
Registered User
Join Date: May 2012
Posts: 12
|
the string emitted by param2string() and included in the info SEI is also used in two-pass stats files and analysis load/save files and it must be parse-able by x265_param_parse, so it must match the command line format. I'm removing 'lft' which is now deprecated, and using "deblock=%d,%d", which is parseable
|
27th March 2015, 20:07 | #1992 | Link | |
Registered User
Join Date: Feb 2015
Posts: 326
|
Quote:
|
|
28th March 2015, 12:37 | #1993 | Link |
Registered User
Join Date: Feb 2015
Posts: 326
|
There is new header in output HEVC file in x265, but on my favorite site http://chromashift.org/x265_builds/ there is the version 1.5+443, which is the last version with old header (without rdoq-level and deblock).
If someone wants to check new builds (from 1.5+444) I put them on page http://msystem.waw.pl/x265/ |
29th March 2015, 00:33 | #1995 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
I made a snapshot of the x265 documentation when I've built StaxRip's x265 support and I've found a online diff application showing me what has changed meanwhile:
https://www.diffchecker.com/fk4vsibm I've a problem now having not enough space in the Analysis section, I'll have to move a few options to a new tab because the tab is full, does anybody have a idea which options could be moved? http://x265.readthedocs.org/en/lates...ision-analysis Maybe somebody can also look if the order and captions make sense, it looks like this currently: Code:
Property RD As New OptionParam With { .Switch = "--rd", .Text = "RD:", .Options = {"0 - SA8D mode and split decisions, intra w/ source pixels", "1 - Recon generated (better intra), RDO merge/skip selection", "2 - RDO splits and merge/skip selection", "3 - RDO mode and split decisions, chroma residual used for sa8d", "4 - Adds RDO Quant", "5 - Adds RDO prediction decisions", "6 - Currently same as 5"}, .Expand = True, .Help = "Level of RDO in mode decision. The higher the value, the more exhaustive the analysis and the more rate distortion optimization is used. The lower the value the faster the encode, the higher the value the smaller the bitstream (in general)." + CrLf2 + "Default 3."} Property MinCuSize As New OptionParam With { .Switch = "--min-cu-size", .Text = "Minimum CU size:", .Options = {"64", "32", "16", "8"}, .Values = {"64", "32", "16", "8"}, .Help = "Minimum CU size (width and height). By using 16 or 32 the encoder will not analyze the cost of CUs below that minimum threshold, saving considerable amounts of compute with a predictable increase in bitrate. This setting has a large effect on performance on the faster presets." + CrLf2 + "Default: 8 (minimum 8x8 CU for HEVC, best compression efficiency)"} Property MaxCuSize As New OptionParam With { .Switch = "--ctu", .Text = "Maximum CU size:", .Options = {"64", "32", "16"}, .Values = {"64", "32", "16"}, .Help = "Maximum CU size (width and height). The larger the maximum CU size, the more efficiently x265 can encode flat areas of the picture, giving large reductions in bitrate. However this comes at a loss of parallelism with fewer rows of CUs that can be encoded in parallel, and less frame parallelism as well. Because of this the faster presets use a CU size of 32." + CrLf2 + "Default: 64"} Property TUintra As New NumParam With { .Switch = "--tu-intra-depth", .Text = "TU Intra Depth:", .Help = "The transform unit (residual) quad-tree begins with the same depth as the coding unit quad-tree, but the encoder may decide to further split the transform unit tree if it improves compression efficiency. This setting limits the number of extra recursion depth which can be attempted for intra coded units." + CrLf2 + "Default: 1, which means the residual quad-tree is always at the same depth as the coded unit quad-tree." + CrLf2 + "Note that when the CU intra prediction is NxN (only possible with 8x8 CUs), a TU split is implied, and thus the residual quad-tree begins at 4x4 and cannot split any futhrer.", .MinMaxStep = {1, 4, 1}} Property TUinter As New NumParam With { .Switch = "--tu-inter-depth", .Text = "TU Inter Depth:", .Help = "The transform unit (residual) quad-tree begins with the same depth as the coding unit quad-tree, but the encoder may decide to further split the transform unit tree if it improves compression efficiency. This setting limits the number of extra recursion depth which can be attempted for inter coded units." + CrLf2 + "Default: 1. which means the residual quad-tree is always at the same depth as the coded unit quad-tree unless the CU was coded with rectangular or AMP partitions, in which case a TU split is implied and thus the residual quad-tree begins one layer below the CU quad-tree.", .MinMaxStep = {1, 4, 1}} Property rdoqLevel As New NumParam With { .Switch = "--rdoq-level", .Text = "RDOQ Level:", .Help = "Specify the amount of rate-distortion analysis to use within quantization:" + CrLf2 + "At level 0 rate-distortion cost is not considered in quant" + CrLf2 + "At level 1 rate-distortion cost is used to find optimal rounding values for each level (and allows psy-rdoq to be effective). It trades-off the signaling cost of the coefficient vs its post-inverse quant distortion from the pre-quant coefficient. When --psy-rdoq is enabled, this formula is biased in favor of more energy in the residual (larger coefficient absolute levels)" + CrLf2 + "At level 2 rate-distortion cost is used to make decimate decisions on each 4x4 coding group, including the cost of signaling the group within the group bitmap. If the total distortion of not signaling the entire coding group is less than the rate cost, the block is decimated. Next, it applies rate-distortion cost analysis to the last non-zero coefficient, which can result in many (or all) of the coding groups being decimated. Psy-rdoq is less effective at preserving energy when RDOQ is at level 2, since it only has influence over the level distortion costs.", .MinMaxStep = {0, 2, 1}} Property Rect As New BoolParam With { .Switch = "--rect", .NoSwitch = "--no-rect", .Text = "Enable analysis of rectangular motion partitions Nx2N and 2NxN", .Help = "Enable analysis of rectangular motion partitions Nx2N and 2NxN (50/50 splits, two directions)." + CrLf2 + "Default disabled."} Property AMP As New BoolParam With { .Switch = "--amp", .NoSwitch = "--no-amp", .Text = "Enable analysis of asymmetric motion partitions", .Help = "Enable analysis of asymmetric motion partitions (75/25 splits, four directions). At RD levels 0 through 4, AMP partitions are only considered at CU sizes 32x32 and below. At RD levels 5 and 6, it will only consider AMP partitions as merge candidates (no motion search) at 64x64, and as merge or inter candidates below 64x64. The AMP partitions which are searched are derived from the current best inter partition. If Nx2N (vertical rectangular) is the best current prediction, then left and right asymmetrical splits will be evaluated. If 2NxN (horizontal rectangular) is the best current prediction, then top and bottom asymmetrical splits will be evaluated, If 2Nx2N is the best prediction, and the block is not a merge/skip, then all four AMP partitions are evaluated. This setting has no effect if rectangular partitions are disabled." + CrLf2 + "Default disabled."} Property EarlySkip As New BoolParam With { .Switch = "--early-skip", .NoSwitch = "--no-early-skip", .Text = "Early Skip", .Help = "Measure full CU size (2Nx2N) merge candidates first; if no residual is found the analysis is short circuited." + CrLf2 + "Default disabled."} Property FastIntra As New BoolParam With { .Switch = "--fast-intra", .NoSwitch = "--no-fast-intra", .Text = "Fast Intra", .Help = "Perform an initial scan of every fifth intra angular mode, then check modes +/- 2 distance from the best mode, then +/- 1 distance from the best mode, effectively performing a gradient descent. When enabled 10 modes in total are checked. When disabled all 33 angular modes are checked. Only applicable for --rd levels 4 and below (medium preset and faster)."} Property BIntra As New BoolParam With { .Switch = "--b-intra", .NoSwitch = "--no-b-intra", .Text = "Evaluate intra modes in B slices", .Help = "Enables the evaluation of intra modes in B slices." + CrLf2 + "Default disabled."} Property FastCBF As New BoolParam With { .Switch = "--fast-cbf", .Text = "Short circuit analysis if a prediction is found that does not set the coded block flag", .Help = "Short circuit analysis if a prediction is found that does not set the coded block flag (aka: no residual was encoded). It prevents the encoder from perhaps finding other predictions that also have no residual but require less signaling bits or have less distortion. Only applicable for RD levels 5 and 6." + CrLf2 + "Default disabled."} Property CUlossless As New BoolParam With { .Switch = "--cu-lossless", .Text = "CU Lossless", .Help = "For each CU, evaluate lossless (transform and quant bypass) encode of the best non-lossless mode option as a potential rate distortion optimization. If the global option --lossless has been specified, all CUs will be encoded as lossless unconditionally regardless of whether this option was enabled. Default disabled. Only effective at RD levels 3 and above, which perform RDO mode decisions."} Property Tskip As New BoolParam With { .Switch = "--tskip", .Text = "Enable evaluation of transform skip coding for 4x4 TU coded blocks", .Help = "Enable evaluation of transform skip (bypass DCT but still use quantization) coding for 4x4 TU coded blocks. Only effective at RD levels 3 and above, which perform RDO mode decisions." + CrLf2 + "Default disabled."} Property TskipFast As New BoolParam With { .Switch = "--tskip-fast", .Text = "Only evaluate transform skip for NxN intra predictions (4x4 blocks)", .Help = "Only evaluate transform skip for NxN intra predictions (4x4 blocks). Only applicable if transform skip is enabled. For chroma, only evaluate if luma used tskip. Inter block tskip analysis is unmodified." + CrLf2 + "Default disabled."} Last edited by stax76; 29th March 2015 at 00:38. |
29th March 2015, 00:45 | #1996 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
From my point of view, I'm completely confused by these options.
For most users using a GUI, balance between encoding efficiency and speed should be well grouped into a slide bar, from very fast to very slow, and that's it. It's not very possible that users toggle and test every option to find the optimistic settings before they start encoding. |
29th March 2015, 01:34 | #1997 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
Presets is the first thing that every GUI supports I guess. In my case there are some things I don't like about trackbars/sliders and radioboxes, I'm not saying they are bad for users, I like to use them myself in other applications, I just don't happen to use them as programmer in my applications.
|
29th March 2015, 02:46 | #1998 | Link |
Registered User
Join Date: Jul 2014
Posts: 115
|
Huyston, we have a problem. Using LAV 0.64 (12-30) with CUDA decoder trying to play a file encoded with 444 and up I get player crach and info says it's because of cuvid.dll crash. With LAV 0.63 all is OK but HEVC decoding made a leap in 64 version.
Files encoded in 439 and before play super fine. I use GUI software (Hybrid) but really doubt that it has something to that. I used many different builds sources: snowfag, MA's, Yuuki's to doublecheck. Presets medium and slow. CRF and 2pass bitrate. "C:\PROGRA~1\Hybrid\x265-8b.exe" --pmode --input - --input-res 1920x1080 --fps 30 --no-high-tier --min-cu-size 16 --no-open-gop --crf 22.7 --no-rdoq-level --no-psy-rdoq --vbv-maxrate 8000 --vbv-bufsize 8000 --deblock=-1:-1 --colormatrix bt470bg 439 - http://fs8.www.ex.ua/load/6ca2e6560a...030847/439.mkv 445 - http://fs8.www.ex.ua/load/1dce5ce570.../445%20bug.mkv Last edited by Ajvar; 29th March 2015 at 03:51. |
29th March 2015, 02:56 | #1999 | Link | |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Quote:
But anyway I'll try with your settings and see what I can do. = EDIT = Switched to English and still have no idea how to get the files. Would you mind using some other storages? And I tried with your settings. They just produced same files, binary identical on the video data part.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 29th March 2015 at 03:24. |
|
29th March 2015, 03:52 | #2000 | Link | |
Registered User
Join Date: Jul 2014
Posts: 115
|
Quote:
Settings is nothing. It's about different encoder version. Last edited by Ajvar; 29th March 2015 at 03:56. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|