From f77005128a391025c16fb65c47a4272ac003cbf1 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:12:13 +0000 Subject: [performance] move thumbnail generation to go code where possible (#3183) * wrap thumbnailing code to handle generation natively where possible * more code comments! * add even more code comments! * add code comments about blurhash generation * maintain image rotation if contained in exif data * move rotation before resizing * ensure pix_fmt actually selected by ffprobe, check for alpha layer with gifs * use linear instead of nearest-neighbour for resizing * work with image "orientation" instead of "rotation". use default 75% quality for both webp and jpeg generation * add header to new file * use thumb extension when getting thumb mime type * update test models and tests with new media processing * add suggested code comments * add note about thumbnail filter count reducing memory usage --- internal/media/test/birdnest-thumbnail.webp | Bin 9446 -> 14478 bytes internal/media/test/longer-mp4-thumbnail.webp | Bin 2128 -> 2976 bytes internal/media/test/test-jpeg-thumbnail.jpeg | Bin 0 -> 22858 bytes internal/media/test/test-jpeg-thumbnail.webp | Bin 8536 -> 0 bytes internal/media/test/test-mp4-thumbnail.webp | Bin 3746 -> 5648 bytes .../media/test/test-png-alphachannel-thumbnail.jpeg | Bin 0 -> 3592 bytes .../media/test/test-png-alphachannel-thumbnail.webp | Bin 2630 -> 0 bytes .../test/test-png-noalphachannel-thumbnail.jpeg | Bin 0 -> 6446 bytes .../test/test-png-noalphachannel-thumbnail.webp | Bin 2630 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 internal/media/test/test-jpeg-thumbnail.jpeg delete mode 100644 internal/media/test/test-jpeg-thumbnail.webp create mode 100644 internal/media/test/test-png-alphachannel-thumbnail.jpeg delete mode 100644 internal/media/test/test-png-alphachannel-thumbnail.webp create mode 100644 internal/media/test/test-png-noalphachannel-thumbnail.jpeg delete mode 100644 internal/media/test/test-png-noalphachannel-thumbnail.webp (limited to 'internal/media/test') diff --git a/internal/media/test/birdnest-thumbnail.webp b/internal/media/test/birdnest-thumbnail.webp index 882e813b6..d59e5c26e 100644 Binary files a/internal/media/test/birdnest-thumbnail.webp and b/internal/media/test/birdnest-thumbnail.webp differ diff --git a/internal/media/test/longer-mp4-thumbnail.webp b/internal/media/test/longer-mp4-thumbnail.webp index 4406f7f46..a7527c1ec 100644 Binary files a/internal/media/test/longer-mp4-thumbnail.webp and b/internal/media/test/longer-mp4-thumbnail.webp differ diff --git a/internal/media/test/test-jpeg-thumbnail.jpeg b/internal/media/test/test-jpeg-thumbnail.jpeg new file mode 100644 index 000000000..80170e7c8 Binary files /dev/null and b/internal/media/test/test-jpeg-thumbnail.jpeg differ diff --git a/internal/media/test/test-jpeg-thumbnail.webp b/internal/media/test/test-jpeg-thumbnail.webp deleted file mode 100644 index 5bc741037..000000000 Binary files a/internal/media/test/test-jpeg-thumbnail.webp and /dev/null differ diff --git a/internal/media/test/test-mp4-thumbnail.webp b/internal/media/test/test-mp4-thumbnail.webp index 7041837bf..8b28714c6 100644 Binary files a/internal/media/test/test-mp4-thumbnail.webp and b/internal/media/test/test-mp4-thumbnail.webp differ diff --git a/internal/media/test/test-png-alphachannel-thumbnail.jpeg b/internal/media/test/test-png-alphachannel-thumbnail.jpeg new file mode 100644 index 000000000..b70613f0b Binary files /dev/null and b/internal/media/test/test-png-alphachannel-thumbnail.jpeg differ diff --git a/internal/media/test/test-png-alphachannel-thumbnail.webp b/internal/media/test/test-png-alphachannel-thumbnail.webp deleted file mode 100644 index d78c45433..000000000 Binary files a/internal/media/test/test-png-alphachannel-thumbnail.webp and /dev/null differ diff --git a/internal/media/test/test-png-noalphachannel-thumbnail.jpeg b/internal/media/test/test-png-noalphachannel-thumbnail.jpeg new file mode 100644 index 000000000..ca62f4ea6 Binary files /dev/null and b/internal/media/test/test-png-noalphachannel-thumbnail.jpeg differ diff --git a/internal/media/test/test-png-noalphachannel-thumbnail.webp b/internal/media/test/test-png-noalphachannel-thumbnail.webp deleted file mode 100644 index d78c45433..000000000 Binary files a/internal/media/test/test-png-noalphachannel-thumbnail.webp and /dev/null differ -- cgit v1.2.3