Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vceenc_x64 + ffmpeg 6.0 + amd amf 1.3.40 -- How to have Film Grain ?! #96

Open
amdvce opened this issue Sep 25, 2023 · 2 comments
Open

Comments

@amdvce
Copy link

amdvce commented Sep 25, 2023

Hi rigaya, many thank for this wonderful tool for amd owners.

I custom update and mantain up-to-date all the tools required to create videos and i do have the latest versions built.

VCEEnc x64 - v.8.16 built with FFmpeg 6.0 and AMD AMF 1.3.40.

I noticed that currently vceenc ffmpeg was 5.1.2, so i updated to latest snapshot ffmpeg 6.0 built on september-24-2023.
Also i did update amd amf too to latest version 1.3.40.
With those updated i can do much, much more on my igpu.

However my problem is the Film Grain. as i just can't find the setting regarding that.
I do have a source with best quality for many videos, videos that came with Film Grain in their original format and have excellent quality.
However once i convert it to lower bitrate like 2400 kbs or even higher i loose the magic Film Grain and Quality too.
It's just non watchable, really.

At the time of writing this i have all the latest updates of amd drivers such as
AMD Software v23.9.2 and Drivers 31.0.21902.5.
My system is an Zen 2 AMD Ryzen 5 - 5500U (6 cores + 6 threads) and my igpu is AMD Vega 7 with 7 cores units.
Now i do know that Zen 2 is a tweak of nm of Zen 1 and that my Vega 7 igpu is based on/from 2017 with again nm tweaked, still i had before an intel igpu that could do Sharpening and add Film Grain.
On AMD i just can't find it at all and it makes me MAD !
I know i know that Itel are kings regarding video quality, and AMD are just bad, but it should be somewhere the option to turn on the Film Grain or Sharpening in/on AMD too, please help as i am desperate !

a. original source - has film grain and quality
a  original source - has film grain and quality

b. vceenc_x64 v8.16 custom + ffmpeg v6.0 build 24-sept-2023 + amd amf v1.4.30
b  vceenc_x64 v8 16 custom + ffmpeg v6 0 build 24-sept-2023 + amd amf v1 4 30

c. info
c  info

@amdvce
Copy link
Author

amdvce commented Sep 25, 2023

ps. i even tried separated ffmpeg 6.0 and amd amf 1.3.4, transcodehw and with all i have the same non grain or should i say lost grain and the quality is not welcomed.

I can say whatsoever that encoding on cpu only, the quality is awesome with x.265.exe, but the time to finish is hmmm hours like 160 minutes..

And i forgot to tell that on AMD AMF TranscodeHW.EXE i do have Pre Analysis working on HEVC too with CBRHQ (CBR-High Quality).
Even on FFMPEG 6.0 CBRHQ (CBR-High Quality) for HEVC is working too.

Just to give an example HEVC with CBRHQ (CBR-High Quality) on both AMD AMF TranscodeHW.EXE & FFMPEG 6.0 without Pre Analysis enabled i have over 100 fps like around 108 fps.
When i enable Pre Analysis the fps goes down to 37 fps for both AMD AMF and FFMPEG !

On VCEEnc.x64 i have way over 138 fps, but the vceenc.x64 doesn't see the cbrhq for hevc nor the pre analisys (i am still looking into the source code to fix it)

More AMD AMF TranscodeHW.exe and also FFmpeg 6.0 use the igpu's Video Codec 0 and by doing that only as the
CPU is staying only at 2 %
iGPU Video Codec 0 is sometimes at 100 %.
on amd amf and ffmpeg is working wonderful the setting "-hwaccel d3d11va -hwaccel_output_format d3d11"

On VCEEnc.x64 the CPU is going to 37 % and the igpu Video Codec 0 is at 38 % and 3D is at 27 %.

I am still looking into VCEEnc source code to address this, because it's a very big thing.

Last both on AMD AMF and FFMPEG 6.0 i can use -usage high_quality -quality quality
on VCEEnc.x64 i can't use both, just one like --preset slow that's why on VCEEnc .x64 i do have higher frame rate than the above two, but sadly lower quality also.

@amdvce
Copy link
Author

amdvce commented Sep 26, 2023

Clipboard01
it works HQ-CBR only on 8-bit, on 10-bit no way..amd amf

anyway on HEVC works HQ-CBR with --pa on and HQ-VBR with again --pa on but the fps on both is from 7 fps to 19 fps !
hahaha amd wanna be quality and performance, mr rigaya if i were you sir i will close this project as it is a waste of your time trying to fix amd mistakes, amd makes video encoding a joke really and why bother when Intel or nVidia are top and amd was is and it will always be a non player.
AMD gpu or igpu are just broken things, won't worth spending time fixing something that can't be fixed !

here are my result with you wonderful QSVEncC and VCEEnc
GPUOpen-LibrariesAndSDKs/AMF#420 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant