# VisionCamera documentation
Use the `.md` page endpoints for source-friendly markdown. Use `/llms-full.txt` for the full corpus.
## Guides
- [Getting Started](https://visioncamera.margelo.com/docs.md): Learn how to install VisionCamera, configure and request Camera permission, and render a Camera View in your app
- [Production Apps](https://visioncamera.margelo.com/docs/production-apps.md): Popular production apps using react-native-vision-camera
- [VisionCamera vs Expo Camera](https://visioncamera.margelo.com/docs/visioncamera-vs-expo-camera.md): Choosing between VisionCamera and Expo Camera based on available features, platform support and native integration requirements
- [VisionCamera vs Data Scanner](https://visioncamera.margelo.com/docs/visioncamera-vs-data-scanner.md): Choosing between VisionCamera and react-native-data-scanner for QR and barcode scanning
- **Concepts**
- [Camera Devices](https://visioncamera.margelo.com/docs/devices.md): Understanding what Camera Devices are, what capabilities they have, and how to connect them to a Camera Session
- [Camera Outputs](https://visioncamera.margelo.com/docs/camera-outputs.md): Understanding what Camera Outputs are, how to configure their resolutions, and how to add them to a Camera Session
- [Camera Session](https://visioncamera.margelo.com/docs/camera-session.md): Understanding what a Camera Session is and how to add stream from inputs to outputs
- [Constraints API](https://visioncamera.margelo.com/docs/constraints.md): Understanding the VisionCamera Constraints API to enable Camera features like FPS, HDR and more
- [Camera Controller](https://visioncamera.margelo.com/docs/camera-controller.md): Creating a Camera Controller and using it to adjust the Camera's zoom, exposure, focus, and more
- **Topics**
- [Tap To Focus](https://visioncamera.margelo.com/docs/tap-to-focus.md): Starting a Focus Metering Action (AE/AF/AWB) to a specific point
- [Zooming](https://visioncamera.margelo.com/docs/zooming.md): Zooming in and out in the Camera and understanding virtual device switchover
- [Exposure Bias](https://visioncamera.margelo.com/docs/exposure-bias.md): Adjusting Exposure in a Camera using Exposure Bias Compensation
- [Low Light Boost](https://visioncamera.margelo.com/docs/low-light-boost.md): Improving exposure in dark scenes using Low Light Boost, Camera Extensions, lower FPS and binned formats
- [Orientation](https://visioncamera.margelo.com/docs/orientation.md): Understanding interface-, device- and custom- Orientation in various Outputs
- [Lifecycle](https://visioncamera.margelo.com/docs/lifecycle.md): Understanding a Camera Session's lifecycle, `isActive` and shutdown
- [FPS](https://visioncamera.margelo.com/docs/fps.md): Adjusting Frame Rate (FPS) for Preview, Video and Frame outputs
- [Location](https://visioncamera.margelo.com/docs/location.md): Adding Location tags to captured photos (EXIF) and videos (metadata)
- [Coordinate Systems](https://visioncamera.margelo.com/docs/coordinate-systems.md): Understanding Camera Coordinate Systems and converting between Preview/Frame/Camera space
- [Locking AE/AF/AWB](https://visioncamera.margelo.com/docs/locking-ae-af-awb.md): Manually locking Focus, Exposure and White-Balance
- [Multi-Camera](https://visioncamera.margelo.com/docs/multi-camera.md): Using multiple Camera Devices in a single Camera Session
- [Performance](https://visioncamera.margelo.com/docs/performance.md): Understanding what configurations affect Performance, and how to improve it
- [Camera Extensions](https://visioncamera.margelo.com/docs/camera-extensions.md): Understanding what Camera Extensions are, how to enable them, and what restrictions they have
- **Views**
- [](https://visioncamera.margelo.com/docs/camera-view.md): Using the View
- [](https://visioncamera.margelo.com/docs/skiacamera-view.md): Using the View
- [](https://visioncamera.margelo.com/docs/codescanner-view.md): Using the View
- [](https://visioncamera.margelo.com/docs/nativepreview-view.md): Using the View
- [](https://visioncamera.margelo.com/docs/nativeframerenderer-view.md): Using the View
- **Capturing Photos**
- [The Photo Output](https://visioncamera.margelo.com/docs/photo-output.md): Capturing Photos using the Photo Output
- [A Photo](https://visioncamera.margelo.com/docs/a-photo.md): Understanding the Photo type
- [Photo Output Callbacks](https://visioncamera.margelo.com/docs/photo-output-callbacks.md): Understanding the Photo Output's callbacks and receiving Preview Images
- [Photo HDR](https://visioncamera.margelo.com/docs/photo-hdr.md): Capturing Photos in High-Dynamic-Range (HDR)
- [Configuring Photo Quality](https://visioncamera.margelo.com/docs/photo-quality.md): Configuring Photo quality, JPEG compression, and balancing speed over quality
- [Capturing RAW Photos](https://visioncamera.margelo.com/docs/raw-photos.md): Capturing RAW Photos using Adobe DNG containers
- **Capturing Videos**
- [The Video Output](https://visioncamera.margelo.com/docs/video-output.md): Capturing Videos using the Video Output
- [The Recorder](https://visioncamera.margelo.com/docs/recorder.md): Understanding how to use the Recorder to start, pause, resume and stop a Video Recording
- [Video HDR](https://visioncamera.margelo.com/docs/video-hdr.md): Capturing Videos in High-Dynamic-Range (HDR) with HLG/HDR encodings and 10-bit
- [Video Stabilization](https://visioncamera.margelo.com/docs/video-stabilization.md): Understanding Video Stabilization and recording stabilized Videos
- **Streaming Frames**
- [The Frame Output](https://visioncamera.margelo.com/docs/frame-output.md): Streaming Frames using the Frame Output (formerly known as Frame Processors)
- [A Frame](https://visioncamera.margelo.com/docs/a-frame.md): Understanding the Frame type
- [Pixel Formats Map](https://visioncamera.margelo.com/docs/pixel-formats-map.md): Mapping VisionCamera PixelFormats to native iOS/Android Pixel Formats
- [Resizing/Converting Frames](https://visioncamera.margelo.com/docs/resizer.md): Efficiently resizing Frames and converting to RGB-based pixel formats, layouts and data types on the GPU.
- [Async Frame Processing](https://visioncamera.margelo.com/docs/async-frame-processing.md): Processing Frames asynchronously, freeing up work from the main Camera pipeline
- [Native Frame Processor Plugins](https://visioncamera.margelo.com/docs/native-frame-processor-plugins.md): Understanding Native Frame Processor Plugins, using them and building them using Swift/Kotlin
- [Skia Frame Processors](https://visioncamera.margelo.com/docs/skia-frame-processors.md): Using the Skia Frame Processor integration to render Frames on the GPU
- [A Frame's NativeBuffer](https://visioncamera.margelo.com/docs/a-frames-nativebuffer.md): Understanding a Frame's NativeBuffer and using it with third-party APIs
- **Barcode Scanning**
- [The Barcode Scanner](https://visioncamera.margelo.com/docs/barcode-scanner.md): Using the Barcode Scanner view, output or plugin to detect Barcodes and QR codes
- [A Barcode](https://visioncamera.margelo.com/docs/a-barcode.md): Understanding a Barcode object and decoding its value and position
- [Barcode Scanner vs Object Output](https://visioncamera.margelo.com/docs/barcode-scanner-vs-object-output.md): Understanding the differences between the Barcode Scanner (cross-platform, MLKit) and the Object Output (iOS only, native)
- **Scanning Objects**
- [The Object Output](https://visioncamera.margelo.com/docs/object-output.md): Scanning Objects using the Object Output
- [A ScannedObject](https://visioncamera.margelo.com/docs/a-scannedobject.md): Understanding the ScannedObject type
- **Streaming Depth**
- [The Depth Output](https://visioncamera.margelo.com/docs/depth-output.md): Streaming Depth frames using the Depth Frame Output
- [A Depth Frame](https://visioncamera.margelo.com/docs/a-depth-frame.md): Understanding the Depth type
- **Streaming Preview**
- [The Preview Output](https://visioncamera.margelo.com/docs/preview-output.md): Streaming a Camera feed into a Preview
- [Snapshot Capture](https://visioncamera.margelo.com/docs/snapshot-capture.md): Capturing Snapshots in a Preview with zero-latency
- **Extending VisionCamera in third-party code**
- [Implementing a custom native CameraOutput](https://visioncamera.margelo.com/docs/custom-native-camera-outputs.md): Custom Swift/Kotlin CameraOutputs can be implemented in third-party code, and added to a CameraSession like any other output
## API Reference
- [API Reference](https://visioncamera.margelo.com/api.md)
- react-native-vision-camera
- [react-native-vision-camera](https://visioncamera.margelo.com/api/react-native-vision-camera.md)
- HybridObjects
- [CameraCalibrationData](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraCalibrationData.md): Camera Calibration Data is per-frame data
used to counter-apply any transformations applied
by the Camera/ISP.
- [CameraController](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraController.md): A CameraController allows controlling an opened
Camera.
- [CameraDevice](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraDevice.md): The CameraDevice represents a physical- or
virtual Camera Device.
- [CameraDeviceFactory](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraDeviceFactory.md): The CameraDeviceFactory allows getting CameraDevices,
listening to device changes, and querying extensions or preferred Cameras.
- [CameraExtension](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraExtension.md): A Camera Extension is a vendor-specific implementation of
a private reprocessing pipeline, at ISP level.
- [CameraFactory](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraFactory.md): The CameraFactory allows creating various other
Camera related objects with arguments.
- CameraOutput
- [CameraOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraOutput.md): A CameraOutput is the base-class of all
outputs that can be connected to the CameraSession.
- [CameraDepthFrameOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraDepthFrameOutput.md): The CameraDepthFrameOutput allows synchronously streaming
Depth Frames from the Camera, aka "Depth Frame Processing".
- [CameraFrameOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraFrameOutput.md): The CameraFrameOutput allows synchronously streaming
Frames from the Camera, aka "Frame Processing".
- [CameraObjectOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraObjectOutput.md): The CameraObjectOutput allows scanning various
objects (ScannedObject), faces (ScannedFace),
or machine-readable codes (ScannedCode) in the Camera, using
a platform-native detection algorithm.
- [CameraPhotoOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraPhotoOutput.md): The CameraPhotoOutput allows capturing Photos
in-memory, as well as directly to a file.
- [CameraPreviewOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraPreviewOutput.md): Represents the CameraOutput for preview.
- [CameraVideoOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraVideoOutput.md): A Video output allows recording videos (possibly with audio)
to a file.
- [CameraOutputSynchronizer](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraOutputSynchronizer.md): A CameraOutputSynchronizer synchronizes 2 or more
CameraOutputs to align their timestamps.
- [CameraSession](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraSession.md): Represents a Camera Session.
- [CameraSessionConfig](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/CameraSessionConfig.md): Session-level configuration for a CameraSession.
- [Depth](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/Depth.md): A Depth Frame is a frame
captured from a CameraDepthFrameOutput.
- [Frame](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/Frame.md): Represents a single Frame the Camera "sees".
- [FrameConverter](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/FrameConverter.md): The FrameConverter can convert Frames
and Depth to Images.
- [FramePlane](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/FramePlane.md): Represents a single Plane of a **planar** Frame.
- [FrameRenderer](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/FrameRenderer.md): A FrameRenderer is an object that can
render Frames into a given target.
- GestureController
- [GestureController](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/GestureController.md): A GestureController is a controller
that can control a CameraController's
property via a user gesture.
- [TapToFocusGestureController](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/TapToFocusGestureController.md): A TapToFocusGestureController is a GestureController
that can trigger a CameraController's
focusTo(...)
action via a native tap to focus gesture.
- [ZoomGestureController](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/ZoomGestureController.md): A ZoomGestureController is a GestureController
that can modify a CameraController's
zoom via a
native pinch-to-zoom gesture.
- [Location](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/Location.md): Represents the physical Location, in real world
coordinates (latitude, longitude).
- [MeteringPoint](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/MeteringPoint.md): Represents a point that can be used for focusing AE/AF/AWB
on the Camera via CameraController.
- [NativeThread](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/NativeThread.md): Represents a native "Thread".
- [NativeThreadFactory](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/NativeThreadFactory.md): A factory for creating NativeThreads.
- [OrientationManager](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/OrientationManager.md): The OrientationManager allows listening to
CameraOrientation changes, like device- or interface-
orientation.
- [Photo](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/Photo.md): Represents a captured Photo in-memory.
- [Recorder](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/Recorder.md): Represents an instance that can record videos to
a file.
- ScannedObject
- [ScannedObject](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/ScannedObject.md): Represents any kind of scanned object.
- [ScannedCode](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/ScannedCode.md): Represents a machine-readable code, such as a QR code.
- [ScannedFace](https://visioncamera.margelo.com/api/react-native-vision-camera/hybrid-objects/ScannedFace.md): Represents a Face.
- Views
- [Camera](https://visioncamera.margelo.com/api/react-native-vision-camera/views/Camera.md): The `` component.
- [NativeFrameRendererView](https://visioncamera.margelo.com/api/react-native-vision-camera/views/NativeFrameRendererView.md): The `` component.
- [NativePreviewView](https://visioncamera.margelo.com/api/react-native-vision-camera/views/NativePreviewView.md): The `` component.
- Functions
- [addOnCameraDevicesChangedListener](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/addOnCameraDevicesChangedListener.md): Adds a listener that gets called whenever the list of available
CameraDevices changes - for example when a USB Camera is plugged in or out.
- [getAllCameraDevices](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/getAllCameraDevices.md): Returns all CameraDevices currently available on this phone.
- [getCameraDevice](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/getCameraDevice.md): Get the best matching Camera device that best satisfies your requirements using a sorting filter,
or `undefined` if not Cameras are available on this platform.
- [getDefaultCameraDevice](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/getDefaultCameraDevice.md): Returns the default CameraDevice for the given CameraPosition.
- [getSupportedExtensions](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/getSupportedExtensions.md): Returns all CameraExtensions supported by the given CameraDevice.
- [getUIRotation](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/getUIRotation.md): Gets the signed rotation needed to keep UI elements upright relative to the
Camera output orientation.
- [isScannedCode](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/isScannedCode.md): Returns `true` if the given ScannedObject
is a ScannedCode - a subclass of ScannedObject
that provides a machine readable code with corner points.
- [isScannedFace](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/isScannedFace.md): Returns `true` if the given ScannedObject
is a ScannedFace - a subclass of ScannedObject
that provides face metadata.
- [useAsyncRunner](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useAsyncRunner.md): Use an AsyncRunner.
- [useCamera](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useCamera.md): Use the Camera.
- [useCameraDevice](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useCameraDevice.md): Get the best matching Camera device that best satisfies your requirements using a sorting filter,
or a default Camera device at the given position if no filter was passed.
- [useCameraDeviceExtensions](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useCameraDeviceExtensions.md): Get a list of all available CameraExtensions for this specific
CameraDevice.
- [useCameraDevices](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useCameraDevices.md): Get a list of all CameraDevices.
- [useCameraPermission](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useCameraPermission.md): Use the Camera Permission.
- [useDepthOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useDepthOutput.md): Use a CameraDepthFrameOutput for streaming Depth Frames.
- [useFrameOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useFrameOutput.md): Use a CameraFrameOutput.
- [useFrameRenderer](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useFrameRenderer.md): Use a FrameRenderer.
- [useMicrophonePermission](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useMicrophonePermission.md): Use the Microphone Permission.
- [useObjectOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useObjectOutput.md): Use a CameraObjectOutput.
- [useOrientation](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useOrientation.md): Reactively use the current source CameraOrientation.
- [usePhotoOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/usePhotoOutput.md): Use a CameraPhotoOutput for capturing Photos.
- [usePreviewOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/usePreviewOutput.md): Use a CameraPreviewOutput for rendering the Camera's live
preview on screen.
- [useVideoOutput](https://visioncamera.margelo.com/api/react-native-vision-camera/functions/useVideoOutput.md): Use a CameraVideoOutput for recording videos.
- Interfaces
- [AsyncRunner](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/AsyncRunner.md): An AsyncRunner can be used to asynchronously
run code in a Frame Processor on a separate, non-blocking
Thread.
- [BinnedConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/BinnedConstraint.md): A constraint to prefer a binned format, or prefer a non-binned format.
- [BoundingBox](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/BoundingBox.md): Represents the bounding box around a ScannedObject, in
camera-space coordinates (`0.0` ...
- [CameraControllerConfiguration](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraControllerConfiguration.md): Specifies options to use for configuring a CameraController
via configure(...).
- [CameraOutputConfiguration](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraOutputConfiguration.md): Specifies options for an output in a CameraSessionConnection
used in CameraSession.configure(...).
- [CameraProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraProps.md): Configuration for a CameraSession.
- [CameraRef](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraRef.md): A React-ref to the Camera view.
- [CameraSessionConfiguration](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraSessionConfiguration.md): Configuration for a CameraSession.
- [CameraSessionConnection](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraSessionConnection.md): Specifies a single Camera input stream connection
streaming into zero or more outputs.
- [CameraViewProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CameraViewProps.md): Props for the Camera component.
- [CapturePhotoCallbacks](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CapturePhotoCallbacks.md): Callbacks for a capturePhoto(...)
call.
- [CapturePhotoSettings](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/CapturePhotoSettings.md): Configuration options for a
capturePhoto(...) call.
- [DepthFrameOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/DepthFrameOutputOptions.md): Configuration options for a CameraDepthFrameOutput.
- [DeviceFilter](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/DeviceFilter.md)
- [DynamicRange](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/DynamicRange.md): Represents a Dynamic Range, often used for recording
HDR videos using a CameraVideoOutput.
- [FocusOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/FocusOptions.md): Options for a focus metering operation via
CameraController.focusTo(...)
- [FPSConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/FPSConstraint.md): A constraint to set a given FPS `number` for any Video,
Frame or Preview Streams (e.g.
- [FrameOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/FrameOutputOptions.md): Configuration options for a CameraFrameOutput.
- [FrameRendererViewMethods](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/FrameRendererViewMethods.md)
- [FrameRendererViewProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/FrameRendererViewProps.md)
- [ListenerSubscription](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/ListenerSubscription.md): Represents a subscription to any kind of
listener.
- [NativeBuffer](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/NativeBuffer.md): An unmanaged memory pointer to a native platform buffer.
- [ObjectOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/ObjectOutputOptions.md): Options for the CameraObjectOutput.
- [PermissionState](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PermissionState.md): The state of a Camera or Microphone permission, as returned by
useCameraPermission or useMicrophonePermission.
- [PhotoFile](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PhotoFile.md): Represents a Photo captured by
capturePhotoToFile(...)
and written to a File.
- [PhotoHDRConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PhotoHDRConstraint.md): A constraint to set Photo HDR for Photo Outputs (e.g.
- [PhotoOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PhotoOutputOptions.md): Configuration options for a CameraPhotoOutput.
- [PixelFormatConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PixelFormatConstraint.md): A constraint to prefer a streaming Format with
the given target PixelFormat.
- [Point](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/Point.md): Represents a Point in the current context's
coordinate system.
- [PreviewStabilizationModeConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PreviewStabilizationModeConstraint.md): A constraint to set a TargetStabilizationMode for Preview
Streams (e.g.
- [PreviewViewMethods](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PreviewViewMethods.md)
- [PreviewViewProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/PreviewViewProps.md)
- [Range](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/Range.md): Represents a numeric range with a minimum and maximum value, inclusive on both ends.
- [RecorderSettings](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/RecorderSettings.md): Video Recorder settings for a Recorder
created by a CameraVideoOutput.
- [ResolutionBiasConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/ResolutionBiasConstraint.md): A constraint to bias the resolution of the given CameraOutput
over other constraints.
- [RuntimeThread](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/RuntimeThread.md): An implementation for a separate Runtime/Thread.
- [RuntimeThreadProvider](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/RuntimeThreadProvider.md): Provides an implementation for a separate Runtime/Thread.
- [Size](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/Size.md): Represents a 2D size in pixels.
- [TargetDynamicRange](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/TargetDynamicRange.md): Represents a target DynamicRange, for
example to be used with the Constraints API.
- [UseDepthOutputProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/UseDepthOutputProps.md)
- [UseFrameOutputProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/UseFrameOutputProps.md)
- [UseObjectOutputProps](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/UseObjectOutputProps.md)
- [VideoDynamicRangeConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/VideoDynamicRangeConstraint.md): A constraint to set TargetDynamicRange for Video
Streams (e.g.
- [VideoOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/VideoOutputOptions.md): Configuration options for a CameraVideoOutput.
- [VideoOutputSettings](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/VideoOutputSettings.md): Output settings for a CameraVideoOutput.
- [VideoStabilizationModeConstraint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/VideoStabilizationModeConstraint.md): A constraint to set a TargetStabilizationMode for Video
Streams (e.g.
- [WhiteBalanceGains](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/WhiteBalanceGains.md): Represents the per-channel gains applied for white balance correction.
- [WhiteBalanceTemperatureAndTint](https://visioncamera.margelo.com/api/react-native-vision-camera/interfaces/WhiteBalanceTemperatureAndTint.md): Represents a white balance setting expressed as a color temperature and tint offset.
- Type aliases
- [AutoFocusSystem](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/AutoFocusSystem.md): Represents the auto-focus algorithm used by the CameraDevice, either while
continuously keeping a scene in focus (via auto-3A / AE/AF/AWB), or for a metering
action via CameraController.focusTo(...).
- [AuxilaryDepthType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/AuxilaryDepthType.md)
- [CameraDeviceOrPosition](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/CameraDeviceOrPosition.md)
- [CameraExtensionType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/CameraExtensionType.md): Represents the type of the CameraExtension.
- [CameraOrientation](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/CameraOrientation.md): Represents the orientation, relative to a base anchor.
- [CameraPosition](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/CameraPosition.md): Represents the physical position of a CameraDevice on the device.
- [ColorRange](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/ColorRange.md): Represents the range of YUV color components.
- [ColorSpace](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/ColorSpace.md)
- [Constraint](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/Constraint.md): Constraints are session configuration options that are negotiated by
the CameraSession to find a closest-matching working
Camera configuration.
- [DepthDataAccuracy](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/DepthDataAccuracy.md)
- [DepthDataQuality](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/DepthDataQuality.md)
- [DepthPixelFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/DepthPixelFormat.md): Represents the pixel format of a depth image buffer.
- [DeviceType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/DeviceType.md): Represents the type of a physical or logical Camera lens on the CameraDevice.
- [DynamicRangeBitDepth](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/DynamicRangeBitDepth.md): Represents the bit-depth of a DynamicRange.
- [ExposureMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/ExposureMode.md): Represents the exposure mode of a CameraDevice.
- [FlashMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/FlashMode.md): Configures flash for photo capture.
- [FocusMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/FocusMode.md): Represents the focus mode of a CameraDevice.
- [FocusResponsiveness](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/FocusResponsiveness.md): Configures the responsiveness of a AE/AF/AWB focus operation.
- [FrameDroppedReason](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/FrameDroppedReason.md): Represents the reason why a Frame was dropped by the Camera pipeline.
- [FrameRendererView](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/FrameRendererView.md): The FrameRendererView Hybrid View.
- [InterruptionReason](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/InterruptionReason.md)
- [MediaType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/MediaType.md): Represents the type of a media sample.
- [MeteringMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/MeteringMode.md): Specifies the metering mode, also known as the 3A operation.
- [MirrorMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/MirrorMode.md): Represents the target mirroring setting for a Camera Output.
- [OrientationSource](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/OrientationSource.md): Represents the source of a CameraOrientation.
- [OutputStreamType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/OutputStreamType.md): Represents the type of an output stream,
often related to CameraOutput.
- [PermissionStatus](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PermissionStatus.md): Represents the status of a Permission - e.g.
- [PhotoContainerFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PhotoContainerFormat.md): Represents the container format of a captured Photo.
- [PhysicalDeviceType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PhysicalDeviceType.md)
- [PixelFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PixelFormat.md): Represents any kind of pixel format for a media sample.
- [PreviewImplementationMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PreviewImplementationMode.md): Represents the implementation mode for the PreviewView's
surface on Android.
- [PreviewResizeMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PreviewResizeMode.md): Represents the resize mode for the PreviewView.
- [PreviewView](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/PreviewView.md): The PreviewView Hybrid View.
- [QualityPrioritization](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/QualityPrioritization.md): Specifies the prioritization between speed and quality for
photo capture.
- [RecorderFileType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/RecorderFileType.md): Container file type for a CameraVideoOutput's recordings.
- [RecordingFinishedReason](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/RecordingFinishedReason.md): Describes why a Recorder's recording finished, and was delivered
to the `onRecordingFinished` callback passed to
Recorder.startRecording(...).
- [ScannedObjectType](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/ScannedObjectType.md): Represents the type of a ScannedObject.
- [SceneAdaptiveness](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/SceneAdaptiveness.md): Configures the adaptiveness of the AE/AF/AWB pipeline after a metering operation has settled.
- [StabilizationMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/StabilizationMode.md): Specifies the stabilization algorithm/mode to use.
- [TargetCameraPosition](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetCameraPosition.md): Represents the target physical position of a CameraDevice on the device.
- [TargetColorRange](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetColorRange.md)
- [TargetColorSpace](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetColorSpace.md)
- [TargetDynamicRangeBitDepth](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetDynamicRangeBitDepth.md)
- [TargetPhotoContainerFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetPhotoContainerFormat.md): Represents a PhotoContainerFormat that
can be used to capture Photos in.
- [TargetStabilizationMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetStabilizationMode.md): Specifies a target StabilizationMode.
- [TargetVideoPixelFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TargetVideoPixelFormat.md): Represents a desired pixel format for a video
pipeline.
- [TorchMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/TorchMode.md): Represents the setting for the device's torch.
- [VideoCodec](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/VideoCodec.md): Represents a video codec for encoded video data.
- [VideoPixelFormat](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/VideoPixelFormat.md): Represents the pixel format of a video image buffer.
- [WhiteBalanceMode](https://visioncamera.margelo.com/api/react-native-vision-camera/type-aliases/WhiteBalanceMode.md): Represents the white balance mode of a CameraDevice.
- Variables
- [CommonDynamicRanges](https://visioncamera.margelo.com/api/react-native-vision-camera/variables/CommonDynamicRanges.md): Common Dynamic Ranges for the Camera.
- [CommonResolutions](https://visioncamera.margelo.com/api/react-native-vision-camera/variables/CommonResolutions.md): Common camera-centric resolution targets.
- [HybridFrameConverter](https://visioncamera.margelo.com/api/react-native-vision-camera/variables/HybridFrameConverter.md): The HybridFrameConverter can be used to convert
Frames and Depth frames to
Images.
- [VisionCamera](https://visioncamera.margelo.com/api/react-native-vision-camera/variables/VisionCamera.md): The native VisionCamera module.
- react-native-vision-camera-barcode-scanner
- [react-native-vision-camera-barcode-scanner](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner.md)
- HybridObjects
- [Barcode](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/hybrid-objects/Barcode.md): Represents a single detected Barcode.
- [BarcodeScanner](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/hybrid-objects/BarcodeScanner.md): Represents a Barcode Scanner that uses MLKit Barcodes.
- [BarcodeScannerFactory](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/hybrid-objects/BarcodeScannerFactory.md)
- Views
- [CodeScanner](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/views/CodeScanner.md): A view that detects Barcodes in a Camera
using the default rear CameraDevice.
- Functions
- [createBarcodeScanner](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/functions/createBarcodeScanner.md): Create a new BarcodeScanner.
- [createBarcodeScannerOutput](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/functions/createBarcodeScannerOutput.md): Create a new Barcode Scanner CameraOutput.
- [useBarcodeScanner](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/functions/useBarcodeScanner.md): Use a BarcodeScanner.
- [useBarcodeScannerOutput](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/functions/useBarcodeScannerOutput.md): Use a Barcode Scanner CameraOutput.
- Interfaces
- [BarcodeScannerOptions](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/interfaces/BarcodeScannerOptions.md)
- [BarcodeScannerOutputOptions](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/interfaces/BarcodeScannerOutputOptions.md)
- [CodeScannerOptions](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/interfaces/CodeScannerOptions.md)
- [Point](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/interfaces/Point.md): Represents a Point in the current context's
coordinate system.
- [Rect](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/interfaces/Rect.md): Represents a Rectangle in the current context's
coordinate system.
- Type aliases
- [BarcodeFormat](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/type-aliases/BarcodeFormat.md): Represents a detected Barcode's format, or
`'unknown'` if the format of a scanned Barcode could not be
determined.
- [BarcodeScannerOutputResolution](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/type-aliases/BarcodeScannerOutputResolution.md): Controls the camera buffer resolution used for barcode scanning.
- [BarcodeValueType](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/type-aliases/BarcodeValueType.md): Represents the semantic type of data encoded in a Barcode - e.g.
- [TargetBarcodeFormat](https://visioncamera.margelo.com/api/react-native-vision-camera-barcode-scanner/type-aliases/TargetBarcodeFormat.md): Represents a target BarcodeFormat that the BarcodeScanner
can be configured to scan for, or `'all-formats'` to scan for every supported format.
- react-native-vision-camera-location
- [react-native-vision-camera-location](https://visioncamera.margelo.com/api/react-native-vision-camera-location.md)
- HybridObjects
- [LocationManager](https://visioncamera.margelo.com/api/react-native-vision-camera-location/hybrid-objects/LocationManager.md): Streams device location updates and exposes the last known Location.
- [LocationManagerFactory](https://visioncamera.margelo.com/api/react-native-vision-camera-location/hybrid-objects/LocationManagerFactory.md)
- Functions
- [createLocation](https://visioncamera.margelo.com/api/react-native-vision-camera-location/functions/createLocation.md): Creates a new fake Location.
- [createLocationManager](https://visioncamera.margelo.com/api/react-native-vision-camera-location/functions/createLocationManager.md): Create a new LocationManager
with the given LocationManagerOptions
- [useLocation](https://visioncamera.margelo.com/api/react-native-vision-camera-location/functions/useLocation.md): Reactively use the current user Location.
- [useLocationManager](https://visioncamera.margelo.com/api/react-native-vision-camera-location/functions/useLocationManager.md): Use a stable LocationManager
with the given LocationManagerOptions.
- Interfaces
- [ListenerSubscription](https://visioncamera.margelo.com/api/react-native-vision-camera-location/interfaces/ListenerSubscription.md): Represents a subscription to any kind of
listener.
- [LocationManagerOptions](https://visioncamera.margelo.com/api/react-native-vision-camera-location/interfaces/LocationManagerOptions.md)
- [LocationState](https://visioncamera.margelo.com/api/react-native-vision-camera-location/interfaces/LocationState.md): The current state of the useLocation hook.
- Type aliases
- [LocationAccuracy](https://visioncamera.margelo.com/api/react-native-vision-camera-location/type-aliases/LocationAccuracy.md): The accuracy of a Location.
- react-native-vision-camera-resizer
- [react-native-vision-camera-resizer](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer.md)
- HybridObjects
- [GPUFrame](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/hybrid-objects/GPUFrame.md): A GPUFrame represents a texture on the GPU,
often the result of a Frame that has been
resized with the Resizer.
- [Resizer](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/hybrid-objects/Resizer.md): Represents a GPU-accelerated Frame resizer and converter.
- [ResizerFactory](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/hybrid-objects/ResizerFactory.md): The ResizerFactory creates instances of a Resizer.
- Functions
- [createResizer](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/functions/createResizer.md): Create a new Resizer with the given ResizerOptions
- [isResizerAvailable](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/functions/isResizerAvailable.md): Returns whether the GPU-accelerated Resizer pipeline is available on this device.
- [useResizer](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/functions/useResizer.md): Use a Resizer with the given options.
- Interfaces
- [ResizerOptions](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/interfaces/ResizerOptions.md): Configures options for a Resizer.
- Type aliases
- [ChannelOrder](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/type-aliases/ChannelOrder.md): Represents how the three output channels are ordered in memory.
- [DataType](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/type-aliases/DataType.md): Represents the scalar encoding used for each output channel.
- [PixelLayout](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/type-aliases/PixelLayout.md): Represents how the individual channels per pixel are arranged in memory.
- [ResizerState](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/type-aliases/ResizerState.md): The current state of the useResizer hook.
- [ScaleMode](https://visioncamera.margelo.com/api/react-native-vision-camera-resizer/type-aliases/ScaleMode.md): The mode tells the GPU resize pipeline how to map
the input image into the output bounds when the
aspect ratio doesn't match.
- react-native-vision-camera-skia
- [react-native-vision-camera-skia](https://visioncamera.margelo.com/api/react-native-vision-camera-skia.md)
- Views
- [SkiaCamera](https://visioncamera.margelo.com/api/react-native-vision-camera-skia/views/SkiaCamera.md): Represents a Camera view component that uses
[Skia](https://github.com/Shopify/react-native-skia)
for rendering.
- Interfaces
- [SkiaCameraProps](https://visioncamera.margelo.com/api/react-native-vision-camera-skia/interfaces/SkiaCameraProps.md): Represents props for a SkiaCamera.
- [SkiaCameraRef](https://visioncamera.margelo.com/api/react-native-vision-camera-skia/interfaces/SkiaCameraRef.md): A reference to a SkiaCamera.
- [SkiaOnFrameState](https://visioncamera.margelo.com/api/react-native-vision-camera-skia/interfaces/SkiaOnFrameState.md): Represents the state for rendering
a Frame.
- react-native-vision-camera-worklets
- [react-native-vision-camera-worklets](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets.md)
- HybridObjects
- [WorkletQueueFactory](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/hybrid-objects/WorkletQueueFactory.md): The WorkletQueueFactory allows creating WorkletQueues
from NativeThreads.
- Functions
- [createAsyncRunner](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/functions/createAsyncRunner.md): Creates a new AsyncRunner backed by a dedicated NativeThread.
- [createRuntimeThreadProvider](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/functions/createRuntimeThreadProvider.md): Creates the default RuntimeThreadProvider implementation that
bridges `react-native-vision-camera` with
[react-native-worklets](https://docs.swmansion.com/react-native-worklets/docs/).
- [createWorkletRuntimeForThread](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/functions/createWorkletRuntimeForThread.md): Creates a new `WorkletRuntime` that schedules its work on the given
NativeThread.
- [getCurrentThreadMarker](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/functions/getCurrentThreadMarker.md): Returns a unique identifier for the thread this function is currently
running on.
- Type aliases
- [WorkletQueue](https://visioncamera.margelo.com/api/react-native-vision-camera-worklets/type-aliases/WorkletQueue.md)