rigaya / QSVEnc

QSVによる高速エンコードの性能実験
http://rigaya34589.blog135.fc2.com/blog-category-10.html
Other
322 stars 31 forks source link

--adapt-ltr? #78

Closed mikk9 closed 11 months ago

mikk9 commented 2 years ago

I have a question regarding version 7.05:

Remove --adapt-ltr, which was deprecated in oneVPL.

Intel deprecated ExtBrcAdaptiveLTR:

ExtBrcAdaptiveLTR; / Deprecated /

However they did not deprecate AdaptiveLTR by the looks of it? Here you can see: https://github.com/oneapi-src/oneVPL-intel-gpu/blob/35ec1c26ae7298ded7623b97b909f16bf6071914/api/vpl/mfxstructures.h

Does it work? And by the way is AdaptiveCQM a useful option?

rigaya commented 2 years ago

QSVEnc 7.06 adds new option for AdaptiveLTR(--adapt-ltr), AdaptiveRef(--adapt-ref) and AdaptiveCQM(--adapt-cqm).

mikk9 commented 2 years ago

Nice stuff. I tested some things, I think SAO and tskip disabled is better (yes it can be disabled now). SAO tends to make the video softer and therefore detail preservation is not as good. So I prefer SAO and tskip disabled, you could re-enable SAO, CTU, tskip for the log by the way.

I don't want creating a new thread but I think something is broken with LA_VBR h264. The seeking and gop number doesn't match. On a 24fps video with 120 gop the seeking is like 20 seconds and not 5 seconds. CBR works fine, only LA_VBR seems to be affected. I think something is not working as expected.

rigaya commented 2 years ago

you could re-enable SAO, CTU, tskip for the log by the way.

I'll re-enable them at next release.

I think something is broken with LA_VBR h264. The seeking and gop number doesn't match.

I've tested with simple option below, but seems to be fine, checking the IDR frame in the output file. QSVEncC64.exe -i input -o output.264 --la 4000 --gop-len 120

There were 30 IDR frames in 3501 frames, checked by h264_parse in mpeg4iptools, so IDR interval was as expected. (3501/120=29.175)

mikk9 commented 2 years ago

Ok I will look into it later this week, maybe it depends on some specific encode settings which causes it. My test video is below but I guess it's not related.

https://drive.google.com/file/d/1YX1V0SeSkYaq6Ui41vv1wcOatbLnuLSL/view

mikk9 commented 2 years ago

Looks like open gop is the culprit, works fine with strict gop. Seems like LA_VBR needs a strict gop.

ma3uk commented 2 years ago

I don’t understand something, I try to activate AdaptiveLTR and AdaptiveCQM with AVC, but I get a message that the platform does not support. I use 12700K, installed windows 10 22h2, OneAPI v.2022.02. What needs to be done or installed to start working? Similar situation with --no-deblock in AVC

mikk9 commented 2 years ago

According to the feature check AdaptiveCQM is only supported for MPEG2. I don't know if this is expected, it seems odd. From the github sources it seems to be for H264 or even H265. AdaptiveLTR never was supported on H264, it's for H265. Same for no Deblock.

mikk9 commented 2 years ago

It's strange that CQM is only supported for MPEG2, Intel says it's enabled for AVC since API 2.6. I think Intel needs a better documentation about all their features.

AVC Encode

https://github.com/oneapi-src/oneVPL-intel-gpu/releases