You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import pillow_avif
import PIL
import io
# just some encoded avif
image = b'\x00\x00\x00 ftypavif\x00\x00\x00\x00avifmif1miafMA1B\x00\x00\x01\x8dmeta\x00\x00\x00\x00\x00\x00\x00(hdlr\x00\x00\x00\x00\x00\x00\x00\x00pict\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00libavif\x00\x00\x00\x00\x0epitm\x00\x00\x00\x00\x00\x01\x00\x00\x00,iloc\x00\x00\x00\x00D\x00\x00\x02\x00\x01\x00\x00\x00\x01\x00\x00\x01\xc9\x00\x00\x00\x16\x00\x02\x00\x00\x00\x01\x00\x00\x01\xb5\x00\x00\x00\x14\x00\x00\x00Biinf\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1ainfe\x02\x00\x00\x00\x00\x01\x00\x00av01Color\x00\x00\x00\x00\x1ainfe\x02\x00\x00\x00\x00\x02\x00\x00av01Alpha\x00\x00\x00\x00\x1airef\x00\x00\x00\x00\x00\x00\x00\x0eauxl\x00\x02\x00\x01\x00\x01\x00\x00\x00\xc3iprp\x00\x00\x00\x9dipco\x00\x00\x00\x14ispe\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x10pixi\x00\x00\x00\x00\x03\x08\x08\x08\x00\x00\x00\x0cav1C\x81\x00\x0c\x00\x00\x00\x00\x13colrnclx\x00\x02\x00\x02\x00\x06\x80\x00\x00\x00\x0epixi\x00\x00\x00\x00\x01\x08\x00\x00\x00\x0cav1C\x81\x00\x1c\x00\x00\x00\x008auxC\x00\x00\x00\x00urn:mpeg:mpegB:cicp:systems:auxiliary:alpha\x00\x00\x00\x00\x1eipma\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x04\x01\x02\x83\x04\x00\x02\x04\x01\x05\x86\x07\x00\x00\x002mdat\x12\x00\n\x05\x18\x08\xa4\xe5P2\t\x1f\xf0\x00\x01\x00\x14d\xd4\x90\x12\x00\n\x08\x18\x08\xa4\xe4\x81\x01\x03B2\x08\x1f\xf0\x00\x00@\x00\x11j'
im = PIL.Image.open(io.BytesIO(image))
im.save("test.avif", format="avif", qmin=10, qmax=50)
# error: ... (cannot access local variable 'quality' where it is not associated with a value)
I think the issue is that quality is only set inside of the if here:
Moves the qmin/qmax conversion logic from AvifImagePlugin to
_avif.c, where we know whether avif supports the quality encoder option.
This allows users to continue to pass qmin/qmax to save(), even if they
are using libavif >= 1.0.0
fixes#32
* fix: cannot access local variable 'quality' ...
Moves the qmin/qmax conversion logic from AvifImagePlugin to
_avif.c, where we know whether avif supports the quality encoder option.
This allows users to continue to pass qmin/qmax to save(), even if they
are using libavif >= 1.0.0
fixes#32
* fix qminmax quality test
Minimal example:
I think the issue is that
quality
is only set inside of theif
here:pillow-avif-plugin/src/pillow_avif/AvifImagePlugin.py
Lines 132 to 145 in f046fa2
The text was updated successfully, but these errors were encountered: