x265 Common Hard (more control, less no-brainer settings, but makes things complex...)
[
Note: all unlisted settings are default
Warning: laptop users, remember connect to power
Split Block: --ctu < <1600x900=16; 1600x900~2080x1170=32; >2080x1170=64> --min-cu-size 16 --limit-tu 1 --tu-intra-depth 2 --tu-inter-depth 2
Motion search: --me umh --subme 5 --merange <minimum(52 or ctu minus 4 and minus subme)> --analyze-src-pics
*Alternative M. Search*: --hme-search umh --subme 5 --hme-range <Cm4mS÷4,Cm4mS÷2,ctu minus 4 minus subme>
Intra-frame Search: --max-merge 2 --early-skip --b-intra
Rate/frame Control: --no-open-gop --min-keyint 5 --ref 3 --fades --pbratio <1.2 for grain-less anime only, keep default in any other situation> --bframes 14 --b-adapt 2 --no-strong-intra-smoothing --frame-dup --dup-threshold 59
Transitions: --scenecut-aware-qp --max-qp-delta 6
Quantization: --crf <17~20, or any> --crqpoffs -3 --cbqpoffs -1
RDO-Quantization: --rdoq-level 1
Adaptive Quantize: --aq-mode 1 --aq-strength <grain-less anime=0.8, film=1> --qg-size 16
Mode Decision: --rd 5 --limit-modes --limit-refs 3 --rect --rskip 1 --rc-lookahead <triple framerate (whole number)> --tskip-fast
Rate Distort Optimize: --psy-rd <film=1.6, no-grain anime=0.6 *add or minus 0.6 if ctu is 64 or ctu is 16*>
*Note here I've disabled psy-rdoq by default as type II recommendation, suggests it has duplicated function as psy-rd, which there's only 1 needed
*Type III recommendation suggests to use psy-rdoq only, as psy-rd is currently slow for no CPU assembly written, --psy-rdoq <film=3.4, no-grain anime=2.3, *add or minus 0.2 if ctu is 64 or ctu is 16*>
Deblock: <as default, or --deblock 0:0 for less filtering strength>
Sample Accommodating Offset: --limit-sao --sao-non-deblock
Data Perspective Lossless: <disabled as default>
Picture/Sequence/Rate Parameter Set: --opt-qp-pps --opt-ref-list-length-pps --repeat-headers <for playing unmultiplexed h.265 video normally>
Input and Output (maybe consistency?): --hash crc --allow-non-conformance <use when writing custom parameters like here> --idr-recovery-sei <use when playing through network like from nas>
Processor Workload: --pools <if you have multiple CPU-RAMs, check x265.readthedocs.io for this parameter>
Multi-thread referencing: <as default>
HDR Support-step1: find out you video color space
G(x0.265, y0.690), B(x0.150, y0.060), R(x0.680, y0.320), WP(x0.3127, y0.329) is DCI-P3
G(x0.30, y0.60), B(x0.150, y0.060), R(x0.640, y0.330), WP(x0.3127,y0.329) is bt709
G(x0.170, y0.797), B(x0.131, y0.046), R(x0.708, y0.292), WP(x0.3127,y0.329) is bt2020
HDR Support-step2: --master-display <write the correct param as the above information that matches:
For HDR DCI-P3: G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(?,1)
For HDR bt709: G(15000,30000)B(7500,3000)R(32000,16500)WP(15635,16450)L(?,1)
For HDR bt2020: G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(?,1)
HDR Support-step3: Check source HDR video's luminance, and replace the "?" above with the exact amount as is. There is no standard, so each HDR video could be different on that
HDR Support-step4: --max-cll <maximum content light level, use only when source video is specified, or discovered by ffprobe while source video did not specify>
--hdr10 <increase bitrate for HDR10 videos>
--colormatrix <choose one according to source video INFO: GBR bt709 fcc bt470bg smpte170m smpte240m YCgCo
bt2020nc bt2020c smpte2085 ictcp>
--transfer <transfer characteristics, choose one or keep unspecified, if source video is unspecified: GBR bt709 fcc bt470bg smpte170m smpte240m YCgCo
bt2020nc bt2020c smpte2085 ictcp>
Windows export log: 2>D:\folder\log.txt
Linux export log: 2>&1 | tee D:\folder\log.txt
]
x265 Slow Hard (gives extra compression... or less compression trades to more quality)
[
Note: all unlisted settings are default
Warning: laptop users, remember connect to power
Split Block: --ctu < <1600x900=16; 1600x900~2080x1170=32; >2080x1170=64> --limit-tu 1
Motion search: --me star --subme 5 --merange <minimum(52 or ctu minus 4 and minus subme)> --analyze-src-pics
*Alternative M. Search*: --hme-search star --subme 5 --hme-range <CmS÷4,CmS÷2,ctu minus subme>
Intra-frame Search: --max-merge 4 --early-skip --b-intra
Rate/frame Control: --no-open-gop --min-keyint 1 --ref 3 --fades --bframes 16 --b-adapt 2 --no-strong-intra-smoothing --frame-dup --dup-threshold 70
Transitions: --scenecut-aware-qp --scenecut-window 650 --max-qp-delta 6
Quantization: --crf <17~20, or any> --crqpoffs -3 --cbqpoffs -1
RDO-Quantization: --rdoq-level 2
Adaptive Quantize: --aq-mode 1 --aq-strength <grain-less anime=0.8, film=1> --qg-size 16
Mode Decision: --rd 5 --limit-modes --limit-refs 3 --rect --rskip 1 --rc-lookahead <quadruple framerate (whole number)>
Rate Distort Optimize: --psy-rd <film=1.6, no-grain anime=0.6 *add or minus 0.6 if ctu is 64 or ctu is 16*> --rdpqnalty 1 --splitrd-skip
*Note here I've disabled psy-rdoq by default as type II recommendation, suggests it has duplicated function as psy-rd, which there's only 1 needed
*Type III recommendation suggests to use psy-rdoq only, as psy-rd is currently slow for no CPU assembly written, --psy-rdoq <film=3.4, no-grain anime=2.3, *add or minus 0.2 if ctu is 64 or ctu is 16*>
Deblock: <as default, or --deblock 0:0 for less filtering strength>
Sample Accommodating Offset: --limit-sao --sao-non-deblock --selective-sao 2
Data Perspective Lossless: <disabled as default>
Picture/Sequence/Rate Parameter Set: --opt-qp-pps --opt-ref-list-length-pps --repeat-headers <for playing unmultiplexed h.265 video normally>
Input and Output (maybe consistency?): --hash crc --allow-non-conformance <use when writing custom parameters like here> --idr-recovery-sei <use when playing through network like from nas> --nr-inter 20 --nr-inter 10 (nrs' are applied very lightly, so it should increase compression with a little trade off)
Processor Workload: --pools <if you have multiple CPU-RAMs, check x265.readthedocs.io for this parameter>
Multi-thread referencing: <as default>
HDR Video Support Setp 1,2,3,4: <same as above>
Windows export log: 2>D:\folder\log.txt
Linux export log: 2>&1 | tee D:\folder\log.txt
]
Done... sorry for the delay, I had final exams to do and staying home at the same time
Take care