rigaya / VCEEnc

VCEによる高速エンコードの性能実験

Home Page:https://rigaya34589.blog.fc2.com/blog-category-12.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HEVC HQ-VBR mode on --tier=high throws non-critical error [HevcVBVBufferSize=800'000'000 failed: out of range]

DimkaTsv opened this issue · comments

Error happens SPECIFICALLY on --tier=high of HEVC, default value for VBV buffer is 3 digits more than max allowed. As it is non-critical error, VCEEncC just complaints that number for vbv buffer size = 800'000'000 is out of range, and sets Max bitrate to 800'000 instead, while VBV buffer size goes down to avg-bitrate value.

For tier=main, value for max bitrate AND vbv buffer are being set by default to 240'000, and there is no error with vbv buffer size being out of range.
If i set --max-bitrate OR --vbv-bufsize manually this error disappears.
If --max-bitrate is being used, VBV buffer keeps being equal to average bitrate value, and not max bitrate, comparing to main tier.
If --vbv-bufsize is being used, MAX bitrate is being defaulted to 800'000 (which is not an issue in this case)

Used command:
./VCEEncC64.exe -i "C:\Users----\Videos\Radeon ReLive\Black Desert Online\Test_video.mp4" -o "Test_video_processed.mp4" --codec hevc --profile main --level 6.2 --tier high --preset slow --ref 4 --ltr 3 --vbrhq 20000 --pa sc=high,ss=high,activity-type=yuv,lookahead=41,taq=2 --audio-copy

C:\Users\----\Videos\Radeon ReLive\Black Desert Online>C:\Users\----\Desktop\Utilites\VCE_Encoder\VCEEncC_8.12_x64\\VCEEncC64.exe -i "C:\Users\----\Videos\Radeon ReLive\Black Desert Online\Test_video.mp4" -o "Test_video_processed.mp4"  --codec hevc --profile main --level 6.2 --tier high --preset slow --ref 4 --ltr 3 --vbrhq 20000 --pa sc=high,ss=high,activity-type=yuv,lookahead=41,taq=2 --audio-copy
--------------------------------------------------------------------------------
Test_video_processed.mp4
--------------------------------------------------------------------------------
Pre-analysis will be enabled for VBR-HQ mode.
storage->SetProperty(HevcVBVBufferSize)=800000000 failed: out of range..
VCEEnc (x64) 8.12 (r1466) by rigaya, May  4 2023 07:34:56 (VC 1934/Win)
OS:            Windows 11 x64 (22621) [UTF-8]
CPU:           AMD Ryzen 7 5800X3D 8-Core Processor [4.46GHz] (8C/16T)
GPU:           AMD Radeon RX 6750 XT [31.0.14057.5006]
AMF:           Runtime 1.4.29 / SDK 1.4.29
Input Info:    avvce: H.265/HEVC, 1920x1080, 60/1 fps
Output:        H.265/HEVC  main @ Level 6.2 (high tier)
               1920x1080p 1:1 60.000fps (60/1fps)
               avwriter: hevc, aac => mp4
Quality:       slow
VBR-HQ:           20000 kbps
Max bitrate:   800000 kbps
QP:            Min: 0:0, Max: 51:51
VBV Bufsize:   20000 kbps
Bframes:       0 frames
Pre Analysis:  sc high, ss high, activity yuv
               lookahead 41, caq medium, paq none, taq 2, motion-qual none, ltr off
Ref frames:    4 frames
LTR frames:    3 frames
Motion Est:    Q-pel
Slices:        1
GOP Len:       600 frames
Others:        skipframe:on deblock

The maximum vbv buffer which can be set seems to be 500000kb, VCEEnc 8.17 will apply this upper limit automatically to avoid the error mentioned here.

Fix confirmed in VCEEncC 8.17, limit applies correctly (at least it for sure reports itself properly and doesn't throw an error)
Issue closed.
Thanks