rigaya / NVEnc

NVENCによる高速エンコードの性能実験
https://rigaya34589.blog.fc2.com/blog-category-17.html
Other
1.06k stars 108 forks source link

Encoding terminate with dhdr10-info option in v4.44 #138

Closed iykkim closed 2 years ago

iykkim commented 5 years ago

Thanks for v4.44 update but there is other problem... When I use "--dhdr10-info" option, encoding is starting but terminate after some seconds so there is 0 byte of encoding file created. Without --dhdr10-info option, encoding is done well as usual.

rigaya commented 5 years ago

Unfortunately, I'm not able to reproduce the problem. I'm testing using the sample json file Tool_Verification_new_hdr10plus_llc.json,

NVEncC64.exe -b 0 -c hevc --output-depth 10 --profile main10 --dhdr10-info Tool_Verification_new_hdr10plus_llc.json -i input.mkv -o output.265

I was able to parse the metadata by hdr10plus_parser,

hdr10plus_parser.exe output.265 output.json

Is it possible to have a copy of json file you are using for "--dhdr10-info"?

iykkim commented 5 years ago

It's in the OneDrive link as name "meta.json" in #133 that I was uploaded with sample HDR10+ clip. Please see below link again, I still maintaining this link; https://1drv.ms/f/s!ApSX3ujJA5Tvgowsto7h_-ODYjTedw

The "meta.json" is extracted by hdr10plus_parser tool and this sample clip is from 4K HDR10+ Blu-Ray ripped file and I think it's suitable for the development and testing.

P.S You may run below command and will see that encoding is stop after some seconds;

nvencc64 -c h265 --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --max-cll 737,130 --dhdr10-info meta.json -u quality --mv-precision Q-pel --profile main10 --output-depth 10 --lookahead 32 --aq --vbrhq 33089 -i "Alita- sample.hevc" -o "Alita- encSample.hevc"

rigaya commented 5 years ago

Thanks, I have reproduced the issue.

Would you please try without --lookahead?

I've found out it works without lookahead, but whenever you enable lookahead it crushes inside NVENC API NvEncEncodePicture(), and currently not being able to find out how to avoid it.

iykkim commented 5 years ago

I'm confirmed too that it's finally encoding well without --lookahead option. Thanks for your confirm and answer. And is the default value 16 still applying without --lookahead? Then I have no more concern without it.

rigaya commented 5 years ago

And is the default value 16 still applying without --lookahead?

Unfortunately no, without --lookahead, the lookahead feature is fully disabled. Using --dhdr10-info and lookahead crushes regardless of the value of lookahead, when calling NvEncEncodePicture() of NVENC API which sends dynamic hdr10 SEI prefix to the NVENC driver.

iykkim commented 5 years ago

I see. Then looks no other way except not using lookaheah option for now until Nvidia fix this in SDK. Thanks again.