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

aom encoder: expose auto-tiles boolean option (since v3.10.0) #1330

Merged
merged 1 commit into from
Oct 10, 2024

Conversation

lovell
Copy link
Contributor

@lovell lovell commented Oct 10, 2024

Setting this option allows libaom to determine the optimum tile count for the given output dimensions and available threads.

This typically reduces encoding (wall clock) time and/or peak RAM consumption at the cost of slightly increased file sizes. I see a ~30-50% speed up on many-core systems.

$ /usr/bin/time -v heif-enc in.jpg -o out.avif
	User time (seconds): 1.71
	System time (seconds): 0.03
	Percent of CPU this job got: 258%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.67
	Maximum resident set size (kbytes): 50432
$ /usr/bin/time -v heif-enc -p auto-tiles=true in.jpg -o out.tiled.avif
	User time (seconds): 2.23
	System time (seconds): 0.04
	Percent of CPU this job got: 588%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.38
	Maximum resident set size (kbytes): 52864
 847374 in.jpg
 117500 out.avif
 118148 out.tiled.avif

Setting this option allows libaom to determine the optimum tile
count for the given output dimensions and available threads.

This typically reduces encoding (wall clock) time and/or peak
RAM consumption at the cost of slightly increased file sizes.
@farindk farindk merged commit 5cf6870 into strukturag:master Oct 10, 2024
34 of 35 checks passed
@farindk
Copy link
Contributor

farindk commented Oct 10, 2024

Very nice.

Note that I am currently finalizing writing/reading individual tiles:
https://github.com/strukturag/libheif/wiki/Read-and-Writing-Tiled-Images

This might also be interesting for libvips. Not just because of the parallelization possibilities, but also because of the support for much larger images.

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.

2 participants