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

Update media-suite_compile.sh #2221

Closed
wants to merge 2 commits into from
Closed

Conversation

ls-milkyway
Copy link
Contributor

Description
VMAF support for AOM

Add VMAF support to aomedia so that command --tune=vmaf can be used with standalone aom encoder.

As mentioned in the AOM's readme.md
I have compiled & successfully used --tune=vmaf_with_preprocessing with the standalone aomenc encoder built by the script.

Please note that the default VMAF model (“/usr/local/share/model/vmaf_v0.6.1.json”) will be used unless you set the following flag when running the encoder:
--vmaf-model-path=path/to/model

VMAF support

Add VMAF support to aomedia so that command --tune=vmaf can be used during encoding

Please note that the default VMAF model (“/usr/local/share/model/vmaf_v0.6.1.json”) will be used unless you set the following flag when running the encoder:
--vmaf-model-path=path/to/model
@1480c1
Copy link
Member

1480c1 commented Jun 23, 2022

Can you confirm that the issues mentioned in #1535 does not appear anymore?

@ls-milkyway
Copy link
Contributor Author

ls-milkyway commented Jun 24, 2022

Can you confirm that the issues mentioned in #1535 does not appear anymore?

I have successfully built with commit 2da55ddb75cfd009bb4b526f5cc8a6b15f1a860a on Jun 16, 2022 with no problems whatsoever ...even with vvenc & vvdec ...using non-free license & changes as per my pull request.

I pull requested only after a successful build & testing aomenc with "--tune" flag.

The issue #1535 is very old .....do you mean it still persists? OR is it appearing again with my pull request in other license or settings??

The issue may be arising due to passing -DCONFIG_TUNE_VMAF=1 as an extracommands.

@1480c1
Copy link
Member

1480c1 commented Jun 25, 2022

is it appearing again with my pull request in other license or settings??

This one as I previously tried enabling vmaf for aom, but when aom was linked to ffmpeg, it failed at link time. I don't remember if I managed to get it fixed or not

I do see a commit for it that came after the issue, but I don't remember testing it afterwards m-ab-s/aom@0d36ee3

@@ -1019,7 +1019,7 @@ if { [[ $aom = y ]] || [[ $libavif = y ]] || { [[ $ffmpeg != no ]] && enabled li
do_uninstall include/aom "${_check[@]}"
get_external_opts extracommands
do_cmakeinstall video -DENABLE_{DOCS,TOOLS,TEST{S,DATA}}=off \
-DENABLE_NASM=on -DFORCE_HIGHBITDEPTH_DECODING=0 "${extracommands[@]}"
-DCONFIG_TUNE_VMAF=1 -DENABLE_NASM=on -DFORCE_HIGHBITDEPTH_DECODING=0 "${extracommands[@]}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you may want to make this a conditional, based on the same conditions that libvmaf is enabled ([[ $ffmpeg != no ]] && enabled libvmaf ) since there's no guarantee that a person enabled aom will always have vmaf enabled

Copy link
Contributor Author

@ls-milkyway ls-milkyway Jun 26, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VMAF for FFMPEG may not be required to enable it ....as far as I see VMAF is compiled & built after the AOM in your suite...or is there any sort of linking???.....may be -DCONFIG_TUNE_VMAF=1 is independent/inbuilt parameter of AOM.....

I will check & revert:

Well, AOM is one of the best AV1 encoders with many options/parameters to get the best results .... --tune= is one of them ...with total 7 possible options ...with --tune=psnr & --tune=ssim inbuilt .....others are:
--tune=vmaf_without_preprocessing --tune=vmaf_with_preprocessing ....there is also one of the best option i.e. --tune=butteraugli

You want to ask user an option to built AOM with vmaf in media-autobuild_suite.bat with it's corresponding code in media-suite_compile.sh? ...if that's the case then what about --tune=butteraugli?
......It's true that not everyone will use vmaf or butteraugli ...but I feel a comprehensive encoder like AOM should be built with all possible options .....screenshot of my built AOM running with --tune=vmaf_without_preprocessing

aomenc-vmaf

Still searching a way to include butteraugli

Copy link

@gitoss gitoss Jun 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

....there is also one of the best option i.e. --tune=butteraugli

Sure it would be nice to have tune vmaf for aom build-in. However, for vmaf there is av1an or ab-av1 - not only with aom, but a bunch of encoders.

However butteraugli has been lost, it would be nice to have a way to enable it because it's useful for avif (libavif) encoding, too. Currently it requires an older libjxl lib (0.8.2) - I had tried to git this 0.8.x branch but as a mediasuite newbie ran into numerous problems while trying to compile.

There are some tickets on libjxl and libavif - it would be great to enable butteraugili for aom even with current libjxl versions, even if if only for 8 bpp.

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

Successfully merging this pull request may close these issues.

3 participants