From 53657ccfff563a782586de56c9b755250c92330e Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 28 May 2021 05:01:12 +0200 Subject: [PATCH] add avif read support --- README.md | 3 +++ copyparty/th_srv.py | 23 ++++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c8854bf5..f2f34c4a 100644 --- a/README.md +++ b/README.md @@ -436,6 +436,9 @@ enable video thumbnails: enable reading HEIF pictures: * `pyheif-pillow-opener` (requires Linux or a C compiler) +enable reading AVIF pictures: +* `pillow-avif-plugin` + ## install recommended deps ``` diff --git a/copyparty/th_srv.py b/copyparty/th_srv.py index f918787a..87e86867 100644 --- a/copyparty/th_srv.py +++ b/copyparty/th_srv.py @@ -27,6 +27,12 @@ try: except: HAVE_HEIF = False + try: + HAVE_AVIF = True + import pillow_avif + except: + HAVE_AVIF = False + try: Image.new("RGB", (2, 2)).save(BytesIO(), format="webp") HAVE_WEBP = True @@ -38,13 +44,16 @@ except: # https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html # ffmpeg -formats -FMT_PIL, FMT_FF = [ - {x: True for x in y.split(" ") if x} - for y in [ - "bmp dib gif icns ico jpg jpeg jp2 jpx pcx png pbm pgm ppm pnm sgi tga tif tiff webp xbm dds xpm", - "av1 asf avi flv m4v mkv mjpeg mjpg mpg mpeg mpg2 mpeg2 mov 3gp mp4 ts mpegts nut ogv ogm rm vob webm wmv", - ] -] +FMT_PIL = "bmp dib gif icns ico jpg jpeg jp2 jpx pcx png pbm pgm ppm pnm sgi tga tif tiff webp xbm dds xpm" +FMT_FF = "av1 asf avi flv m4v mkv mjpeg mjpg mpg mpeg mpg2 mpeg2 mov 3gp mp4 ts mpegts nut ogv ogm rm vob webm wmv" + +if HAVE_HEIF: + FMT_PIL += " heif heifs heic heics" + +if HAVE_AVIF: + FMT_PIL += " avif avifs" + +FMT_PIL, FMT_FF = [{x: True for x in y.split(" ") if x} for y in [FMT_PIL, FMT_FF]] THUMBABLE = {}