From 11eb1f68e4912309589855ee81edea12f5261df4 Mon Sep 17 00:00:00 2001 From: Marc Rousavy Date: Fri, 26 Jan 2024 10:07:16 +0100 Subject: [PATCH] feat: Use `yuv` by default if no `pixelFormat` is set (#2441) --- package/src/Camera.tsx | 2 ++ package/src/CameraProps.ts | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/package/src/Camera.tsx b/package/src/Camera.tsx index 7f4019c..619b219 100644 --- a/package/src/Camera.tsx +++ b/package/src/Camera.tsx @@ -470,6 +470,7 @@ export class Camera extends React.PureComponent { } const shouldEnableBufferCompression = props.video === true && frameProcessor == null + const pixelFormat = props.pixelFormat ?? (frameProcessor == null ? 'yuv' : 'native') const torch = this.state.isRecordingWithFlash ? 'on' : props.torch return ( @@ -487,6 +488,7 @@ export class Camera extends React.PureComponent { codeScannerOptions={codeScanner} enableFrameProcessor={frameProcessor != null} enableBufferCompression={props.enableBufferCompression ?? shouldEnableBufferCompression} + pixelFormat={pixelFormat} /> ) } diff --git a/package/src/CameraProps.ts b/package/src/CameraProps.ts index ed2b77f..83ed1f6 100644 --- a/package/src/CameraProps.ts +++ b/package/src/CameraProps.ts @@ -74,7 +74,9 @@ export interface CameraProps extends ViewProps { * - `yuv`: The YUV (Y'CbCr 4:2:0 or NV21, 8-bit) format, either video- or full-range, depending on hardware capabilities. This is the second most efficient format. * - `rgb`: The RGB (RGB, RGBA or ABGRA, 8-bit) format. This is least efficient and requires explicit conversion. * - * @default `native` + * @default + * - Without a Frame Processor: `native` + * - With a Frame Processor: `yuv` */ pixelFormat?: 'native' | 'yuv' | 'rgb' //#endregion