View Full Version : Hybrid: Input -> x264/x265/Xvid/VP8/VP9
Selur
22nd February 2020, 13:50
Please, try to make whole sentences it's getting harder and harder to guess what you want to say.
No clue what cqr is.
Combining cq (= constantquantizer) with aq (adaptive quantizer) makes no sense.
Combining lossless with noise reduction doesn't make sense either.
Last I checked adpative quantization in aomenc requires 2pass encoding, so anything that isn't 2pass encoding can't use it.
Might be that some disabling of features is wrong in the gui, but without details I'm not looking into it.
Cu Selur
Gravitator
22nd February 2020, 18:12
Might be that some disabling of features is wrong in the gui, but without details I'm not looking into it.
Cu Selur
2-pass mod - noise reduction box is unlocked > change the mode to: abr (or) q, cq, lossless > return back to 2-pass mod - noise reduction box is blocked (The reason is to switch --auto-alt-ref=1 to --auto-alt-ref=0).
Gravitator
22nd February 2020, 20:10
Combining cq (= constantquantizer) with aq (adaptive quantizer) makes no sense.
I have observed improvement (the reflection of the water and the edge of the trees) > Example (https://files.videohelp.com/u/227452/AOM%20%28q_aq0_aq1%29.zip)
aomenc -w 1920 -h 1080 --threads=0 --passes=1 --pass=1 --cpu-used=8 --i420 --input-bit-depth=10 --bit-depth=10 --end-usage=q --cq-level=54 --auto-alt-ref=1 --aq-mode=0 --webm -o k:\aq0.webm
aomenc -w 1920 -h 1080 --threads=0 --passes=1 --pass=1 --cpu-used=8 --i420 --input-bit-depth=10 --bit-depth=10 --end-usage=q --cq-level=55 --auto-alt-ref=1 --aq-mode=1 --webm -o k:\aq1.webm
-------
AOM
New! --tune=psnr, ssim, vmaf_with_preprocessing, vmaf_without_preprocessing, vmaf (Removed CDEF and DAALA)
New! --disable-trellis-quant=<arg> Disable trellis optimization of quantized coefficients (0: false 1: true 2: true for rd search 3: true for estimate yrd serch (default))
Selur
22nd February 2020, 21:27
Okay, if they now support 1pass with adaptive quantizer I could add support for it in Hybrid. (Like I wrote, that didn't work last time I checked.)
Gravitator
16th March 2020, 11:58
x265
Encoding problem with any settings when "Recursion skip" is disabled.
Selur
18th March 2020, 18:47
seems like the syntax changed and I missed it.
Hybrid rev 2020.05.01.1:
*fixed*
Monitoring: some small bugs with the monitoring feature
Muxing: removed '-r' as input option for ffmbc, since it causes 'Option framerate not found.', works fine with ffmpeg
Jobs: FFmpeg job optimizer, properly handle extern audio
Vapoursynth: glitch with Vapoursynth Filter Preview
Avisynth: Deen mode restictions
Avisynth: dfttest ui mapping issue
Muxing: ui crash when video calls didn't generate a video output
Video: NVEnc: UI init problem regarding HDR selection
Vapoursynth: fix odd/even selection when not using bob
Vapoursynth: when using Stab include mvtools
Synth: output bit depth adjustment on VideoModel bitDepth change for some VideoModels
Vapoursynth: support for Bwdif deinterlacer
Muxint: muxing: title&language passthrough during mp4 muxing
GUI: font size adjustments (misc.ini)
*added*
Video: SVT-AV1 support
Audio: 'ignore encode and use passthrough if format doesn't change' option
Synth: added FineDehalo support through Avisynth and Vapoursynth
Audio: eac3 encoding support
Filtering: added bwdif for FFmpeg
*changed*
Vapoursynth: QTGMC always set TFF according to 'order' even for progressive input
Video: Support new NVEncC rotate (and transpose) and adjust it to FilterModels rotate option
Video: NVEncC: aq handling
Video: NVEncC: supporting '--input-option' for Blu-ray support
Video: NVencC: support for HDR to SDR
Avisynth: handling of interlaced filtering
Avisynth: mftoons now use masktools2 instead of masktools
Avisynth: add trim according to cut&chapter selection
Video: x265 using --rskip-edge-threshold and --rskip X
Vapoursynth: allow Waifu2x scale =1
Video: support more aomenc options
Vapoursynth: support for 'Waifu2x NCNN Vulkan' (Windows only)
Synth: Updated svpflow dlls and adjusted Avisynth Interframe2.avsi
Vapoursynth: removed support for Waifu2x on Linux since I can't get it to compile
-> downloads: http://www.selur.de/downloads
Cu Selur
Ps.: For Debian/Ubuntu Linux Users: I tried writing a build-vapoursynth and build-plugins script, see: https://github.com/Selur/hybrid-vapoursynth-addon Hope someone get's inspired and makes this more usable. :)
ReinerSchweinlin
8th May 2020, 16:28
Thanx a lot for the update :) Nice to see the Vulkan implementation of waifu2x together with the 1x upscale option - its very usefull to clean up anime stuff!!
One thing I noticed: Doing just this Waifu2x cleanup, I can´t output to fv1 anymore, which worked before. So I just Prores which is fine for the moment.
Hybrid really become my favorite tool for all kinds of filtering and conversion!
Thanx!
MadMonkey57
17th May 2020, 23:21
Hi there,
Thx Selur for this wonderful piece of software.
I'm reencoding an HEVC / HDR video with NVEnc (FFmpeg).
Encoding video stream works fine, but patching for HDR signaling fails.
My system: ubuntu 20.04, python 3.8.2
# ./nvhsp -full_range tv -colorprim bt2020 -colormatrix bt2020nc -transfer smpte-st-2084 -maxcll 1000 -maxfall 300 -chromaloc 2 -masterdisplay "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)" "/tmp/sample_new.265" "/tmp/sample_new_hdr.265"
Traceback (most recent call last):
File "./nvhsp", line 802, in __new__
return _cache[auto]
KeyError: '-full_range,tv,-colorprim,bt2020,-colormatrix,bt2020nc,-transfer,smpte-st-2084,-maxcll,1000,-maxfall,300,-chromaloc,2,-masterdisplay,G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1),/tmp/sample_new.265,/tmp/sample_new_hdr.265'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./nvhsp", line 637, in tokenparser
length = int(length)
ValueError: invalid literal for int() with base 10: '-full_range'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./nvhsp", line 806, in __new__
_, tokens = tokenparser(auto)
File "./nvhsp", line 647, in tokenparser
raise ValueError("Don't understand length '{0}' of token.".format(length))
ValueError: Don't understand length '-full_range' of token.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./nvhsp", line 4301, in <module>
b = Bits(','.join(sys.argv[1:]))
File "./nvhsp", line 808, in __new__
raise CreationError(*e.args)
__main__.CreationError: Don't understand length '-full_range' of token.
Any idea?
UPDATE: BTW it works fine in Windows
Selur
25th May 2020, 07:48
No clue. Seems like nvshp aborts since it can't properly parse'-full_range tv', but according to the code (https://github.com/SK-Hardwired/nv_hevc_hdr_patcher/blob/master/nvhsp.py) it should work.
in line 29 range_list is defined as:
range_list = ['tv','full']
then in line 38 we have:
full_range = range_list.index(args.full_range)
so full_range should be zero.
My guess is that this is due to some change in Python.
You best contact the nvhsp author since I can't really say anything more,... (https://github.com/SK-Hardwired/nv_hevc_hdr_patcher)
Cu Selur
Selur
21st June 2020, 14:41
Hybrid rev 2020.06.21.1:
*fixed*
Video: rav1e 2pass calls
Video: x265, minimize command line problem with constant quantizer
Vapoursynth: interframe + sRestore
Avisynth: pad to make sure dfttest gets mod16 input
Vapoursynth: forgot to add Bwdif.dll to th the install (Windows only)
Muxing: passhtrough huffuyv
Video: do not add maxCll 0,0
Analyse: Blu-ray input analysis
Avisynth: imagesource bug
Avisynth: ConvertToYUV where colorMatrix was accidentally added
Video: Xvid 2pass stats file bug
Jobs: ffindex deleted to early
Jobs: trying to delete x264 mbtree file evenwhen it should not be there
Audio: dialog norm make sure that '-dialognorm 0' instead of '-dialognorm -0' is used
Input: ffmpeg time code extraction
Analyse: dts-xx detection
Handling: aid problem avi preview und tokenizing
Video: x265: separate 2pass passes
Jobs: progress indication when using qsvencc
Video: FFMpeg NVEncC, multi-ref was accidentally disabled
Chapters: switchting within sources with multi input and chapter import
Jobs: ffmpeg job minimization
*changed*
Avisynth: removed SSE(2)Tools
Avisynth: interplaced preview handling
Avisynth: moved histrogram control into Hybrid itself
Avisynth: removed AnimeIVTC since it's not required for QTGMC any more
Avisynth: switched to Avisynth+ 3.6
Avisynth: removed PlanarTools
Avisynth: restrict DeRainbow to 8bit
Avisynth: during ConvertToXY add ChromaInPlacement when converting from YV12 and ChromaOutPlacement when converting to YV12 in case MPEG-1 or DV Video input is detected.
Avisynth: allow to enforce ChromaInPlacement/ChromaOutPlacement during ConvertToXY when converting to or from YV12
Cut: allow to set cut by frame number
Timecods: the way Hybrid tries to fix time codes
Preview: force color space conversion on mplayer preview
Input: added image sequence option to set base fps
Audio: restrict eac3 bit rates
Avisynth: extended color support for some filters
Tools: handling version info with newer tsMuxeR
XSynth: using trim with cut support
*added*
Vapoursynth: Anime4KCPP resizer, JincResize, DeDot, CAS and adjusted LSFMod to use CAS
Vapoursynth: added option to lower resolution before resize
Avisynth: MToon, DFMDeRainbow
Audio: handling of 8bit pcm
Video: dynamic HDR with NVEncC
Audio: ffmpeg ac3 & eac3: dialog normalization
*removed*
Video: FFmpeg NVEnc (Windows only)
-> downloads: http://www.selur.de/downloads
Cu Selur
ReinerSchweinlin
27th June 2020, 08:57
Thanx a lot !!!
Selur
11th July 2020, 15:53
Hybrid rev 2020.07.11.1:
*fixed*
Vapoursynth: Anime4KCPP when using GPU
Vapoursynth: limit Santiag Pcsnr when using GPU
Avisynth: limit SplineResize100/144 to YV12, YUY2, RGB24, RGB32
Avisynth: FrameRateConverter custom fps grayed out
Avisynth: interlaced handling
General: aborting close didn't work
Communication: send ssl mail
General: some more cut handling
Jobs: MPEG-4 ASP workaround
Jobs: tsMuxeR output file checks
Tools: BDSup2Sub++ detection
Video: x264 apply to preset
Audio: ac3 reencoding
Video: 2pass vpx/aomenc encoding
Analysis: mpeg audio layer 1/2/3 detection
General: gui error/freeze when extration of subtitle wasn't possible
Avisynth: 'show YUV values' and 'histogram' for YUY2 input
*changed*
Jobs: using long IDs
General: sometimes crashing on start up
Avisynth: smdegrain limit/limitc double values
General: always use DebugOutput Level 9
Container: added matroska extensions: m3kd
Vapoursynth: replaceed fft3dfilter with neo_fft3d (adjusted QTGMC and MCTemporalDenoise in havsfunc accordingly)
*added*
audio: add option to clear audio queue on processing change
Vapoursynth: support for SRMD
-> downloads: http://www.selur.de/downloads
Cu Selur
Gravitator
12th July 2020, 14:00
Hybrid v2020.07.11.1
VP9
The Adaptive quantization window is blocked for 2-pass mode.
AOM
Max frames to lag: 25 expanded to 70.
Pyramid height (max): 4 to 5.
There seems to be no window for Disable trellis quant: 0, 1, 2.
CPU utilization modifier: 8 to 9.
Gravitator
12th July 2020, 15:13
x265
Refine CTU: on + Coding unit tree adaptive quantization: off - endless coding is obtained for the second pass.
Selur
12th July 2020, 16:07
Tested it here.
For the first pass I used:
"I:\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | "I:\Hybrid\64bit\x265.exe" --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --pass 1 --slow-firstpass --bitrate 1500 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix bt470bg --stats "E:\Temp\test_generated.stats" --analysis-save "E:\Temp\test_generated.analysis" --analysis-reuse-level 6 --no-multi-pass-opt-analysis --output "E:\Temp\test.265"
which finished fine with:
y4m [info]: 640x352 fps 25/1 i420p10 sar 1:1 unknown frame count
raw [info]: output file: E:\Temp\test.265
x265 [info]: HEVC encoder version 3.4+7-g38774073d
x265 [info]: build info [Windows][GCC 10.1.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [warning]: analysis-load-reuse-level can be set only when analysis-load is enabled. Resetting analysis-load-reuse-level to 0.
x265 [info]: Main 10 profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(6 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Cb/Cr QP Offset : -2 / -2
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / off
x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 0.0 / 32 / 1
x265 [info]: Rate Control / qCompress : ABR-1500 kbps / 0.60
x265 [info]: tools: limit-modes rd=3 ssim-rd psy-rd=2.50 rdoq=2 psy-rdoq=10.00
x265 [info]: tools: rskip mode=1 signhide tmvp b-intra strong-intra-smoothing
x265 [info]: tools: deblock(tC=-1:B=-1) sao stats-write
x265 [info]: frame I: 3, Avg QP:16.35 kb/s: 3518.73
x265 [info]: frame P: 120, Avg QP:13.21 kb/s: 3109.91
x265 [info]: frame B: 306, Avg QP:17.58 kb/s: 770.49
x265 [info]: Weighted P-Frames: Y:0.8% UV:0.8%
x265 [info]: consecutive B-frames: 3.3% 0.0% 58.5% 21.1% 17.1%
encoded 429 frames in 15.97s (26.86 fps), 1444.09 kb/s, Avg QP:16.35
then I started a second pass with:
"I:\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | "I:\Hybrid\64bit\x265.exe" --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --pass 2 --bitrate 1500 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix bt470bg --stats "E:\Temp\test_generated.stats" --analysis-load "E:\Temp\test_generated.analysis" --analysis-reuse-level 6 --no-multi-pass-opt-analysis --no-dynamic-refine --refine-ctu-distortion 1 --output "E:\Temp\2020-07-12@16_54_18_4110_03.265"
which starts fine:
y4m [info]: 640x352 fps 25/1 i420p10 sar 1:1 unknown frame count
raw [info]: output file: E:\Temp\2020-07-12@16_54_18_4110_03.265
x265 [info]: HEVC encoder version 3.4+7-g38774073d
x265 [info]: build info [Windows][GCC 10.1.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [warning]: analysis-save-reuse-level can be set only when analysis-save is enabled. Resetting analysis-save-reuse-level to 0.
x265 [info]: Main 10 profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(6 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Cb/Cr QP Offset : -2 / -2
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / off
x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 0.0 / 32 / 1
x265 [info]: Rate Control / qCompress : ABR-1500 kbps / 0.60
x265 [info]: tools: limit-modes rd=3 ssim-rd psy-rd=2.50 rdoq=2 psy-rdoq=10.00
x265 [info]: tools: rskip mode=1 signhide tmvp b-intra strong-intra-smoothing
x265 [info]: tools: deblock(tC=-1:B=-1) sao stats-read
but then nothing happens.
x265 is running, but seemingly not doing anything.
Also tried with HEVC "encoder version 3.4+12-geff904199" same effect.
My guess is that:
analysis-save-reuse-level can be set only when analysis-save is enabled. Resetting analysis-save-reuse-level to 0.
is the problem, but atm. no clue how the x265 folks think that this feature should be used.
Cu Selur
Gravitator
12th July 2020, 16:59
x265
Crash on any settings with Recursive skip: 3.
Selur
12th July 2020, 17:16
Recursive skip: 3.
'--rskip' should not have an additional parameter,..
No clue what you are writing about and like always you do not really share details,... :/
-> forget that I was confused since I seemingly left an abandoned checkbox in the gui ;)
Selur
12th July 2020, 17:20
Got it:
Invalid Recursion skip mode. Valid modes 0,1,2
seems like rskip 3 was removed,.. see: https://bitbucket.org/multicoreware/x265/commits/df0886d58b867e7bd219ec3f8197bab22417795c
Cu Selur
Gravitator
12th July 2020, 17:36
AOM
Encoding crash when enabling Signal VUI/Chroma loc.: colocated (Any mode and settings).
Selur
13th July 2020, 16:21
regarding the x265 options, see: https://forum.doom9.org/showthread.php?p=1918240#post1918240
-> I'll remove the whole 'Save analysis'-option and the option related to it, since they don't make sense for Hybrid.
regarding aomenc: I'll look into it.
Selur
17th July 2020, 03:44
Hybrid rev 2020.07.11.1:
*fixed*
Avisynth: limit LSFMod to YV12
Startup/Shutdown crashes
*added*
Vapoursynth: LGhost
-> downloads: http://www.selur.de/downloads
Cu Selur
Richard1485
25th July 2020, 21:56
The default parameters for NVenc in Hybrid include:
-spatial-aq 0 -temporal_aq 0
But if I copy the command into the terminal and run it, ffmpeg outputs a warning that the temporal_aq option is unused -- unless I change it to:
-spatial-aq 0 -temporal-aq 0
Is this just a typo in the GUI or would it affect the output?
I was using the parameters set by Hybrid as the starting point for some tests with ffmpeg on Ubuntu 20.04 when I noticed the message.
Sharc
25th July 2020, 22:48
NVEnc(ffmpeg) has been abandoned in Hybrid. Only NVEncC is supported in newer releases.
Edit: .... abandoned for Windows only; sorry.
Selur
30th July 2020, 16:01
@richard1485: typo -> fixed for the next release, should not change the output. Since it's the default.
Cu Selur
Sharc
30th July 2020, 18:56
According to recent update of ffmpeg 4.3.1, ffmpeg -h encoder=h264_nvenc indicates that both syntax are accepted, i.e.
'-spatial-aq' or '-spatial_aq'
'-temporal-aq' or '-temporal_aq'
I didn't test it though.
Selur
2nd August 2020, 12:14
Hybrid rev 2020.07.11.1:
*fixed*
Vapoursynth: saving profiles
Vapoursynth QTGMC bob
General: restting Defaults caused two instances to open
Jobs: tsMuxeR temp and input file handling
*changed*
Filtering: Removed the "force deinterlace" option, instead 'Overwrite input scan type to' should be used.
Tools: adjusted to latest NVEncC 'check-features' changes
Audio: remove unneeded '-ac' in ffmpeg call
*added*
Avisynth: 64bit Support, support 32bit and 64bit Avisynth jobs at the same time in the jobqueue (Windows only)
-> downloads: http://www.selur.de/downloads
Cu Selur
Selur
7th August 2020, 20:07
Since the https://github.com/Selur/hybrid-vapoursynth-addon is clearly broken (building Vapoursynth seems to work, building plugins seems to work, but vscript and vspipe fails) and I lack the time/knowledge/motivation to spend tons of time to look into fixing this I'm thinking about dropping Linux support as a whole and turn Hybrid into a Windows only tool.
Spending most of my free time trying to get shell scripts working is way to frustrating to keep this going.
Cu Selur
god_md5
28th August 2020, 16:44
why i have this bug?
Selur
1st September 2020, 04:44
image is still waiting for approval nothing I can do,...
ReinerSchweinlin
15th September 2020, 07:41
....dropping Linux support as a whole and turn Hybrid into a Windows only tool.
Spending most of my free time trying to get shell scripts working is way to frustrating to keep this going.
Totally understandable. Let me take the opportunity to thank you for the wonderfull programm you are building here all this time. This has some eral nice gems - I often use the AI-Upscaling Capabilities - which makes hybrid really unique in the way it is incorporating them into a simple GUI. Thanx !
Selur
10th October 2020, 12:25
Hybrid rev 2020.10.10.1:
*fixed*
Avisynth: handling QTGMC field order
Video: nvencc version check
Vapoursynth: Cnr2, typo sceneChroma -> scenechroma
Video: NVEncC bluray input with 'encoder only' not starting encoding
Avisynth+: no preRo for Text subittle
Vapoursynth: sRestore output frame count calculation fixex: Preview not working with crop
Vapoursynth: handle TimeCude filename changes
Synth: some colorMatrix fixes
Avisynth: DFMDeRainbow load mvtools for motion compensation
Vapoursynth: Fix Combed to IVTC
Analysis: aspect ratio detection
Avisynth: 64bit preview
Vapoursynth: restrict VFM Mi to blockx*blocky
Video: problem with aoemenc and svthevc
Vapoursynth: fixed Santiang typevh typo to typev, "AntiAliasing" - Nedi3aa vs "AnitAliasing - Nedi3aa"
Vapoursynth: deleting profiles
Vapoursynth: MAA missing dependecies
Analysis: prefer stream aspect ratio
Video: scanorder handling especially for DNxHD
Tools: tsMuxeR version check
*changed*
Cosmetics: Bunch of cosmetic changes
Video: Using xvid_encraw instead of mencoder for XviD encoding.
Vapoursynth: using D2VSource instead of MPEG2DecPlus
Tools: use 64bit of vStripFree, Telxcc and MP4FPSmod (Windows only)
Synth: added QTGMC custom addition
Synth: splitting QTGMC into "QTGMC - Deinterlacer" (InputType = 0) and "QTGMC - Filter" (InputType > 0)
Vapoursynth: Anime4KCPP support for HDNLevel Option
Vapoursynth/Avisynth: in custom section you can now overwrite width, height, scantype and colorformat using: Note that these values are only respected inside the Vapoursynth/ Avisynth script.
Frame rate and frame count need to be globally overwrite using "Filtering->Misc->Overwrite output". All other values also need to be overwritten globally if you set them.
Vapoursynth: Levels handling
Avisynth: added QTGMC MatchPreset, MatchPreset2, MatchEnhance
Crop: lowered min Crop-Width-Mult from 0.75 to 0.7
Avisynth: TDecimate added additional parameters
Vapoursynth: VIVTC added Deinterlacer option
Avisynth: Flash3KDeband adjust output bit depth
Avisynth: TemporalDegrain requires 8bit input
Vapoursynth: KNLMeans adjust RGBX
Vapoursynth: TimeCube RGB handling
Vapoursynth: restrict filters based on Hqdn3d to 8bit
Tools: look also for '3D controller" in lspci output for video card
Analysis: added option to prefer stream luma range
Video: changed ProRes models to proxy, lt, standard, hq, 4444, 4444x
Avisynth: added RemoveDirt
Output: added 'Config->Output->MKV Contains->Matroska advanced video signaling->Import HDR data from source'
*added*
Video: Cineform HD support
Filtering: option to flip video horizontally
*removed*
Tools: nvhsp not used on Windows, hardly working on Linux&Mac, sadly ffmpeg does still not support signaling max cll/fall etc
Tools: not using ffmbc any more
Avisynth support on MacOS
-> downloads: http://www.selur.de/downloads
Cu Selur
Ps.: Added Mac OS back to the release OSs.
Sharc
10th October 2020, 13:19
:thanks:
Can't try it.
It starts to initialize then closes ....
Selur
10th October 2020, 14:54
Hmm,.. works fine here. :/
Can you try if it works if you move the content of your settings folder?
Sharc
10th October 2020, 16:54
Yes, this helped. I just lost my configurations, however.
Edit:
Copying the former settings back piece by piece and see where it crashes .........
Selur
10th October 2020, 17:23
If you figure out what it is let me know and I can probably fix it. :)
Cu Selur
Sharc
10th October 2020, 17:29
I could so far recover most of it, but disableIcons=true in the misc.ini has no effect .... (I prefer the test buttons).
Selur
10th October 2020, 18:21
Yeah, that option is removed due to complains that it breaks the layout, not sure whether it will return.
Cu Selur
Selur
11th October 2020, 13:47
Hybrid rev 2020.10.11.1:
*fixed*
Vapoursynth: TDeintMod in VIVTC and FixCombed
Muxing: always used ffmpeg for mkv muxing
*changed*
Vapoursynth: add 'Use RGB' for Limiter and Levels and use it as default.
Vapoursynth: extend compatible TimeCube color spaces by RGBS
*added*
Filtering: "fieldmatch + yadif + deint + decimate2" as IVTC through FFmpeg method.
*removed*
Vapoursynth: support for mClean due to missing TemporalMedian library. (MacOS only)
-> downloads: http://www.selur.de/downloads
Cu Selur
Gravitator
15th October 2020, 10:23
Hybrid v2020.10.11.1
x265
Enabled hevc-aq and disabled psy-rd results no-hevc-aq (In the MInfo output file).
Selur
15th October 2020, 16:23
might be a bug in 'minimize command line', not totally sure, will look at it when the debug output is approved,...
Selur
15th October 2020, 17:01
defaults:
x265 --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix unknown --output OUTPUTFILE
activated hevc-ac:
x265 --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix unknown --output OUTPUTFILE
set psy-rd to 0:
x265 --tune psnr --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --rdoq-level 2 --psy-rdoq 10.00 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix unknown --output OUTPUTFILE
-> used encoding call:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | x265 --tune psnr --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --limit-refs 0 --ssim-rd --rdoq-level 2 --psy-rdoq 10.00 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix bt470bg --output "E:\Temp\2020-10-15@17_37_08_9710_01.265"
results in:
x265 [info]: HEVC encoder version 3.4+26-ga82c6c7a7
x265 [info]: build info [Windows][GCC 10.2.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 10 profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(6 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Cb/Cr QP Offset : -2 / -2
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / off
x265 [info]: Rate Control / qCompress : CRF-18.0 / 0.60
x265 [info]: tools: limit-modes rd=3 ssim-rd rdoq=2 psy-rdoq=10.00 rskip mode=1
x265 [info]: tools: signhide tmvp b-intra strong-intra-smoothing
x265 [info]: tools: deblock(tC=-1:B=-1) sao
there is no info that hevc-aq would be ignored,...
MediaInfo reports:
Writing library : x265 3.4+26-ga82c6c7a7:[Windows][GCC 10.2.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=640x352 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=25 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=0 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=0 / limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=-1:-1 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=0.00 / psy-rdoq=10.00 / no-rd-refine / no-lossless / cbqpoffs=-2 / crqpoffs=-2 / rc=crf / crf=18.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=0 / aq-strength=0.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=64 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=5 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / opt-qp-pps / opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
-> 'no-hevc-aq'
hevc-aq documentaion:
--hevc-aq
Enable adaptive quantization It scales the quantization step size according to the spatial activity of one coding unit relative to frame average spatial activity. This AQ method utilizes the minimum variance of sub-unit in each coding unit to represent the spatial complexity of the coding unit.
source: https://x265.readthedocs.io/en/latest/cli.html?highlight=hevc-aq#cmdoption-hevc-aq
disabling 'minimize command line' results in:
x265 --frame-threads 0 --wpp --no-pmode --no-pme --log-level 2 --input - --output-depth 10 --y4m --profile main10 --high-tier --min-cu-size 8 --ctu 64 --qg-size 32 --no-opt-cu-delta-qp --tu-intra-depth 1 --tu-inter-depth 1 --limit-tu 0 --max-tu-size 32 --no-hme --me hex --subme 2 --merange 57 --no-analyze-src-pics --limit-modes --no-rect --no-amp --max-merge 3 --no-early-skip --rskip 1 --temporal-mvp --rdpenalty 0 --no-tskip --strong-intra-smoothing --no-constrained-intra --no-open-gop --gop-lookahead 0 --scenecut 40 --scenecut-bias 5 --no-scenecut-aware-qp --no-hist-scenecut --opt-ref-list-length-pps --keyint 250 --min-keyint 0 --max-ausize-factor 1 --radl 0 --bframes 4 --no-weightb --no-b-intra --bframe-bias 0 --b-adapt 2 --b-pyramid --ref 3 --weightp --rc-lookahead 20 --slices 1 --lookahead-threads 0 --qpstep 4 --qpmin 0 --qpmax 69 --qblur 0.50 --cplxblur 20.0 --crf 18.00 --opt-qp-pps --no-rc-grain --cbqpoffs -2 --crqpoffs -2 --ipratio 1.4 --pbratio 1.3 --nr-intra 0 --nr-inter 0 --qpfile GENERATED_QP_FILE --limit-refs 0 --rd 3 --no-fast-intra --ssim-rd --no-rd-refine --no-psy-rd --rdoq-level 2 --psy-rdoq 10.00 --signhide --no-splitrd-skip --qcomp 0.60 --qp-adaptation-range 1 --no-aq-motion --aq-mode 0 --hevc-aq --no-cutree --no-const-vbv --vbv-maxrate 0 --vbv-bufsize 0 --vbv-init 0.9 --vbv-end 0.000 --no-hrd --no-aud --info --no-idr-recovery-sei --deblock=-1:-1 --sao --selective-sao 4 --no-sao-non-deblock --limit-sao --no-repeat-headers --no-temporal-layers --log2-max-poc-lsb 8 --no-fades --no-psnr --no-ssim --no-interlace --range limited --colormatrix bt470bg --no-single-sei --no-hdr10 --output "E:\Temp\test.265"
and
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | x265 --frame-threads 0 --wpp --no-pmode --no-pme --log-level 2 --input - --output-depth 10 --y4m --profile main10 --high-tier --min-cu-size 8 --ctu 64 --qg-size 32 --no-opt-cu-delta-qp --tu-intra-depth 1 --tu-inter-depth 1 --limit-tu 0 --max-tu-size 32 --no-hme --me hex --subme 2 --merange 57 --no-analyze-src-pics --limit-modes --no-rect --no-amp --max-merge 3 --no-early-skip --rskip 1 --temporal-mvp --rdpenalty 0 --no-tskip --strong-intra-smoothing --no-constrained-intra --no-open-gop --gop-lookahead 0 --scenecut 40 --scenecut-bias 5 --no-scenecut-aware-qp --no-hist-scenecut --opt-ref-list-length-pps --keyint 250 --min-keyint 0 --max-ausize-factor 1 --radl 0 --bframes 4 --no-weightb --no-b-intra --bframe-bias 0 --b-adapt 2 --b-pyramid --ref 3 --weightp --rc-lookahead 20 --slices 1 --lookahead-threads 0 --qpstep 4 --qpmin 0 --qpmax 69 --qblur 0.50 --cplxblur 20.0 --crf 18.00 --opt-qp-pps --no-rc-grain --cbqpoffs -2 --crqpoffs -2 --ipratio 1.4 --pbratio 1.3 --nr-intra 0 --nr-inter 0 --limit-refs 0 --rd 3 --no-fast-intra --ssim-rd --no-rd-refine --no-psy-rd --rdoq-level 2 --psy-rdoq 10.00 --signhide --no-splitrd-skip --qcomp 0.60 --qp-adaptation-range 1 --no-aq-motion --aq-mode 0 --hevc-aq --no-cutree --no-const-vbv --vbv-maxrate 0 --vbv-bufsize 0 --vbv-init 0.9 --vbv-end 0.000 --no-hrd --no-aud --info --no-idr-recovery-sei --deblock=-1:-1 --sao --selective-sao 4 --no-sao-non-deblock --limit-sao --no-repeat-headers --no-temporal-layers --log2-max-poc-lsb 8 --no-fades --no-psnr --no-ssim --no-interlace --range limited --colormatrix bt470bg --no-single-sei --no-hdr10 --output "E:\Temp\2020-10-15@17_44_14_4510_01.265"
results in:
x265 [info]: HEVC encoder version 3.4+26-ga82c6c7a7
x265 [info]: build info [Windows][GCC 10.2.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 10 profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(6 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Cb/Cr QP Offset : -2 / -2
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / off
x265 [info]: Rate Control / qCompress : CRF-18.0 / 0.60
x265 [info]: tools: limit-modes rd=3 ssim-rd rdoq=2 psy-rdoq=10.00 rskip mode=1
x265 [info]: tools: signhide tmvp strong-intra-smoothing deblock(tC=-1:B=-1)
x265 [info]: tools: sao
MediaInfo report:
cpuid=1111039 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=640x352 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=25 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=0 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=0 / limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=-1:-1 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=0.00 / psy-rdoq=10.00 / no-rd-refine / no-lossless / cbqpoffs=-2 / crqpoffs=-2 / rc=crf / crf=18.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=0 / aq-strength=0.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=64 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=5 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / opt-qp-pps / opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
-> 'hevc-aq'
so it's an issue with 'minimize command line'.
so looking at command line before setting psy-rd to zero:
x265 --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix unknown --output OUTPUTFILE
and with psy-rd to 0:
x265 --tune psnr --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --rdoq-level 2 --psy-rdoq 10.00 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix unknown --output OUTPUTFILE
before: --psy-rd 2.50 --aq-mode 0 --hevc-aq
after: --tune psnr -hevc-aq
checking tune psnr:
if (!strcmp(tune, "psnr"))
{
param->rc.aqStrength = 0.0;
param->psyRd = 0.0;
param->psyRdoq = 0.0;
}
see: https://bitbucket.org/multicoreware/x265_git/src/master/source/common/param.cpp (line 566-571)
so: "--aq-strength 0 --psy-rd 0 --psy-rdoq 0"
since "--aq-strength 0" should be the same as "--aq-mode 0".
now looking again at before and after:
before: --psy-rd 2.50 --aq-mode 0 --hevc-aq
after: --tune psnr --hevc-aq = --aq-mode 0 --psy-rd 0 --psy-rdoq 0 --hevc-aq
since after also has '--psy-rdoq 10.00'
after = --aq-mode 0 --psy-rd 0 --psy-rdoq 10.00 --hevc-aq
-> don't see where Hybrid is making a mistake. :( those command lines should be identical unless '--tune psnr' has other side effect that I don't know about.
Cu Selur
Selur
15th October 2020, 17:12
removing command line minimization for 'tune', Hybrid would use:
x265 --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --no-psy-rd --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix bt470bg --output OUTPUTFILE
and
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | x265 --input - --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --limit-refs 0 --ssim-rd --no-psy-rd --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --hevc-aq --no-cutree --deblock=-1:-1 --limit-sao --no-repeat-headers --range limited --colormatrix bt470bg --output "E:\Temp\2020-10-15@18_07_32_7810_01.265"
resulting in:
x265 [info]: HEVC encoder version 3.4+26-ga82c6c7a7
x265 [info]: build info [Windows][GCC 10.2.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 10 profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 16 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / wpp(6 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Cb/Cr QP Offset : -2 / -2
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / off
x265 [info]: Rate Control / qCompress : CRF-18.0 / 0.60
x265 [info]: tools: limit-modes rd=3 ssim-rd rdoq=2 psy-rdoq=10.00 rskip mode=1
x265 [info]: tools: signhide tmvp b-intra strong-intra-smoothing
x265 [info]: tools: deblock(tC=-1:B=-1) sao
and MediaInfo:
x265 3.4+26-ga82c6c7a7:[Windows][GCC 10.2.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=640x352 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=25 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=0 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=0 / limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=-1:-1 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=0.00 / psy-rdoq=10.00 / no-rd-refine / no-lossless / cbqpoffs=-2 / crqpoffs=-2 / rc=crf / crf=18.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=0 / aq-strength=0.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=64 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=5 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / opt-qp-pps / opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
-> so seems like '--tune psnr' does have additional side effects that were not documented (or where I do not know where it is documented).
Cu Selur
Ps.: created and entry in the x265 issue tracker: https://bitbucket.org/multicoreware/x265_git/issues/575/can-someone-clear-up-why-tune-psnr and a post in the x265 thread here https://forum.doom9.org/showthread.php?p=1925879.
Gravitator
17th October 2020, 13:13
AOM
Profile: high, 8bit&10bit, color sampling: 420 - crash encoding;
Profile: pro, 8bit&10bit, color sampling: 420 - crash encoding.
Selur
18th October 2020, 11:38
Yeah, seems like the 'high'-profile is now restricted to 4:4:4 as the error it gives is: "Profile 1 requires 4:4:4 color format" and for the 'pro'-profile I get 'Profile 2 bit-depth <= 10 requires 4:2:2 color format"
I assumed:
Main Profile (0) is 8/10-bit 4:2:0 or Monochrome (4:0:0)
High Profile (1) is 8/10-bit 4:2:0, 4:4:4, Monochrome
Professional Profile (2) is 8/10/12-bit, 4:2:0, 4:2:2, 4:4:4, Monochrome
but seems like they limited it to:
Main Profile (0) is 8/10-bit 4:2:0
High Profile (1) is 8/10-bit 4:4:4
Professional Profile (2) is 8/10/12-bit, 4:2:2, 4:4:4
sneaker_ger
18th October 2020, 13:08
AFAIK:
Main Profile (0) is 8/10-bit 4:2:0
High Profile (1) is 8/10-bit 4:4:4
Professional Profile (2) is 12-bit with any sub-sampling; plus 8, 10 bit with 4:2:2
So there is (and always has been) 0 choice about the profile when encoding with a given bitdepth and sub-sampling.
Selur
18th October 2020, 14:03
ah okay,...
Gravitator
7th November 2020, 15:04
AOM
Golden frame dist max: 1 - crash with any settings.
Selur
11th November 2020, 21:07
I can reproduce the crash, it even gives and error:
Failed to control codec: Invalid parameter
max_gf_interval out of range [AOMMAX(2, extra_cfg->min_gf_interval)..(MAX_LAG_BUFFERS - 1)]
-> so it needs to be at least 2 and below 'max frames to lag' -1
Selur
12th December 2020, 15:06
Hybrid rev 2020.12.12.1:
*fixed*
Synth: Avisynth, color matrix seleciton (missing '.')
x264: min/max quant maximum (missing + 18)
Synth: Avisynth, 64bit/32bit switching filter path initialization problem
Synth: Avisynth, small fixes related: RemoveDirt, TFM
Synth: Avisynth, QTGMC filter call
Synth: Vapoursynth, fixed SSIQ
Synth: Vapoursynth, ImageReader always outputs RGB24
Synth: Vapoursynth, HQDering default, LSFMod gui control
Synth: Vapoursynth, ff3dFilter extended supported color spaces
Synth: Vapoursynth, LUTDeCrawl and LUTDeRainbow crashes when 'mask' was used
Synth: Avisynth, import Zs_RF_Shared for edgecleaner
Synth: Avisynth, a few bugs related to interlaced handling in Avisynth
Synth: Avisynth, ColorYUV 'Off' control U/V mixup
Synth: Avisynth, FastLineDarkenMOD call
refresh resize&co on manual input PAR change
Synth: Vapoursynth, typos 'sceneChroma' -> 'scenechroma','internations'->'interrations',...
Synth: respect filter order when calculating output frame count and frame rate.
Synth: handle RGB input
Synth: sRestore support mode -1,-3,-4
Synth: Avisynth, ColorMatrix change preview
Synth: av1 aomenc color space restriction
Synth: error about "overWriteOutputFrameRateValue" when Vapoursynth wasn't present
Muxing: always used ffmpeg for mkv muxing
*changed*
x265: using --scenecut-aware-qp <0..3> and --masking-strength <string> instead of --[no-]scenecut-aware-qp, --scenecut-window <0..1000>, --qp- delta-ref <0..10> and --qp-delta-nonref <0..10
x265: support for --vbv-live-multi-pass, --max-vbv-fullness, --min-vbv- fullness
x265: support for --min-vbv-fullness & --max-vbv-fullness
Synth: Avisynth, removed 'enableAvisynthForDVD' it's always assumed to be enabled now
Synth: Vapoursynth, added overwrite Smooth/Super/Vectors to Interframe
UI: removed simple view for Xvid and x264
Synth: Reset Avisynth and Vapoursynth filter order when filter count changed.
Synth: Avisynth´, force use of D2VSource instead of DGDecode when 64bit Avisynth is used (there does not seem to be any working 64bit DGDecode.dll)
UI: Rearranged the Vapoursynth filters into groups
Tools: FFMpeg, using '-video_size' instead of '-s'
Tools: FFMpeg use ignore_editlist for mov/mp4/3gb input
Synth: Avisynth, limit QTGMC imports
Synth: enforce Crop < Rotate < Resize < Letterbox order in custom filter orders
Synth: Vapoursynth, now also allows interlaced output of scripts
Video: FFvHuFF set output color space
Muxing: use '-of avi' instead of '-of lavf' when muxing to .avi using mencoder
Synth: Vapoursynth, support RGBS in Limiter and Levels
x265: disabled 'replace tune' in 'minimize command line', since atleast '--tune psnr' has some unknown side effects, see: https://bitbucket.org/multicoreware/x265_git/issues/575/can-someone-clear-up-why-tune-psnr
*added*
Output: PNG output, use together with 'raw' as 'container' *experimental*
Synth: Avisynth: old SpotRemover script by Didée (http://forum.doom9.net/showthread.php?p=1402690#post1402690)
Synth: VsAutoWhite script
-> downloads: http://www.selur.de/downloads
Cu Selur
Ps.: Note that Vapoursynth now allows to change the filter order of each filter individually, but this requires to reset the default filter order.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.