tree 848da645396738319701f98000f120d8f6f31b63
parent 3f7f701f6b35fef2947e36a3ba657b0919b2bca4
author Vignesh Venkatasubramanian <vigneshvg@users.noreply.github.com> 1651263280 -0700
committer GitHub <noreply@github.com> 1651263280 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJibEcwCRBK7hj4Ov3rIwAARS4IAAbHj+0Q9vNqkZvD3pU+isu2
 XcBNqLUMK83syKy/0EyBrYmrzUelelGGZ5TYkIeAArMWQdEs09Ja0PeN8wcuyxSM
 Jzh2ASE456CgAp4w3jNJmPSREHRc8eo+XG2bodeFnmxJJULclfK8Y3gsUuNLS+wj
 tf35atB3Iwm1tx6ANtdLeetk/LK94mblpLoCGvaKoE8Ga1rGhagPau+eS02PwQfY
 cGb37eaIsNAbHorgtz1U2EBnZOvyLfZBmDNR124hD869fYU/ui1n9tVDqHupBNTQ
 G+aMTda/iBt7TcJlwIGy5tFp9tyjJbLicyPLzGmIGVam2f34VWhb6eJhvO6QJYs=
 =UPAe
 -----END PGP SIGNATURE-----
 

Remove alphaRange from avifImage (#926)

The AVIF draft specification disallows limited range alpha and it
will eventually be in the specification once AOM ratifies it [1] [2].

Even though the default value of alphaRange is set to
AVIF_RANGE_FULL, it is possible for applications to override it
and set it to AVIF_RANGE_LIMITED thereby producing AVIF images
that will eventually be invalid.

On the encoder side, this PR prevents such images from being
produced by libavif.

On the decoder side, if we encounter an image with limited range
alpha, we always convert it to full range alpha and the applications
can assume that alpha plane is always in full range (as it will be
required by the spec eventually).

This change breaks the ABI and a note has been added to CHANGELOG.md
in the "Unreleased" section to document that.

[1] https://github.com/AOMediaCodec/av1-avif/pull/101
[2] https://aomediacodec.github.io/av1-avif/#auxiliary-images