Strange thing on psy-rd option.

Issue #387 closed
maP1E bluE created an issue

I tried several versions of the encoder,use the following parameters. The encoded file in Mediainfo shows psy-rd=0.00. What is the conflict between these parameters? I've read the document but I'm still confused.

vspipe --y4m 1080pa.vpy - | x265 --y4m --preset slower --crf 20 --qcomp 0.70 --aq-mode 2 --aq-strength 0.9 --qg-size 16 --cbqpoffs -2 --crqpoffs -2 --subme 5 --merange 25 --rc-lookahead 60 --rd 4 --rdoq-level 1 --psy-rd 1.55 --psy-rdoq 1.80 --ssim-rd --no-sao --no-amp --no-rect --no-strong-intra-smoothing --rdpenalty 1 --ctu 32 --max-tu-size 16 --output-depth 10 --no-open-gop --keyint 360 --min-keyint 1 --colorprim bt709 --deblock -1 --output "265a.hevc" -

Comments (7)

  1. maP1E bluE reporter

    The information output in the console

    D:\Extra>vspipe --y4m 1080pa.vpy - | x265 --y4m --preset slower  --crf 20 --qcomp 0.70 --aq-mode 2 --aq-strength 0.9 --qg-size 16 --cbqpoffs -2 --crqpoffs -2   --subme 5 --merange 25  --rc-lookahead 60   --rd 4  --rdoq-level 1 --psy-rd 1.55 --psy-rdoq 1.80 --ssim-rd  --no-sao --no-amp --no-rect  --no-strong-intra-smoothing  --rdpenalty 1 --ctu 32  --max-tu-size 16     --output-depth 10 --no-open-gop --keyint 360 --min-keyint 1  --colorprim bt709  --deblock -1  --output  "265a.hevc" -
    y4m  [info]: 1920x816 fps 24000/1001 i420p16 unknown frame count
    raw  [info]: output file: 265a.hevc
    x265 [info]: HEVC encoder version 2.6+24-69cfe46e8a3b
    x265 [info]: build info [Windows][MSVC 1900][64 bit] 10bit+8bit
    x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    x265 [info]: Main 10 profile, Level-4 (Main tier)
    x265 [info]: Thread pool created using 4 threads
    x265 [info]: Slices                              : 1
    x265 [info]: frame threads / pool features       : 2 / wpp(26 rows)
    x265 [info]: Coding QT: max CU size, min CU size : 32 / 8
    x265 [info]: Residual QT: max TU size, max depth : 16 / 2 inter / 2 intra
    x265 [info]: ME / range / subpel / merge         : star / 25 / 5 / 3
    x265 [info]: Keyframe min / max / scenecut / bias: 1 / 360 / 40 / 5.00
    x265 [info]: Cb/Cr QP Offset                     : -2 / -2
    x265 [info]: Intra 32x32 TU penalty type         : 1
    x265 [info]: Lookahead / bframes / badapt        : 60 / 8 / 2
    x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 1
    x265 [info]: References / ref-limit  cu / depth  : 4 / on / off
    x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 0.9 / 16 / 1
    x265 [info]: Rate Control / qCompress            : CRF-20.0 / 0.70
    x265 [info]: tools: limit-modes rd=4 ssim-rd rdoq=1 psy-rdoq=1.80 rskip
    x265 [info]: tools: limit-tu=4 signhide tmvp b-intra lslices=4
    x265 [info]: tools: deblock(tC=-1:B=-1)
    x265 [info]: frame I:     37, Avg QP:17.35  kb/s: 18081.72
    x265 [info]: frame P:    982, Avg QP:20.23  kb/s: 8678.04
    x265 [info]: frame B:   3429, Avg QP:24.93  kb/s: 1906.40
    x265 [info]: Weighted P-Frames: Y:10.7% UV:6.5%
    x265 [info]: Weighted B-Frames: Y:6.3% UV:3.1%
    x265 [info]: consecutive B-frames: 9.9% 8.0% 7.0% 29.7% 15.1% 23.0% 3.0% 2.3% 2.1%
    
    encoded 4448 frames in 1109.81s (4.01 fps), 3535.95 kb/s, Avg QP:23.83
    
  2. Ashok Kumar Mishra
    1. There are three different ways to compute the rd cost in analysis for mode decision. a) psy-rd: Use psycho visual rate distortion strength b) ssim-rd: Use ssim value c) Use only distortion So you can use anyone among the above three to compute the rd cost for mode decision. When ssim-rd is enabled, it uses ssim value of the block for rdo cost calculation and makes psy-rd value 0.

    psy-rdoq is a different parameter used for rdoq analysis. It is enabled when you are using --rdoq-level 1. So it can be used along with psy-rd or ssim-rd parameter, since both are two different things used for different purpose.

    Hope the above explanation will clarify the conflict between these parameters.

  3. Log in to comment