-
Notifications
You must be signed in to change notification settings - Fork 207
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
Document the policy on internal.h vs. avif.h #1589
base: main
Are you sure you want to change the base?
Conversation
Unrelated but not so much: is there any will to split avif.h (e.g. in encode/decode/extras) to make it easier to read and also to enable the distribution of a decode-only libavif version (which would reduce sizes (useful for TV boxes) and risks (by limiting the available API)) ? |
libavif in itself should be fairly lightweight. TV boxes that only require the decoder are better off building libavif without the underlying AV1 encoder libraries, which is where the bulk of the binary size comes from. Ideally, libavif can be split too into encoder and decoder components but the savings isn't gonna be much. |
Vincent, The second thing you asked about, the distribution of a decode-only libavif version, is already done in the alternative build systems for libavif in Google's internal repository and in Chrome. It is true that the decode-only libavif version still uses the regular avif.h, which contains declarations of unimplemented functions. The first thing you asked about, splitting avif.h to make it easier to read, also came up in my review of #1565. This is why I may not merge this pull request. Note: This pull request documents my understanding of the original two headers of the libavif library, and Joe Drago's review confirms I understand it correctly. |
This PR is good as is as it makes explicit the current structure/convention. Here is my opinion though and please feel free to agree to disagree :)
The codebase will continue to grow because of new codecs/features. I believe it is just a matter of time before we need to re-organize files. This PR LGTM. |
No description provided.