mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: add HEIC/HEIF format support for input and output
Add bidirectional HEIC support using system libheif CLI tools (heif-enc/heif-dec) for HEVC encoding/decoding, since Sharp's bundled libheif only supports AV1. - HEIC input: all tools now accept iPhone HEIC photos via heif-dec pre-processing - HEIC output: convert tool produces true HEIC (HEVC) via heif-enc - Docker: adds libheif-examples package for heif-enc/heif-dec CLI tools - Tests: full conversion matrix (7x7), unit tests, and Playwright e2e tests - Docs: updated OpenAPI spec, image-engine docs, getting-started, llms-full.txt
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import sharp from "sharp";
|
||||
import type { CompressOptions, OutputFormat, Sharp } from "../types.js";
|
||||
|
||||
const FORMAT_MAP: Record<OutputFormat, string> = {
|
||||
const FORMAT_MAP: Record<string, string> = {
|
||||
jpg: "jpeg",
|
||||
png: "png",
|
||||
webp: "webp",
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import type { ConvertOptions, OutputFormat, Sharp } from "../types.js";
|
||||
|
||||
const FORMAT_MAP: Record<OutputFormat, string> = {
|
||||
/**
|
||||
* Maps user-facing format names to Sharp format strings.
|
||||
* Note: HEIC is excluded because Sharp cannot encode HEVC.
|
||||
* HEIC encoding is handled at the API route level via heif-enc.
|
||||
*/
|
||||
const FORMAT_MAP: Record<string, string> = {
|
||||
jpg: "jpeg",
|
||||
png: "png",
|
||||
webp: "webp",
|
||||
|
||||
Reference in New Issue
Block a user