GPUOpen-LibrariesAndSDKs / AMF

The Advanced Media Framework (AMF) SDK provides developers with optimal access to AMD devices for multimedia processing
Other
599 stars 149 forks source link

[Question]: how to activate or enable Film Grain ?! #437

Closed amdvce closed 7 months ago

amdvce commented 8 months ago

Original question is here: https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/419

Got the answer from a non Ai person. low iq person

So if someone asks how to ADD FILM GRAIN the answer provided from AMD is about how to REMOVE

And by now AMD concluded that they do not have or posses this very important function as the big boys Intel and nVidia have it for decade. Imagine AMD selling every igpu and gpu without one of most important function ever for encodings aka video sharpening aka film grain.

Laughable it is.

DimkaTsv commented 7 months ago

So if someone asks how to ADD FILM GRAIN the answer provided from AMD is about how to REMOVE

There already was an answer from AMF developers. Moreover it was explicitly stated in issue you made and linked here ( https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/419#issuecomment-1735681039) But you ignored it!

Film grain and sharpening are not currently part of the encoder or AMF filters. We want to take this opportunity to mention that we value user requests such as yours and will consider adding this to AMF in the future.

I have no idea how this answer could've been provided to you in more concise way.

Moreover, you tried to frame it as NVENC "supports" film grain by default, while after quick search i can see that even Rigaya (developer of NVEnc, VCEEnc and QSVEnc tools with direct interaction to NVENC, AMF and QSV respectively) stated that there is no such thing without using external filters. And it wasn't even that long ago [march of last year] And Nvidia by themselves only stated that there is Film Grain PASSTHROUGH capability for AV1 NVENC encoder. AV1 parameters though do assume film-grain filter capabilities though, but as high compression codec it writes film grain as external addon on top of smooth encoded video. And this filter only works on SW encoder.

https://docscontent.nvidia.com/dita/00000186-1a2d-d34f-a596-3f2d10d50000/video-codec-sdk/pdf/NVENC_Application_Note.pdf

https://github.com/rigaya/NVEnc/issues/470

Same with Intel QSV. It also doesn't seem to support film grain natively... Passthrough at best (Even for AV1, and question was asked at september of last year, so it is recent) https://github.com/rigaya/QSVEnc/issues/167

Moreover even ffmpeg by itself doesn't have it's own film grain filter (except one for AV1. SVT-AV1 encoder to be more specific. [-svtav1-params film-grain=X])

https://www.ffmpeg.org/ffmpeg-codecs.html

So people either use complex filter commands or libplacebo library custom filter options [like apply_filmgrain] instead.

https://www.ffmpeg.org/ffmpeg-filters.html https://www.reddit.com/r/AV1/comments/xxzm4p/film_grain_synthesis_w_intelnvidiaamd_hw_encoding/ https://stackoverflow.com/questions/48821220/ffmpeg-film-grain https://gist.github.com/logiclrd/287140934c12bed1fd4be75e8624c118


So, now i will return question to you. Why do you openly lie by saying this:

Take a look at nVidia and Intel, they both have it from a very long time ago mate !

If they don't have it? If they do have it on HW! level, then i will ask you to provide proper example of samples, programs and commands used.

rhutsAMD commented 7 months ago

This forum is dedicated to AMF SDK support and integration.