@wordpress/upload-media
Version:
Core media upload logic.
20 lines • 971 B
TypeScript
/**
* Converts an image file to JPEG using the browser's native decoder and canvas.
*
* Tries three decoding strategies:
* 1. createImageBitmap() + OffscreenCanvas (works in Safari, future Chrome).
* 2. WebCodecs ImageDecoder API (uses platform codecs; may work in future
* Chrome if HEIC is added to its image decoder pipeline).
* 3. HEIC container parsing + WebCodecs VideoDecoder (Chrome 107+ on macOS).
* Parses the HEIC/ISOBMFF container to extract the HEVC bitstream, then
* decodes it using Chrome's platform HEVC video decoder (hardware-
* accelerated via macOS VideoToolbox).
*
* This avoids shipping our own HEVC decoder, sidestepping patent/licensing concerns.
*
* @param file Source image file (e.g., HEIC/HEIF).
* @param quality JPEG quality (0-1). Default 0.82.
* @return JPEG File object.
*/
export declare function canvasConvertToJpeg(file: File, quality?: number): Promise<File>;
//# sourceMappingURL=canvas-utils.d.ts.map