Open juliobbv-p opened 9 months ago
If this is added, another option should be added for inputting a manually de-grained input for encoding along with the original for grain estimation.
Is this what --fga in VVenC does? https://github.com/fraunhoferhhi/vvenc/commits/master/
vvencapp: VVenC, the Fraunhofer H.266/VVC Encoder, version 1.12.0 [Windows][clang 18.1.8][64 bit][SIMD=AVX2]
#======== Film grain analysis ================
--fga [0] Experimental: Enable film grain analysis and generate FGC SEI message
And if so, could the open-source code be re-used for SVT-AV1 - or is this part of the VVC code patented, too?
+1 for having such an estimator for a AV1 encoding chain. From all guides I've seen, the amount of denoising and respective noise generation is simply trial and error.
The optimal solution would be to enable automatic photon noise table generation (or at least selection). BlueSwordM's code 'photon_noise_table' is currently outside SVT-AV1.
VVC's specific implementation is patented, but under a BSD license. More importantly, it's vastly different from AV1's method, there's already a perfectly good AV1 implementation, and the glue code to combine it all into a single option that denoises + adds grain tags is very particular to the way the reference encoder is organized; SVT encoders are set up VERY differently. vvenc's implementation would not be helpful.
It really just needs someone motivated enough to link together the right bits in the right spots throughout the codebase, without crowbarring it in too messily. I haven't looked into it enough to know how complex a project that would be.
SVT-AV1 currently doesn't have a film grain/noise estimator in its code, so having one will help unlock working on these features:
--film-grain auto
setting