react-native-vision-camera/package/src
Marc Rousavy 37398cc909
feat: Flash with AE Pre-capture trigger for Android (#2558)
### Flash (`flash`)

Adds `flash` functionality with a fully custom pre-capture AE/AF/AWB trigger sequence for Android. 🎉 

```ts
camera.current.takePhoto({
  flash: 'on' // or 'auto'
})
```

### Better photos (`qualityPrioritization`)

We now also run the AE/AF/AWB precapture sequence on every photo (unless `qualityPrioritization` is `speed`), meaning photos are now less blurry, properly exposed, and properly white-balanced - so in short: **photo quality is now better!**.

The fast path still exists when using `qualityPrioritization: speed`, as that will skip the precapture sequence and metering actions and just grab an Image from the Camera as quickly as possible.

Additionally, `qualityPrioritization` now controls these options:

- [COLOR_CORRECTION_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#COLOR_CORRECTION_MODE)
- [EDGE_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#EDGE_MODE)
- [COLOR_CORRECTION_ABERRATION_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE)
- [HOT_PIXEL_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#HOT_PIXEL_MODE)
- [DISTORTION_CORRECTION_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#DISTORTION_CORRECTION_MODE)
- [NOISE_REDUCTION_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#NOISE_REDUCTION_MODE)
- [SHADING_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#SHADING_MODE)
- [TONEMAP_MODE](https://developer.android.com/reference/android/hardware/camera2/CaptureRequest#TONEMAP_MODE)

..by setting them to `_FAST` or `_HIGH_QUALITY`, which was previously left untouched. 

This now means:
- `takePhoto({ qualityPrioritization: 'speed' })` got FASTER 🚀 
- `takePhoto({ qualityPrioritization: 'quality' })` got BETTER QUALITY 📸 
- `takePhoto({ qualityPrioritization: 'balanced' })` is left unchanged 
2024-02-14 16:43:30 +01:00
..
devices fix: Properly type Format Templates (#2499) 2024-02-05 12:37:42 +01:00
expo-plugin feat: Add new enableCodeScanner prop to build.gradle to make sure CodeScanner always works (#2355) 2024-01-08 13:14:47 +01:00
hooks fix: Refresh Permissions on AppState change (#2420) 2024-01-19 12:17:04 +01:00
Camera.tsx fix: Fix pixelFormat being native when FP is set (#2450) 2024-01-29 13:39:16 +01:00
CameraDevice.ts feat: Add minFocusDistance prop to CameraDevice (#2392) 2024-01-15 19:30:20 +01:00
CameraDevices.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
CameraError.ts feat: Flash with AE Pre-capture trigger for Android (#2558) 2024-02-14 16:43:30 +01:00
CameraProps.ts chore: Improve enableGpuBuffers docs 2024-02-14 13:52:02 +01:00
CodeScanner.ts docs: Add platform: iOS annotation to regionOfInterest prop 2024-01-13 19:35:30 +01:00
Frame.ts feat: Use JSI's ArrayBuffer instead of TypedArray (#2408) 2024-01-17 20:18:46 +01:00
FrameProcessorPlugins.ts feat: Expose FrameProcessorPlugin TS type 2024-01-17 11:58:32 +01:00
index.ts feat: Code Scanner API (#1912) 2023-10-04 12:53:52 +02:00
JSIHelper.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
NativeCameraModule.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
Orientation.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
PhotoFile.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
PixelFormat.ts fix: Remove dng PixelFormat 2023-10-03 11:27:46 +02:00
Point.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
TemporaryFile.ts chore: Remove semicolons (#1846) 2023-09-26 11:39:17 +02:00
VideoFile.ts feat: Add width and height to VideoFile output (#2281) 2023-12-12 16:43:57 +01:00