From 857eb46d2a57a562b8db84c21b503ed8df422003 Mon Sep 17 00:00:00 2001 From: modeco80 Date: Thu, 5 Jun 2025 16:45:46 -0400 Subject: [PATCH] cvm-rs: allow setting JPEG quality from JS --- cvm-rs/index.d.ts | 2 ++ cvm-rs/src/jpeg_js.rs | 6 ++++-- cvmts/src/JPEGEncoder.ts | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cvm-rs/index.d.ts b/cvm-rs/index.d.ts index 98d5667..bccf625 100644 --- a/cvm-rs/index.d.ts +++ b/cvm-rs/index.d.ts @@ -9,6 +9,7 @@ interface JpegInputArgs { height: number; stride: number; // The width of your input framebuffer OR your image width (if encoding a full image) buffer: Buffer; + quality: number; // TODO: Allow different formats, or export a boxed ffi object which can store a format // (i.e: new JpegEncoder(FORMAT_xxx)). @@ -20,6 +21,7 @@ interface JpegResizeInputArgs { desiredWidth: number; // dest width desiredHeight: number; // dest height buffer: Buffer; // source raw pixel buffer + quality: number; } /// Performs JPEG encoding. diff --git a/cvm-rs/src/jpeg_js.rs b/cvm-rs/src/jpeg_js.rs index de98202..478c980 100644 --- a/cvm-rs/src/jpeg_js.rs +++ b/cvm-rs/src/jpeg_js.rs @@ -47,6 +47,7 @@ pub struct JpegInputArgs { pub height: u32, pub stride: u32, pub buffer: napi::JsBuffer, + pub quality: u32, } #[napi(js_name = "jpegEncode")] @@ -69,7 +70,7 @@ pub fn jpeg_encode(env: Env, input: JpegInputArgs) -> napi::Result