Commit Graph

210 Commits

Author SHA1 Message Date
Marc Rousavy
4041ee8cbd
docs: New Frame Processor Plugins docs (#2434) 2024-01-25 18:03:56 +01:00
Marc Rousavy
58ef21ebfd
feat: Add minFocusDistance prop to CameraDevice (#2392)
* docs: Link `videoHdr`

* Update PERFORMANCE.mdx

* docs: Add isActive to perf

* docs: Update errors

* feat: Add `minFocusDistance` prop

* Format

* Update Podfile.lock

* fix: To Double

* fix: Import AVFoundation

* fix: Move from format -> device

* fix: Use centi-meters (cm) instead of meters

* Fix deadloop

* fix: Avoid -1 values
2024-01-15 19:30:20 +01:00
Marc Rousavy
ec2f8c258d
docs: Fix typo 2024-01-15 10:10:30 +01:00
Marc Rousavy
ae7f5e2434
docs: Update SharedArray* type 2024-01-13 20:17:48 +01:00
Marc Rousavy
84598c24f0
docs: Update FrameProcessorPlugin's init method callsites (#2385)
* fix: Remove `FrameProcessorPlugin` init method

It was unused.

* fix: Update usage

* Revert "fix: Update usage"

This reverts commit 523f0606808afee998922241f01adf7fb40b0c7b.

* Revert "fix: Remove `FrameProcessorPlugin` init method"

This reverts commit 9025476a842c553d233de9c14f56d422270e98ef.

* Update FRAME_PROCESSOR_CREATE_PLUGIN_IOS.mdx
2024-01-12 16:11:43 +01:00
Marc Rousavy
b9a69a20e5
docs: Recommend @latest CLI version 2024-01-12 16:11:20 +01:00
Marc Rousavy
29fe98cc44
feat: Add zero-copy SharedArray type to Frame Processor Plugins (#2383)
* feat: Create `TypedArray` class for Frame Processor Plugins

* Type

* feat: Pass `VisionCameraProxy` along (BREAKING)

* feat: Finish implementation

* Log a bit

* feat: Successfully convert JSI <> JNI buffers

* Wrap buffer

* fix: Fix using wrong Runtime

* feat: Add docs

* add zero copy example

* Format C++

* Create iOS base

* feat: Finish iOS implementation

* chore: Format

* fix: Use `NSData` instead of `NSMutableData`

* Format

* fix: Fix build when Frame Processors are disabled

* chore: Rename `TypedArray` to `SharedArray`

* fix: Fix Swift typings for Array

* Remove a few default inits

* fix: Fix Android build

* fix: Use `NSInteger`

* Update SharedArray.mm

* fix: Expose bytes directly on iOS (NSData was immutable)
2024-01-12 16:00:36 +01:00
Marc Rousavy
dc8df80085
docs: Add ShadowLens section to docs 2024-01-09 18:29:22 +01:00
Marc Rousavy
0ffaa7fc29
docs: Add tap to focus example 2024-01-09 17:28:05 +01:00
Marc Rousavy
5c99728561
feat: Add new enableCodeScanner prop to build.gradle to make sure CodeScanner always works (#2355)
* feat: Always download model instead of relying on Google Play Services

* feat: Use `VisionCamera_enableCodeScanner` flag instead of unsafely replacing

* Update CODE_SCANNING.mdx
2024-01-08 13:14:47 +01:00
Marc Rousavy
2d84b7f40e
docs: Create pinch-to-zoom example for docs 2024-01-08 12:51:31 +01:00
Marc Rousavy
7241342fd8
docs: Add plugin by mgcrea/vision-camera-barcode-scanner 2023-12-22 10:42:34 +01:00
Marc Rousavy
591cf30a06
perf: Make getCameraPermission and getMicrophonePermission synchronous (#2302) 2023-12-19 14:22:04 +01:00
Marc Rousavy
7fccee226c
docs: Update C++ Frame Processor docs (#2277) 2023-12-12 11:39:36 +01:00
Rodrigo Gomes
248a08b18c
feat: Support for C++ Frame Processor Plugins by publishing VisionCamera as a prefab (#2251)
* update docs

* add prefabs support
2023-12-12 11:21:21 +01:00
Matthew Terry
a77939f6c4
docs: Add missing import for FP docs (#2254) 2023-12-05 20:33:46 +01:00
RhysJosmin
9df46670a8
docs: Use npx expo instead of expo for snippets (#2241)
updated The installation snippet from `expo install react-native-vision-camera` to `npx expo install react-native-vision-camera` since the The global expo-cli package has been deprecated.
2023-12-04 11:45:49 +01:00
Marc Rousavy
cad5240420
fix: Move minExposure/maxExposure from format into device (#2211)
* fix: Move `minExposure`/`maxExposure` into `device`

* Update docs

* chore: Remove unneeded dependency

* chore: Update code
2023-11-24 18:20:56 +01:00
Marc Rousavy
49d58d0d0c
perf: Use lossy compressed YUV buffers if available (#2195) 2023-11-22 16:19:29 +01:00
Marc Rousavy
ef58d13b87
feat: Implement exposure (#2173)
* feat: Implement `exposure` (iOS)

* Update Podfile.lock

* Format

* Expose exposure in format

* Set exposure in Camera2

* fix: Fix exposure calculation

* Add exposure docs
2023-11-19 15:26:43 +01:00
Marc Rousavy
c5dfb6c247
feat: Split videoHdr and photoHdr into two settings (#2161)
* feat: Split `videoHdr` and `photoHdr` into two settings

* fix: Rename all `hdr`

* fix: Fix HDR on Android

* Update CameraDeviceDetails.kt

* Update CameraDeviceDetails.kt

* fix: Correctly configure `pixelFormat` AFTER `format`

* Update CameraSession+Configuration.swift

* fix: Also after format changed
2023-11-15 18:33:12 +01:00
Marc Rousavy
fe6221e4e0
docs: Add Worklets babel plugin to docs 2023-10-31 15:04:52 +01:00
Marc Rousavy
e1f8e1bd2a
docs: Add "Templates" to Format docs 2023-10-24 14:50:29 +02:00
Marc Rousavy
3929c0ac46
fix: Initialize Plugins in a static block of ReactPackage (#2039)
* fix: Initialize Plugins in a `static` block of ReactPackage

* fix: Also register FP Plugins in Example
2023-10-19 11:34:09 +02:00
Marc Rousavy
07027d8010
fix: Rename getFrameProcessorPlugin to initFrameProcessorPlugin (#2038)
* fix: Rename `getFrameProcessorPlugin` to `initFrameProcessorPlugin`

* fix: Make nullable, add comments

* Format

* Update FrameProcessorPlugin.java

* Update FrameProcessorPlugin.h

* fix: Fix dead links

* Call super constructor

* Update ExampleFrameProcessorPlugin.java

* fix: Init calls
2023-10-19 11:19:47 +02:00
Mateusz Mędrek
a291642c53
feat: Reintroduce Macros for Frame Processor Plugin registration (#2027)
in VisionCamera v1 & v2 there were two ObjC macros that were helping
in creation/registration of Frame Processors, but these were removed with
v3

This PR reintroduces such macros, which will not only make FP development
easier, but also it will also fix issues people had with registration of
Swift Frame Processors (+load vs +initialize issues)

Docs were also updated to reflect that the macros should be used to
correctly initialize and register ObjC/Swift Frame Processors
2023-10-19 10:35:14 +02:00
Marc Rousavy
8884a1c3e4
docs: Update phrasing 2023-10-16 13:40:52 +02:00
Marc Rousavy
92c27b06ae Update DEVICES.mdx 2023-10-06 11:53:13 +02:00
Marc Rousavy
36e9e00930
docs: Add **Flash** documentation 2023-10-05 16:40:15 +02:00
Nate Krieger
b14958b1b0
docs: Fix closing xml tag for CodeScanner docs (#1918)
* add full list of supported codes to example and add closing xml tag

* Revert exhaustive code list in example

---------

Co-authored-by: Nate Krieger <nate.krieger@traxero.co>
2023-10-05 14:48:30 +02:00
Marc Rousavy
ffd64feee8 feat: Add enableCodeScanner to Expo Config Plugin 2023-10-05 11:06:38 +02:00
Marc Rousavy
59699929f4 fix: Use minSdkVersion of 26 again 2023-10-05 10:56:30 +02:00
Marc Rousavy
93019c37e6 docs: Update example 2023-10-04 13:00:23 +02:00
Marc Rousavy
889b37d063 docs: Update links 2023-10-04 12:57:30 +02:00
Marc Rousavy
5efaefee98 docs: Update QR Code references 2023-10-04 12:56:47 +02:00
Marc Rousavy
6640b72a00
feat: Code Scanner API (#1912)
* feat: CodeScanner JS API

* feat: iOS

* Use guard

* Format

* feat: Android base

* fix: Attach Surfaces

* Use isBusy var

* fix: Use separate Queue

* feat: Finish iOS types

* feat: Implement all other code types on Android

* fix: Call JS event

* fix: Pass codetypes on Android

* fix: iOS use Preview coordinate system

* docs: Add comments

* chore: Format code

* Update CameraView+AVCaptureSession.swift

* docs: Add Code Scanner docs

* docs: Update

* feat: Use lazily downloaded model on Android

* Revert changes in CameraPage

* Format

* fix: Fix empty QR codes

* Update README.md
2023-10-04 12:53:52 +02:00
Marc Rousavy
e9b39924d7 docs: Add "Pixel Formats" documentation page 2023-10-03 14:35:26 +02:00
Marc Rousavy
324e269173
fix: Set minSdkVersion to 23 (#1911)
* fix: Set `minSdkVersion` to 21

* sorry I meant 23
2023-10-03 13:52:42 +02:00
Mateusz Mędrek
bdd81cf2fb
chore: Improve native Frame Processor Plugin documentation (#1877) 2023-10-03 11:36:55 +02:00
Marc Rousavy
b24b1c808f docs: Fix links 2023-10-03 11:31:37 +02:00
Shiran Gabriel
12c2987b85
doc: Code fixes on saving & getting the photo in TAKING_PHOTOS.mdx (#1896)
code fixes on saving & getting the photo in TAKING_PHOTOS.mdx

- The variable path has been renamed to file, as camera.current.takePhoto() always returns a file
- CameraRoll.save() method has been updated to use file.path for saving the captured photo.
- fetch() method has been updated to use file.path on getting captured photo as blob
2023-10-03 11:20:41 +02:00
Marc Rousavy
554b7416b1 docs: Update minSdkVersion to 26 2023-10-03 11:04:36 +02:00
Marc Rousavy
39b9c908f9 docs: Fix b 2023-09-30 15:34:31 +02:00
Lihang Xu
94c05f9113
docs: Add Dynamsoft Document Normalizer to the frame processor plugins lists (#1331)
Update FRAME_PROCESSOR_PLUGIN_LIST.mdx

Add Dynamsoft Document Normalizer.

Co-authored-by: Marc Rousavy <me@mrousavy.com>
2023-09-30 15:33:08 +02:00
Yasin Torun
3a080901a8
docs: Add vision-camera-base64 plugin to list (#1411)
* docs: Add vision-camera-base64 plugin to list

* chore: Update text

* Update FRAME_PROCESSOR_PLUGIN_LIST.mdx

---------

Co-authored-by: Marc Rousavy <me@mrousavy.com>
Co-authored-by: Marc Rousavy <marcrousavy@hotmail.com>
2023-09-30 15:32:03 +02:00
Marc Rousavy
ce07750dea docs: Fix runAsync example 2023-09-30 12:12:43 +02:00
Marc Rousavy
9bad0bb99e
Update RECORDING_VIDEOS.mdx 2023-09-29 16:53:24 +02:00
Marc Rousavy
902dc634a4
feat: Add customizable Video Bit Rate (videoBitRate) (#1882)
* feat: Add `videoBitRate` option to `RecordVideoOptions`

* feat: Implement `videoBitRate` on iOS

* feat: Implement `videoBitRate` on Android

* chore: Format

* docs: Separate recording and photo docs

* docs: Fix links

* docs: Add docs about bitrate and quality

* docs: Add blob

* fix: Don't use inline style for CI

* fix: Correctly log default bitRate

* fix: Fix typo

* fix: Calculate default bit-rate on Android depending on resolution

* Update RecordingSession.kt
2023-09-29 15:27:09 +02:00
Marc Rousavy
eec9a3eb6e docs: Make images responsive 2023-09-27 12:21:34 +02:00
Marc Rousavy
bb7549bc01 docs: Fix highlight 2023-09-27 12:15:42 +02:00