kaanyalova 1 жил өмнө
parent
commit
49fee7c8db

+ 12 - 1
modules/images.py

@@ -13,6 +13,8 @@ import numpy as np
 import piexif
 import piexif.helper
 from PIL import Image, ImageFont, ImageDraw, ImageColor, PngImagePlugin, ImageOps
+# pillow_avif needs to be imported somewhere in code for it to work
+import pillow_avif # noqa: F401
 import string
 import json
 import hashlib
@@ -569,6 +571,16 @@ def save_image_with_geninfo(image, geninfo, filename, extension=None, existing_p
             })
 
             piexif.insert(exif_bytes, filename)
+    elif extension.lower() == '.avif':
+        if opts.enable_pnginfo and geninfo is not None:
+            exif_bytes = piexif.dump({
+                "Exif": {
+                    piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(geninfo or "", encoding="unicode")
+                },
+            })
+
+
+        image.save(filename,format=image_format, exif=exif_bytes)
     elif extension.lower() == ".gif":
         image.save(filename, format=image_format, comment=geninfo)
     else:
@@ -747,7 +759,6 @@ def read_info_from_image(image: Image.Image) -> tuple[str | None, dict]:
             exif_comment = exif_comment.decode('utf8', errors="ignore")
 
         if exif_comment:
-            items['exif comment'] = exif_comment
             geninfo = exif_comment
     elif "comment" in items: # for gif
         geninfo = items["comment"].decode('utf8', errors="ignore")

+ 1 - 0
requirements.txt

@@ -30,3 +30,4 @@ torch
 torchdiffeq
 torchsde
 transformers==4.30.2
+pillow-avif-plugin==1.4.3

+ 1 - 0
requirements_versions.txt

@@ -29,3 +29,4 @@ torchdiffeq==0.2.3
 torchsde==0.2.6
 transformers==4.30.2
 httpx==0.24.1
+pillow-avif-plugin==1.4.3