react-native-skia-webgpu-video 0.1.0-beta.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +21 -23
  2. package/android/BUILD_VALIDATION.md +1 -1
  3. package/docs/FRAME_PIXEL_FORMAT.md +16 -1
  4. package/docs/UPSTREAM_NOTES.md +28 -1
  5. package/ios/RNSVColorSpace.h +8 -3
  6. package/lib/module/exportFrames.js +2 -2
  7. package/lib/module/exportFrames.js.map +1 -1
  8. package/lib/module/exportVideoComposition.js +25 -23
  9. package/lib/module/exportVideoComposition.js.map +1 -1
  10. package/lib/module/frameInterop.js +314 -70
  11. package/lib/module/frameInterop.js.map +1 -1
  12. package/lib/module/gpu.js +1 -1
  13. package/lib/module/gpu.js.map +1 -1
  14. package/lib/module/memory.js +7 -0
  15. package/lib/module/memory.js.map +1 -1
  16. package/lib/module/previewLifecycle.js +2 -0
  17. package/lib/module/previewLifecycle.js.map +1 -1
  18. package/lib/module/videoCompositionPlayer.js +65 -14
  19. package/lib/module/videoCompositionPlayer.js.map +1 -1
  20. package/lib/module/videoFrameImage.js +1 -1
  21. package/lib/module/yuvBlit.js +3 -3
  22. package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
  23. package/lib/typescript/src/frameInterop.d.ts +16 -5
  24. package/lib/typescript/src/frameInterop.d.ts.map +1 -1
  25. package/lib/typescript/src/memory.d.ts +2 -0
  26. package/lib/typescript/src/memory.d.ts.map +1 -1
  27. package/lib/typescript/src/previewLifecycle.d.ts +2 -0
  28. package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
  29. package/lib/typescript/src/types.d.ts +8 -7
  30. package/lib/typescript/src/types.d.ts.map +1 -1
  31. package/lib/typescript/src/videoCompositionPlayer.d.ts +4 -5
  32. package/lib/typescript/src/videoCompositionPlayer.d.ts.map +1 -1
  33. package/lib/typescript/src/videoFrameImage.d.ts +1 -1
  34. package/package.json +6 -6
  35. package/patches/{react-native-skia+3.7.4.patch → react-native-skia+3.10.0.patch} +7 -3
  36. package/scripts/skia-canvas-patch.json +6 -6
  37. package/src/exportFrames.ts +2 -2
  38. package/src/exportVideoComposition.ts +43 -59
  39. package/src/frameInterop.ts +380 -85
  40. package/src/gpu.ts +1 -1
  41. package/src/memory.ts +6 -0
  42. package/src/previewLifecycle.ts +4 -0
  43. package/src/types.ts +8 -7
  44. package/src/videoCompositionPlayer.ts +76 -23
  45. package/src/videoFrameImage.ts +1 -1
  46. package/src/yuvBlit.ts +3 -3
package/README.md CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  <p align="center">
6
6
  <a href="https://github.com/batical/react-native-skia-webgpu-video/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/batical/react-native-skia-webgpu-video/actions/workflows/ci.yml/badge.svg?branch=main" /></a>
7
- <a href="https://www.npmjs.com/package/react-native-skia-webgpu-video"><img alt="npm" src="https://img.shields.io/npm/v/react-native-skia-webgpu-video/beta" /></a>
8
- <a href="#status"><img alt="Status: beta" src="https://img.shields.io/badge/status-beta-f59e0b" /></a>
9
- <img alt="React Native Skia 3.7.4" src="https://img.shields.io/badge/Skia-3.7.4-38bdf8" />
10
- <img alt="React Native WebGPU 0.19.0" src="https://img.shields.io/badge/WebGPU-0.19.0-a78bfa" />
7
+ <a href="https://www.npmjs.com/package/react-native-skia-webgpu-video"><img alt="npm" src="https://img.shields.io/npm/v/react-native-skia-webgpu-video" /></a>
8
+ <a href="#status"><img alt="Status: stable" src="https://img.shields.io/badge/status-stable-22c55e" /></a>
9
+ <img alt="React Native Skia 3.10.0" src="https://img.shields.io/badge/Skia-3.10.0-38bdf8" />
10
+ <img alt="React Native WebGPU 0.21.3" src="https://img.shields.io/badge/WebGPU-0.21.3-a78bfa" />
11
11
  <a href="LICENSE"><img alt="MIT license" src="https://img.shields.io/badge/license-MIT-34d399" /></a>
12
12
  </p>
13
13
 
@@ -27,7 +27,7 @@ A new Skia 3 / WebGPU frame-interop layer, written from scratch with explicit re
27
27
  - **Audio compositions** with clip audio, separate tracks, and per-item volume.
28
28
  - **Custom GPU processing** through an export frame processor and an optional WebGPU resource scope.
29
29
 
30
- > **Beta.** The Skia 3.7.4 / WebGPU 0.19.0 build has run on an iPhone 15 Pro and a Pixel 8a (export speed, pixel checks, native and instrumented tests, smoke runs). Not yet qualified: memory over long sessions (last checked on 3.0.6), HDR, audible output and A/V synchronization; two 4K cases have known issues. See [status](#status) before adopting this in production.
30
+ > **0.1.0.** The Skia 3.9.1 / WebGPU 0.21.0 build has run on an iPhone 15 Pro and a Pixel 8a: export speed, preview frame accuracy, pixel and color checks, native and instrumented tests, smoke runs. Not yet qualified: memory over long sessions (last checked on 3.0.6), HDR, audible output and A/V synchronization. A few 4K cases have known issues. See [status](#status) before adopting this in production.
31
31
 
32
32
  ## Installation
33
33
 
@@ -37,8 +37,8 @@ A new Skia 3 / WebGPU frame-interop layer, written from scratch with explicit re
37
37
  | --- | --- |
38
38
  | React Native | `0.86.2` tested; declared peer range `>=0.83 <0.87` |
39
39
  | React | `19.2.3` tested |
40
- | React Native Skia | **`react-native-skia@3.7.4`** |
41
- | React Native WebGPU | **`react-native-webgpu@0.19.0`** (both resolve `react-native-webgpu-dawn@157.0.0`) |
40
+ | React Native Skia | **`react-native-skia@3.10.0`** |
41
+ | React Native WebGPU | **`react-native-webgpu@0.21.3`** (both resolve `react-native-webgpu-dawn@158.0.0`) |
42
42
  | Reanimated / Worklets | **`4.5.3` / `0.11.3`** |
43
43
  | Native runtime | New Architecture and Hermes |
44
44
  | Android | API **28+**, Vulkan 1.1 (declared as a required feature by Skia) |
@@ -49,11 +49,9 @@ On ProMotion iPhones, add `CADisableMinimumFrameDurationOnPhone` (Boolean, `YES`
49
49
 
50
50
  ### Install
51
51
 
52
- The beta is published on npm under the `beta` tag:
53
-
54
52
  ```sh
55
- npm install --save-exact react-native-skia@3.7.4 react-native-webgpu@0.19.0 react-native-reanimated@4.5.3 react-native-worklets@0.11.3
56
- npm install --save-exact react-native-skia-webgpu-video@beta
53
+ npm install --save-exact react-native-skia@3.10.0 react-native-webgpu@0.21.3 react-native-reanimated@4.5.3 react-native-worklets@0.11.3
54
+ npm install --save-exact react-native-skia-webgpu-video
57
55
  ```
58
56
 
59
57
  Each version requires exact Skia and WebGPU versions (its peer dependencies). The [GitHub releases](https://github.com/batical/react-native-skia-webgpu-video/releases) attach the same package archive, installable by URL. To build it from source instead, run `npm ci`, `npm run build` and `npm pack` in a clone, then `npm install` the resulting `.tgz`.
@@ -206,26 +204,26 @@ This budget covers **tracked video resources**, not all memory held by codecs, S
206
204
  | Step | iOS | Android |
207
205
  | --- | --- | --- |
208
206
  | Decode | AVFoundation, IOSurface-backed buffers, no extra copy (`alwaysCopiesSampleData = NO`): the decoder's NV12 (`framePixelFormat: 'yuv'`, the default), or BGRA converted by VideoToolbox (`'rgba'`) | API 29+, 8-bit SDR H.264/HEVC: `ImageReader` YUV buffers (the default), at any frame size, capped or explicit sizes included. Otherwise, or with `'rgba'`: EGL render into an RGBA AHardwareBuffer (or a CPU scoped-copy fallback) |
209
- | Into Skia, preview | NV12: a YUV→RGB render pass into a reusable texture. BGRA: a WebGPU blit into it. Then an owned Graphite snapshot | WebGPU blit (YUV→RGB, crop, rotation and scaling to the frame's size in one pass), then an owned Graphite snapshot |
207
+ | Into Skia, preview | NV12: a YUV→RGB render pass into a texture of the frame's producer. BGRA: a WebGPU blit into it. The Skia image wraps that texture, without a copy | WebGPU blit (YUV→RGB, crop, rotation and scaling to the frame's size in one pass) into a texture of the frame's producer, which the Skia image wraps without a copy |
210
208
  | Into Skia, export | NV12: converted into a per-clip texture, as on Android. BGRA: sampled in place through the frame's IOSurface, no copy | Same as preview |
211
209
  | Export output | Skia draws into the encoder's CVPixelBuffer (IOSurface) | Skia draws into one of two textures of the library's, which a GPU copy puts into the codec's input Surface, through a WebGPU canvas context on it (Vulkan swapchain): no EGL. Before each present, the frame time is set on the window and its dataspace reset, so the codec writes Rec.709 limited range as it did with EGL |
212
210
  | Fallback | CPU readback, with a warning | CPU readback, with a warning |
213
211
 
214
- Every path waits for checked GPU completion before releasing source frames. Android's export waits for a frame's GPU work once it has decoded the next frame, so the GPU draws one frame while the CPU decodes the next, and it reports each frame's duration to Android's performance hints (ADPF, Android 13 and later), which raise the CPU and, from Android 15, the GPU capacity the export gets. On Android, OpenGL remains in two places: the CPU readback fallback draws into the codec Surface through EGL, and HDR and 10-bit sources (or `framePixelFormat: 'rgba'`) keep the EGL decode path.
212
+ Every path gives source frames back only once the GPU is done with them: exports wait for checked GPU completion; the preview submits its draws and imports without waiting on the UI thread, and hands decoder buffers back when the GPU reports them done (waiting instead when the memory budget cannot hold them). Android's export waits for a frame's GPU work once it has decoded the next frame, so the GPU draws one frame while the CPU decodes the next, and it reports each frame's duration to Android's performance hints (ADPF, Android 13 and later), which raise the CPU and, from Android 15, the GPU capacity the export gets. On Android, OpenGL remains in two places: the CPU readback fallback draws into the codec Surface through EGL, and HDR and 10-bit sources (or `framePixelFormat: 'rgba'`) keep the EGL decode path.
215
213
 
216
214
  ### Frame pixel format
217
215
 
218
216
  `framePixelFormat` chooses how a composition's frames are decoded, for its preview and its export:
219
217
 
220
218
  ```ts
221
- const composition = { duration, items, framePixelFormat: 'yuv' }; // 'auto' (default) | 'yuv' | 'rgba'
219
+ const composition = { duration, items, framePixelFormat: 'yuv' }; // 'auto' (default) | 'yuv' | 'rgba' (deprecated)
222
220
  ```
223
221
 
224
222
  - `yuv`: the decoder's own YUV 4:2:0 buffers, converted to RGB on the GPU when a frame is drawn. A decoded frame takes 1.5 bytes a pixel instead of 4 (12.4 MB instead of 33.2 MB in 4K), so the decoder keeps more frames ahead in the same memory.
225
- - `rgba`: frames converted to RGB as they are decoded (iOS: by VideoToolbox; Android: by an OpenGL pass), which an iOS GPU export samples in place.
226
- - `auto`: `yuv`, on both platforms.
223
+ - `rgba` (**deprecated**, still supported): frames converted to RGB as they are decoded (iOS: by VideoToolbox; Android: by an OpenGL pass). It no longer has an advantage. Exports run as fast in `yuv` (a 120-clip montage on an iPhone 15 Pro: 7.7 s in `yuv`, 7.8 s in `rgba`), and `yuv` renders the same colors. A 4K60 preview keeps fewer frames on screen in `rgba` (about 235 of 360 on an iPhone 15 Pro, against 355 in `yuv`), and frames take 2.7 times the memory. Use `auto`.
224
+ - `auto`: `yuv`, on both platforms. Android keeps HDR and 10-bit tracks in RGBA whatever the setting.
227
225
 
228
- Both convert with the frame's own YCbCr matrix and range, HDR tone mapped to Rec.709 by the platform. One difference: on iOS, `rgba` also converts a file tagged with other primaries or another SDR transfer function (Display P3, sRGB) to Rec.709, as AVFoundation does; `yuv`, like Android in both formats, takes its samples as Rec.709. Camera footage (Rec.709 or HLG) renders the same in both. See the [measurements](docs/FRAME_PIXEL_FORMAT.md) before choosing.
226
+ Both convert with the frame's own YCbCr matrix and range, HDR tone mapped to Rec.709 by the platform. On iOS, both also convert files tagged Display P3 or sRGB to Rec.709, as AVFoundation does. Android takes SDR samples as Rec.709 in both formats. See the [measurements](docs/FRAME_PIXEL_FORMAT.md) before choosing.
229
227
 
230
228
  For advanced exports, `createFrameProcessor` supports asynchronous preparation at each composition timestamp. The optional `react-native-skia-webgpu-video/gpu` entry point provides a resource scope whose asynchronous disposal waits for tracked work. See the [WebGPU cube example](examples/webgpu-overlay.ts).
231
229
 
@@ -235,7 +233,7 @@ These are integration building blocks. Three.js adapters, Core ML models, and au
235
233
 
236
234
  Release builds, 3 repetitions per case, deterministic workloads from catalog `2026-10-07.1` (plus two 4K → 4K exports added for beta.4), median export wall time. Protocol, raw results and Perfetto analysis in the [3.7.4 verification report](migration/skia-3.7.4/verification.md). Earlier campaigns: [3.7.0](migration/skia-3.7.0/verification.md), [3.6.1](migration/skia-3.6.1/verification.md), [3.4.4](migration/skia-3.4.4/verification.md).
237
235
 
238
- Beta.4 (Skia 3.7.4 / WebGPU 0.19.0) exports a third faster on Android, up to 45% on 4K sources, and leaves iOS unchanged.
236
+ Beta.4 (Skia 3.7.4 / WebGPU 0.19.0) exports a third faster on Android, up to 45% on 4K sources, and leaves iOS unchanged. 0.1.0 (Skia 3.9.1 / WebGPU 0.21.0) leaves export times unchanged on both phones, within ±4% ([3.9.1 verification](migration/skia-3.9.1/verification.md)).
239
237
 
240
238
  **Pixel 8a (Android 17)**, thermal state nominal, medians of 9 repetitions for beta.3 and 6 for beta.4:
241
239
 
@@ -274,12 +272,12 @@ Reproduce on your devices with the example app: `node scripts/test-ios-device-ab
274
272
 
275
273
  | Area | Current evidence |
276
274
  | --- | --- |
277
- | Frame accuracy | At 60 Hz, the preview draws the frame due at 99–100% of vsyncs in 30, 24 and 60 fps on both phones, and 97–100% in 4K with `yuv` frames on the Pixel 8a. On a warm iPhone at 120 Hz: 73–95% in 1080p, 77–90% in 4K 60 fps. Every exported frame holds the right source frame, in both frame pixel formats ([beta.3 verification](docs/VERIFICATION_0.1.0-beta.3.md)). |
278
- | iOS | iPhone 15 Pro: 61/61 benchmark cases pass with `yuv` frames, including the three that stopped on the video memory budget with BGRA ([beta.3 verification](docs/VERIFICATION_0.1.0-beta.3.md)). With Skia 3.7.4: 56/58 native XCTests pass, the other two being opt-in diagnostics, and the smoke profile passes in 8 of 9 runs. The one failure, a preview frame import refused right after a launch on a locked phone, did not come back ([3.7.4 verification](migration/skia-3.7.4/verification.md#reste-à-faire)). |
279
- | Android | Pixel 8a, beta.4: CPU vs GPU decode comparison 10/10 cases (max channel error 1, including rotation, portrait and 4K); export checks of a color pattern and of a decoded rotated clip match CPU readback. The EGL-free export writes the same bytes as beta.3's (Rec.709, limited range) ([3.7.4 verification](migration/skia-3.7.4/verification.md)). Instrumented tests: 126/127; the failure, a 4K preview throughput test, fails the same way on beta.3. |
280
- | JavaScript / types | 238 tests in 11 suites, typecheck, package tests and 122 benchmark-harness tests pass; CI runs them on every pull request. |
275
+ | Frame accuracy | At 60 Hz, the preview draws the frame due at 99–100% of vsyncs in 30, 24 and 60 fps on both phones, and 97–100% in 4K with `yuv` frames on the Pixel 8a. On an iPhone 15 Pro at 120 Hz with Skia 3.9.1: 99.7–100% of the frames read back are exact, and a 4K 60 fps preview shows 355–358 of its 360 frames at about 120 draws/s. Every exported frame holds the right source frame, in both frame pixel formats ([beta.3](docs/VERIFICATION_0.1.0-beta.3.md) and [3.9.1](migration/skia-3.9.1/verification.md) verifications). |
276
+ | iOS | iPhone 15 Pro: 61/61 benchmark cases pass with `yuv` frames, including the three that stopped on the video memory budget with BGRA ([beta.3 verification](docs/VERIFICATION_0.1.0-beta.3.md)). With Skia 3.9.1: 56/58 native XCTests pass, the other two being opt-in diagnostics. The smoke profile passes, and the frame-sync profile matches Skia 3.8.1's 43/58, with all 16 exports frame-exact ([3.9.1 verification](migration/skia-3.9.1/verification.md)). |
277
+ | Android | Pixel 8a, Skia 3.9.1: CPU vs GPU decode comparison 10/10 cases (max channel error 1, including rotation, portrait and 4K); export checks of a color pattern and of a decoded rotated clip match CPU readback, now read back asynchronously. The EGL-free export writes Rec.709, limited range ([3.7.4](migration/skia-3.7.4/verification.md) and [3.9.1](migration/skia-3.9.1/verification.md) verifications). Instrumented tests: 126/127. The failure, a 4K preview throughput test, fails the same way on Skia 3.8.1. |
278
+ | JavaScript / types | 247 tests in 11 suites, typecheck, package tests and 122 benchmark-harness tests pass; CI runs them on every pull request. |
281
279
  | Image / audio fidelity | Sampled SDR pixels and an exported color pattern are checked on Android; iOS exported files have the same byte size as with 3.0.6. Whole-image fidelity, HDR, audible output and A/V synchronization remain unqualified. |
282
- | Known issues | On Pixel 8a: a seek while playing a 4K sequence leaves the clock stalled, a paused seek into a 120-clip lazy montage does not show its frame, and Android 17 reports a missing file in words the harness does not recognize; all three predate beta.3. An iOS export with `yuv` frames spends 2–4 ms more per frame than with `rgba`. With `ImageReader`, 1:1 exports are 5–16% larger files for matching sampled pixels. |
280
+ | Known issues | On Pixel 8a: a seek while playing a 4K sequence leaves the clock stalled, a paused seek into a 120-clip lazy montage does not show its frame, and Android 17 reports a missing file in words the harness does not recognize; all three predate beta.3. On iPhone, a 4K 60 fps preview with the deprecated `rgba` frames shows only about 235 of 360 frames: its 33 MB buffers keep a GPU wait to stay within the memory budget. With `ImageReader`, 1:1 exports are 5–16% larger files for matching sampled pixels. |
283
281
  | Long sessions | Not yet re-run since 3.0.6; the 3.0.6 results below are the latest. |
284
282
 
285
283
  ### Earlier results (Skia 3.0.6)
@@ -1,6 +1,6 @@
1
1
  # Android validation and frame ownership
2
2
 
3
- The Android example in `../example/android` pins React Native 0.86.2, Skia 3.7.4, WebGPU 0.19.0, the shared `react-native-webgpu-dawn` 157.0.0 (chrome-m157) and Graphite Android 157.0.0; Gradle needs `node` to resolve that Dawn package. Since WebGPU 0.19.0, export renders straight into the codec's input Surface through a WebGPU canvas context on it (`MakeWebGPUCanvasContextFromNativeWindow`, Vulkan swapchain), with no EGL; CPU readback, drawn into the Surface by EGL, stays the fallback. On API 29+, 8-bit SDR H.264/HEVC clips go through an `ImageReader`, whose YUV buffers WebGPU converts, crops, rotates and scales to the frame's size (capped or explicit sizes included since the 3.7.4 migration); since 3.6.1 each buffer is imported once, and exports sample the converted frame in place. The 3.7.0 build was assembled and run on a Pixel 8a on 2026-10-19 ([verification](../migration/skia-3.7.0/verification.md)), after the 3.6.1 build of 2026-10-16 ([verification](../migration/skia-3.6.1/verification.md)) and the 3.4.4 build of 2026-10-14/15 ([verification](../migration/skia-3.4.4/verification.md)); the evidence below is from Skia 3.0.6 / WebGPU 0.12.1 / Graphite 154.1.0. It uses Java 17, Gradle 9.3.1, Android SDK 36 and NDK 27.1.12297006. The library requires API 28; a consuming application with a lower minimum receives an explicit Gradle configuration error. The default example ABI is arm64-v8a; `RNSKV_ANDROID_ABI` selects another ABI for the validation script.
3
+ The Android example in `../example/android` pins React Native 0.86.2, Skia 3.10.0, WebGPU 0.21.3, the shared `react-native-webgpu-dawn` 158.0.0 (chrome-m158) and Graphite Android 158.0.0; Gradle needs `node` to resolve that Dawn package. Since WebGPU 0.19.0, export renders straight into the codec's input Surface through a WebGPU canvas context on it (`MakeWebGPUCanvasContextFromNativeWindow`, Vulkan swapchain), with no EGL; CPU readback, drawn into the Surface by EGL, stays the fallback. On API 29+, 8-bit SDR H.264/HEVC clips go through an `ImageReader`, whose YUV buffers WebGPU converts, crops, rotates and scales to the frame's size (capped or explicit sizes included since the 3.7.4 migration); since 3.6.1 each buffer is imported once, and exports sample the converted frame in place. The 3.7.0 build was assembled and run on a Pixel 8a on 2026-10-19 ([verification](../migration/skia-3.7.0/verification.md)), after the 3.6.1 build of 2026-10-16 ([verification](../migration/skia-3.6.1/verification.md)) and the 3.4.4 build of 2026-10-14/15 ([verification](../migration/skia-3.4.4/verification.md)); the evidence below is from Skia 3.0.6 / WebGPU 0.12.1 / Graphite 154.1.0. It uses Java 17, Gradle 9.3.1, Android SDK 36 and NDK 27.1.12297006. The library requires API 28; a consuming application with a lower minimum receives an explicit Gradle configuration error. The default example ABI is arm64-v8a; `RNSKV_ANDROID_ABI` selects another ABI for the validation script.
4
4
 
5
5
  Run `android/scripts/validate.sh build` from the repository. It assembles the example Debug and unsigned Release APKs, library AAR, standalone instrumentation APK and JVM tests. Release uses the installed `hermes-compiler` package, and both native and Metro build concurrency are bounded to two workers. The Release APK is unsigned: device installation requires signing a separate local qualification artifact. The project supplies no publishing or release signing configuration.
6
6
 
@@ -79,7 +79,22 @@ Chaque frame exportée a été relue : la bonne frame source dans tous les cas,
79
79
  | HEVC 1080p 60 → 640×360 | 4,1 s | 8,9 s | 0,9–1,4 s | **0,5 s** |
80
80
  | Montage de 120 clips (suite `full`) | **63,5 s** | 95,9 s | 18,1 s | **14,0 s** |
81
81
 
82
- Sur iOS, l'export en `yuv` importe chaque frame NV12 et la convertit dans une texture, là où le BGRA est lu en place. Ce surcoût d'environ 2 à 4 ms par frame est invisible en 4K, où le décodage domine, mais pèse sur les sorties petites ou les exports longs. Pour un export iOS où la vitesse prime sur la mémoire, `framePixelFormat: 'rgba'` reste le plus rapide.
82
+ Sur iOS, l'export en `yuv` importe chaque frame NV12 et la convertit dans une texture, là où le BGRA est lu en place. Au 21 octobre (beta.3), ce surcoût d'environ 2 à 4 ms par frame pesait sur les sorties petites ou les exports longs.
83
+
84
+ **Mise à jour du 4 novembre 2026 (Skia 3.9.1, même build, deux répétitions) :** l'écart a disparu depuis l'import NV12 en place de la beta.4.
85
+
86
+ | Export iPhone 15 Pro | `yuv` | `rgba` |
87
+ | --- | --- | --- |
88
+ | `long-montage-120-clips` (2 160 images) | **7 692 ms** | 7 778 ms |
89
+ | `shorts-x20-lazy` | **1 298 ms** | 1 354 ms |
90
+ | `montage-all-crossfade-lazy` | 2 191 ms | 2 122 ms |
91
+ | `native-hevc-1080p-rot270` | 737 ms | 728 ms |
92
+ | `encode-h264-copy` | 180 ms | 178 ms |
93
+
94
+ - La conversion coûte environ 0,9 ms de GPU par image sur des sources 4K, mais le décodage NV12 gagne environ 0,8 ms.
95
+ - `rgba` gardait un dernier avantage sur iOS : la conversion des fichiers étiquetés Display P3 ou sRGB. Depuis le 4 novembre, le décodage NV12 la demande aussi à AVFoundation (`TrackNeedsSDRConversion`, `ios/RNSVColorSpace.h`). Sur `render-tagged-p3-flowers`, l'écart `yuv`/`rgba` passe de 26 (moyenne 5,72) à 7 (moyenne 0,82), au niveau des clips Rec.709. Les autres fichiers ne bougent pas.
96
+ - **`rgba` est donc déprécié** : il ne fait plus rien que `yuv` ne fasse aussi bien. Il reste accepté.
97
+ - En aperçu, `rgba` est à éviter : depuis Skia 3.9.1, un aperçu 4K60 en `rgba` sur iPhone 15 Pro garde environ 235 images sur 360, contre 355 en `yuv` (voir la [vérification 3.9.1](../migration/skia-3.9.1/verification.md)).
83
98
 
84
99
  ### Mémoire
85
100
 
@@ -1,5 +1,32 @@
1
1
  # Points amont à revoir lors d'une mise à jour Skia
2
2
 
3
+ **Mise à jour du 12 novembre 2026 :** **`react-native-skia@3.10.0`** et **`react-native-webgpu@0.21.3`**, sur Dawn/Graphite **158.0.0** (Skia m158, [#4419](https://github.com/wcandillon/react-native-skia/pull/4419)) ; les deux paquets montent ensemble.
4
+ - **Patch :** `RNDawnContext.h` et `JsiSkSurface.h` sont identiques octet pour octet à ceux de la 3.9.2. `JsiSkApi.h` change (ajout de `ShapeBlob`), mais les éditions s'y appliquent telles quelles ; seules ses empreintes changent.
5
+ - **Autres changements amont :** `pendingFrames` exposé par vue sur `SkGraphiteContext` ([#4412](https://github.com/wcandillon/react-native-skia/pull/4412)), rejeu des commandes du recorder sans copies ([#4423](https://github.com/wcandillon/react-native-skia/pull/4423), [#4424](https://github.com/wcandillon/react-native-skia/pull/4424)), `SkShapeBlob` ([#4413](https://github.com/wcandillon/react-native-skia/pull/4413), non utilisé ici).
6
+ - **Vérifié sur l'hôte seulement :** Jest, typecheck, tests du paquet. Pas encore de build ni de mesure sur appareil.
7
+
8
+ **Mise à jour du 9 novembre 2026 :** **`react-native-skia@3.9.2`** et **`react-native-webgpu@0.21.2`**, toujours sur Dawn/Graphite **157.1.0**. Le `main` amont du jour (`cf9240bd6`) ne diffère de la v3.9.2 que par un banc de performance de l'exemple et de la CI ([#4385](https://github.com/wcandillon/react-native-skia/pull/4385)) : le paquet publié est le même.
9
+ - **Patch :** `JsiSkSurface.h` et `JsiSkApi.h` sont identiques octet pour octet à ceux de la 3.9.1. `RNDawnContext.h` change, mais les 8 éditions s'y appliquent telles quelles.
10
+ - **Une ligne ajoutée au patch :** `submitRecordingChecked` marque son snap et son exécution comme travail GPU (`RNSkGpuActivity::Scope`), comme le fait désormais `submitRecording` en amont.
11
+ - La 3.9.2 compile en tâche de fond les pipelines courants et ceux du lancement précédent (`RNSkPipelineWarmup`, [#4398](https://github.com/wcandillon/react-native-skia/pull/4398)).
12
+ - Ce warmup ne compile que si aucun travail GPU n'est marqué, car chaque compilation tient le verrou du device Dawn.
13
+ - Sans le marquage, nos soumissions vérifiées (l'export) passeraient pour un device au repos.
14
+ - **Autres changements amont :** cadence des vues refaite ([#4398](https://github.com/wcandillon/react-native-skia/pull/4398)), le thread principal Android n'attend plus le thread de présentation ([#4395](https://github.com/wcandillon/react-native-skia/pull/4395)), `MakeGPUTextureFromImage` n'attend plus le CPU ([#4401](https://github.com/wcandillon/react-native-skia/pull/4401), non utilisé ici).
15
+ - **WebGPU 0.21.1 et 0.21.2 :** un `null` dans une liste d'emplacements garde son index ([#617](https://github.com/wcandillon/react-native-webgpu/pull/617)), `device.queue` rend toujours le même objet ([#614](https://github.com/wcandillon/react-native-webgpu/pull/614)), pod compatible `use_frameworks!` ([#612](https://github.com/wcandillon/react-native-webgpu/pull/612)).
16
+ - [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) est toujours ouverte : le patch ne rétrécit pas.
17
+
18
+ **Mise à jour du 4 novembre 2026 :** **`react-native-skia@3.9.1`** et **`react-native-webgpu@0.21.0`**, sur Dawn/Graphite **157.1.0** ; les deux paquets montent ensemble.
19
+ - **Patch :** `RNDawnContext.h` et `JsiSkApi.h` changent en amont, mais les 8 éditions s'appliquent telles quelles ; seuls les empreintes et les décalages changent.
20
+ - **Readbacks asynchrones (3.9.0, [#4368](https://github.com/wcandillon/react-native-skia/pull/4368)) :** `canvas.readPixels` renvoie une promesse et ne prend plus de tableau de destination. Le readback CPU de secours de l'export attend donc la lecture avant d'encoder.
21
+ - **Aperçu et 3.9.1 :** la 3.9.1 présente une recording par vsync ([#4386](https://github.com/wcandillon/react-native-skia/pull/4386)).
22
+ - Notre aperçu attendait le GPU sur le thread UI à chaque image et à chaque import (`flush(true)`). Ces attentes portent sur tout le contexte partagé, présentation des vues comprise.
23
+ - Résultat, sans correctif : le 4K60 natif sur iPhone tombait de 60 à ~40 i/s. La 3.9.0 n'est pas touchée (bisection).
24
+ - Corrigé de notre côté : dessin et import soumis sans attente, tampons du décodeur rendus quand le GPU a fini (promesse WebGPU), le tout borné par le budget mémoire.
25
+ - À une prochaine montée, mesurer de nouveau `preview-4k-hevc-60-noread` sur iPhone : c'est le cas qui révèle ces couplages.
26
+ - Détails : [vérification](../migration/skia-3.9.1/verification.md).
27
+
28
+ **Mise à jour du 1er novembre 2026 :** **`react-native-skia@3.8.1`** et **`react-native-webgpu@0.19.2`**, toujours sur Dawn/Graphite 157.0.0. Les trois fichiers patchés sont identiques octet pour octet à ceux de la 3.7.4 : le patch s'applique tel quel, seuls sa version et son nom changent. La 3.8.0 renomme les factories sans alias ([#4323](https://github.com/wcandillon/react-native-skia/pull/4323)) : nous appelons désormais `Skia.Image.MakeFromGPUTexture` (ex-`MakeImageFromGPUTexture`) et `Skia.Image.MakeRaster` (ex-`MakeRasterImage`). Elle retire aussi `SkiaPictureView` ([#4327](https://github.com/wcandillon/react-native-skia/pull/4327)), que la bibliothèque n'utilise pas. Le seul changement natif sur nos chemins vient de la 3.8.1 et de WebGPU 0.19.2 ([#4341](https://github.com/wcandillon/react-native-skia/pull/4341), [WebGPU #595](https://github.com/wcandillon/react-native-webgpu/pull/595)) : sur Android, Dawn garde un seul `VkPipelineCache` par device au lieu d'en créer et détruire un par pipeline compilé. Cela corrige un crash du pilote PowerVR (MediaTek) pendant la compilation des pipelines Graphite. Notre PR [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) est toujours ouverte, et [#4274](https://github.com/wcandillon/react-native-skia/pull/4274) a été fermée (le correctif est entré par #4277) : le patch ne rétrécit pas. Voir la [vérification](../migration/skia-3.8.1/verification.md).
29
+
3
30
  **Mise à jour du 23 octobre 2026 :** **`react-native-skia@3.7.4`** et **`react-native-webgpu@0.19.0`**, toujours sur Dawn/Graphite 157.0.0. Le patch local passe de 7 fichiers et 62 éditions à 3 fichiers et 8 éditions. `canvas.dispose()` disparaît : en amont, la surface possède son canvas ([#4278](https://github.com/wcandillon/react-native-skia/pull/4278)) et `surface.dispose()` le détache. Le correctif d'`ImageProvider::Make()` est entré en amont par [#4277](https://github.com/wcandillon/react-native-skia/pull/4277). Restent les soumissions vérifiées, réécrites sur le nouveau `DawnContext::submitRecording(recorder, …)`, et `__rnskvTrimRecorderCache`, réduit à un appel de `trimThreadRecorders`. L'export Android rend désormais directement dans la `Surface` d'entrée du codec par `MakeWebGPUCanvasContextFromNativeWindow` ([WebGPU #588](https://github.com/wcandillon/react-native-webgpu/pull/588)), sans EGL. Voir l'[audit](../migration/skia-3.7.4/upstream-audit.md) et la [vérification](../migration/skia-3.7.4/verification.md).
4
31
 
5
32
  **Mise à jour du 20 octobre 2026 :** **`react-native-skia@3.7.1`**, toujours avec `react-native-webgpu@0.17.0` et Dawn/Graphite 157.0.0. La 3.7.1 ne contient qu'une correction iOS ([#4273](https://github.com/wcandillon/react-native-skia/pull/4273)) : `SkiaView.mm` présente désormais à la pleine fréquence de l'écran sur les appareils ProMotion. Les sept fichiers modifiés par le patch local sont identiques octet pour octet à ceux de la 3.7.0 : le patch s'applique tel quel, seuls sa version et son nom changent. Nos PR amont [#4274](https://github.com/wcandillon/react-native-skia/pull/4274), [#4275](https://github.com/wcandillon/react-native-skia/pull/4275) et [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) sont encore ouvertes : le patch ne rétrécit pas. Vérifié le 20 octobre sur appareils, en Release : iPhone 15 Pro, tests natifs 50/50 et profil smoke 15/15 (l'app déclare Skia 3.7.1, écran à 120 Hz) ; Pixel 8a, contrôle `interop` 10/10 (erreur maximale par canal de 1, comme en 3.7.0, chemins GPU et readback d'accord à l'export) et smoke 15/15. Les mesures d'export de la 3.7.0 restent la référence : le code d'export ne change pas.
@@ -117,7 +144,7 @@ La [source Skia de ce build](https://chromium.googlesource.com/skia/+/2466dcf393
117
144
 
118
145
  Fichiers inspectables :
119
146
 
120
- - [`patches/react-native-skia+3.7.4.patch`](../patches/react-native-skia+3.7.4.patch) : diff du correctif courant ; ceux des versions précédentes sont conservés comme historique.
147
+ - [`patches/react-native-skia+3.10.0.patch`](../patches/react-native-skia+3.10.0.patch) : diff du correctif courant ; ceux des versions précédentes sont conservés comme historique.
121
148
  - [`scripts/skia-canvas-patch.json`](../scripts/skia-canvas-patch.json) : version, empreintes avant/après et substitutions attendues.
122
149
  - [`scripts/apply-skia-canvas-patch.mjs`](../scripts/apply-skia-canvas-patch.mjs) : vérifie tout avant toute écriture, accepte un patch déjà appliqué, refuse un paquet différent.
123
150
 
@@ -32,7 +32,9 @@ static inline NSDictionary* SDRColorProperties() {
32
32
  /**
33
33
  * Whether a track needs AVFoundation's conversion to Rec.709 even when its
34
34
  * frames are decoded to NV12: an HDR transfer function (HLG, PQ) or BT.2020
35
- * primaries, which only a tone mapping brings to SDR.
35
+ * primaries, which only a tone mapping brings to SDR, and the Display P3 or
36
+ * DCI-P3 primaries or sRGB transfer function of a file recorded or exported
37
+ * for a wide-gamut screen, which BGRA output converts too.
36
38
  *
37
39
  * An SDR track decoded to NV12 is left as it is: its buffers carry their own
38
40
  * YCbCr matrix, which the GPU applies when it converts them. Asked for Rec.709
@@ -52,9 +54,12 @@ static inline bool TrackNeedsSDRConversion(AVAssetTrack* track) {
52
54
  CFTypeRef primaries = CMFormatDescriptionGetExtension(
53
55
  format, kCMFormatDescriptionExtension_ColorPrimaries);
54
56
  if (transfer && (CFEqual(transfer, kCVImageBufferTransferFunction_ITU_R_2100_HLG) ||
55
- CFEqual(transfer, kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ)))
57
+ CFEqual(transfer, kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ) ||
58
+ CFEqual(transfer, kCVImageBufferTransferFunction_sRGB)))
56
59
  return true;
57
- if (primaries && CFEqual(primaries, kCVImageBufferColorPrimaries_ITU_R_2020))
60
+ if (primaries && (CFEqual(primaries, kCVImageBufferColorPrimaries_ITU_R_2020) ||
61
+ CFEqual(primaries, kCVImageBufferColorPrimaries_P3_D65) ||
62
+ CFEqual(primaries, kCVImageBufferColorPrimaries_DCI_P3)))
58
63
  return true;
59
64
  }
60
65
  return false;
@@ -139,7 +139,7 @@ const importYuvExportFrame = (imports, frame) => {
139
139
  // Can throw after submitting: drain below before giving the lease back.
140
140
  submitted = true;
141
141
  if (nv12) blitNv12Frame(device, entry.nativeFrame, target.texture);else blitYuvFrame(device, imports.yuv, producer, entry.nativeFrame, rotation, region, target.texture);
142
- entry.image = Skia.Image.MakeImageFromGPUTexture(target.texture);
142
+ entry.image = Skia.Image.MakeFromGPUTexture(target.texture);
143
143
  if (!entry.image) throw new Error("Cannot wrap the decoded frame");
144
144
  return entry;
145
145
  } catch (error) {
@@ -197,7 +197,7 @@ export const importExportFrame = (frame, imports) => {
197
197
  entry.texture = entry.memory.createTexture();
198
198
  entry.memory.beginAccess(entry.texture, true);
199
199
  entry.accessing = true;
200
- entry.image = Skia.Image.MakeImageFromGPUTexture(entry.texture);
200
+ entry.image = Skia.Image.MakeFromGPUTexture(entry.texture);
201
201
  if (!entry.image) throw new Error("Cannot wrap the decoded frame");
202
202
  return entry;
203
203
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","BlendMode","Skia","createNativeVideoGpuFrame","getVideoGpuDevice","nativeVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","blitYuvFrame","releaseYuvImports","yuvFrameRegion","convertsYuv","OS","createExportFrameImports","entries","Map","producers","Set","enabled","imported","textures","yuv","canImportInPlace","frame","texture","kind","id","undefined","region","releaseExportFrame","entry","image","dispose","accessing","memory","ended","endAccess","state","fences","fence","destroy","nativeFrame","release","releaseProducerTexture","imports","producer","target","get","reservation","delete","importYuvExportFrame","producerId","source","submitted","nativeBuffer","rotation","nv12","format","width","height","Error","device","createTexture","size","usage","label","error","set","Image","MakeImageFromGPUTexture","drain","Surface","MakeFromGPUTexture","getCanvas","drawColor","Color","Clear","flush","importExportFrame","pixelFormat","importSharedTextureMemory","handle","beginAccess","releaseExportFrames","keys","ownExportFrames","decoded","fallback","owned","held","current","key","Object","seen","next","console","warn","String","add","aliases","WeakSet","has","crop","values","rest","copying"],"sourceRoot":"../../src","sources":["exportFrames.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,SAAS,EAAEC,IAAI,QAAQ,mBAAmB;AAOnD,SACEC,yBAAyB,EACzBC,iBAAiB,EACjBC,uBAAuB,QAClB,gBAAa;AACpB,SACEC,aAAa,EACbC,kBAAkB,EAClBC,kBAAkB,QACb,aAAU;AAEjB,SACEC,aAAa,EACbC,YAAY,EACZC,iBAAiB,EACjBC,cAAc,QACT,cAAW;;AAGlB;AACA;AACA;AACA;;AAaA;;AAGA;AACA;;AA4BA;AACA;AACA,MAAMC,WAAW,GAAGb,QAAQ,CAACc,EAAE,KAAK,SAAS;AAE7C,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAA0B;EAChE,SAAS;;EACT,OAAO;IACLC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBC,SAAS,EAAE,IAAIC,GAAG,CAAC,CAAC;IACpBC,OAAO,EAAE,IAAI;IACbC,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE,IAAIL,GAAG,CAAC,CAAC;IACnBM,GAAG,EAAE,IAAIN,GAAG,CAAC;EACf,CAAC;AACH,CAAC;;AAED;AACA,OAAO,MAAMO,gBAAgB,GAAIC,KAAiB,IAAc;EAC9D,SAAS;;EACT,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAiD;EACvE,OACEA,OAAO,EAAEC,IAAI,KAAK,eAAe,IACjCF,KAAK,CAACG,EAAE,KAAKC,SAAS,KACrB,CAAChB,WAAW,IAAIa,OAAO,CAACI,MAAM,KAAKD,SAAS,CAAC;AAElD,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAME,kBAAkB,GAAIC,KAAwB,IAAW;EACpE,SAAS;;EACTA,KAAK,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC;EACtBF,KAAK,CAACC,KAAK,GAAG,IAAI;EAClB,IAAID,KAAK,CAACG,SAAS,IAAIH,KAAK,CAACI,MAAM,IAAIJ,KAAK,CAACN,OAAO,EAAE;IACpD,MAAMW,KAAK,GAAGL,KAAK,CAACI,MAAM,CAACE,SAAS,CAACN,KAAK,CAACN,OAAO,CAAC;IACnDM,KAAK,CAACG,SAAS,GAAG,KAAK;IACvB,KAAK,MAAMI,KAAK,IAAIF,KAAK,EAAEG,MAAM,IAAI,EAAE,EAAED,KAAK,CAACE,KAAK,CAACC,OAAO,CAAC,CAAC;EAChE;EACAV,KAAK,CAACG,SAAS,GAAG,KAAK;EACvBH,KAAK,CAACN,OAAO,EAAEgB,OAAO,CAAC,CAAC;EACxBV,KAAK,CAACN,OAAO,GAAG,IAAI;EACpBM,KAAK,CAACI,MAAM,EAAEM,OAAO,CAAC,CAAC;EACvBV,KAAK,CAACI,MAAM,GAAG,IAAI;EACnBJ,KAAK,CAACW,WAAW,EAAEC,OAAO,CAAC,CAAC;EAC5BZ,KAAK,CAACW,WAAW,GAAG,IAAI;EACxBX,KAAK,CAACP,KAAK,CAACS,OAAO,GAAG,CAAC;AACzB,CAAC;;AAED;AACA;AACA,MAAMW,sBAAsB,GAAGA,CAC7BC,OAA2B,EAC3BC,QAAgB,KACP;EACT,SAAS;;EACTpC,iBAAiB,CAACmC,OAAO,CAACvB,GAAG,EAAEwB,QAAQ,CAAC;EACxC,MAAMC,MAAM,GAAGF,OAAO,CAACxB,QAAQ,CAAC2B,GAAG,CAACF,QAAQ,CAAC;EAC7C,IAAIC,MAAM,EAAE;IACVA,MAAM,CAACtB,OAAO,CAACgB,OAAO,CAAC,CAAC;IACxBnC,kBAAkB,CAACyC,MAAM,CAACE,WAAW,CAAC;IACtCJ,OAAO,CAACxB,QAAQ,CAAC6B,MAAM,CAACJ,QAAQ,CAAC;EACnC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMK,oBAAoB,GAAGA,CAC3BN,OAA2B,EAC3BrB,KAAiB,KACK;EACtB,SAAS;;EACT,MAAMO,KAAwB,GAAG;IAC/BJ,EAAE,EAAEH,KAAK,CAACG,EAAG;IACbH,KAAK;IACLkB,WAAW,EAAE,IAAI;IACjBP,MAAM,EAAE,IAAI;IACZV,OAAO,EAAE,IAAI;IACbS,SAAS,EAAE,KAAK;IAChBF,KAAK,EAAE;EACT,CAAC;EACD,MAAMc,QAAQ,GAAGtB,KAAK,CAAC4B,UAAU,IAAI5B,KAAK,CAACG,EAAG;EAC9C,MAAM0B,MAAM,GAAG7B,KAAK,CAACC,OAA8B;EACnD,IAAI6B,SAAS,GAAG,KAAK;EACrB,IAAIP,MAAmC;EACvC,IAAI;IACFhB,KAAK,CAACW,WAAW,GAAGxC,yBAAyB,CAACmD,MAAM,CAACE,YAAY,CAAC;IAClE,MAAMC,QAAQ,GAAGH,MAAM,CAACG,QAAQ,IAAI,CAAC;IACrC;IACA,MAAMC,IAAI,GAAGJ,MAAM,CAACK,MAAM,KAAK,MAAM;IACrC,IACED,IAAI,KACH1B,KAAK,CAACW,WAAW,CAACiB,KAAK,KAAKnC,KAAK,CAACmC,KAAK,IACtC5B,KAAK,CAACW,WAAW,CAACkB,MAAM,KAAKpC,KAAK,CAACoC,MAAM,CAAC,EAE5C,MAAM,IAAIC,KAAK,CAAC,yCAAyC,CAAC;IAC5D,MAAMhC,MAAM,GAAG4B,IAAI,GACf,IAAI,GACJ9C,cAAc,CAAC0C,MAAM,CAACxB,MAAM,EAAG2B,QAAQ,EAAEzB,KAAK,CAACW,WAAW,CAAC;IAC/D,MAAMoB,MAAM,GAAG3D,iBAAiB,CAAC,CAAC;IAClC4C,MAAM,GAAGF,OAAO,CAACxB,QAAQ,CAAC2B,GAAG,CAACF,QAAQ,CAAC;IACvC,IACEC,MAAM,KACLA,MAAM,CAACtB,OAAO,CAACkC,KAAK,KAAKnC,KAAK,CAACmC,KAAK,IACnCZ,MAAM,CAACtB,OAAO,CAACmC,MAAM,KAAKpC,KAAK,CAACoC,MAAM,CAAC,EACzC;MACA;MACA;MACAhB,sBAAsB,CAACC,OAAO,EAAEC,QAAQ,CAAC;MACzCC,MAAM,GAAGnB,SAAS;IACpB;IACA,IAAI,CAACmB,MAAM,EAAE;MACX,MAAME,WAAW,GAAG1C,kBAAkB,CACpCF,aAAa,CAACmB,KAAK,CAACmC,KAAK,EAAEnC,KAAK,CAACoC,MAAM,CAAC,EACxC,sBACF,CAAC;MACD,IAAI;QACFb,MAAM,GAAG;UACPtB,OAAO,EAAEqC,MAAM,CAACC,aAAa,CAAC;YAC5BC,IAAI,EAAE;cAAEL,KAAK,EAAEnC,KAAK,CAACmC,KAAK;cAAEC,MAAM,EAAEpC,KAAK,CAACoC;YAAO,CAAC;YAClDF,MAAM,EAAE,YAAY;YACpBO,KAAK,EAAE7D,uBAAuB;YAC9B8D,KAAK,EAAE;UACT,CAAC,CAAC;UACFjB;QACF,CAAC;MACH,CAAC,CAAC,OAAOkB,KAAK,EAAE;QACd7D,kBAAkB,CAAC2C,WAAW,CAAC;QAC/B,MAAMkB,KAAK;MACb;MACAtB,OAAO,CAACxB,QAAQ,CAAC+C,GAAG,CAACtB,QAAQ,EAAEC,MAAM,CAAC;IACxC;IACA;IACAO,SAAS,GAAG,IAAI;IAChB,IAAIG,IAAI,EAAEjD,aAAa,CAACsD,MAAM,EAAE/B,KAAK,CAACW,WAAW,EAAEK,MAAM,CAACtB,OAAO,CAAC,CAAC,KAEjEhB,YAAY,CACVqD,MAAM,EACNjB,OAAO,CAACvB,GAAG,EACXwB,QAAQ,EACRf,KAAK,CAACW,WAAW,EACjBc,QAAQ,EACR3B,MAAM,EACNkB,MAAM,CAACtB,OACT,CAAC;IACHM,KAAK,CAACC,KAAK,GAAG/B,IAAI,CAACoE,KAAK,CAACC,uBAAuB,CAACvB,MAAM,CAACtB,OAAO,CAAC;IAChE,IAAI,CAACM,KAAK,CAACC,KAAK,EAAE,MAAM,IAAI6B,KAAK,CAAC,+BAA+B,CAAC;IAClE,OAAO9B,KAAK;EACd,CAAC,CAAC,OAAOoC,KAAK,EAAE;IACd;IACA;IACA,IAAI;MACFpC,KAAK,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC;MACtB,IAAIqB,SAAS,IAAIP,MAAM,EAAE;QACvB,MAAMwB,KAAK,GAAGtE,IAAI,CAACuE,OAAO,CAACC,kBAAkB,CAAC1B,MAAM,CAACtB,OAAO,CAAC;QAC7D8C,KAAK,EAAEG,SAAS,CAAC,CAAC,CAACC,SAAS,CAAC1E,IAAI,CAAC2E,KAAK,CAAC,WAAW,CAAC,EAAE5E,SAAS,CAAC6E,KAAK,CAAC;QACtEN,KAAK,EAAEO,KAAK,CAAC,IAAI,CAAC;QAClBP,KAAK,EAAEtC,OAAO,CAAC,CAAC;MAClB;MACAF,KAAK,CAACW,WAAW,EAAEC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;IAEF,MAAMwB,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMY,iBAAiB,GAAGA,CAC/BvD,KAAiB,EACjBqB,OAA4B,KACN;EACtB,SAAS;;EACT,IACEjC,WAAW,IACVY,KAAK,CAACC,OAAO,CAAyBiC,MAAM,KAAK,MAAM,EACxD;IACA,IAAI,CAACb,OAAO,EAAE,MAAM,IAAIgB,KAAK,CAAC,wCAAwC,CAAC;IACvE,OAAOV,oBAAoB,CAACN,OAAO,EAAErB,KAAK,CAAC;EAC7C;EACA,MAAMO,KAAwB,GAAG;IAC/BJ,EAAE,EAAEH,KAAK,CAACG,EAAG;IACbH,KAAK;IACLkB,WAAW,EAAE,IAAI;IACjBP,MAAM,EAAE,IAAI;IACZV,OAAO,EAAE,IAAI;IACbS,SAAS,EAAE,KAAK;IAChBF,KAAK,EAAE;EACT,CAAC;EACD,IAAI;IACF,MAAMP,OAAO,GAAGD,KAAK,CAACC,OAA8B;IACpDM,KAAK,CAACW,WAAW,GAAGxC,yBAAyB,CAACuB,OAAO,CAAC8B,YAAY,CAAC;IACnE,IACExB,KAAK,CAACW,WAAW,CAACiB,KAAK,KAAKnC,KAAK,CAACmC,KAAK,IACvC5B,KAAK,CAACW,WAAW,CAACkB,MAAM,KAAKpC,KAAK,CAACoC,MAAM,IACzC7B,KAAK,CAACW,WAAW,CAACsC,WAAW,KAAK,OAAO,EACzC;MACA,MAAM,IAAInB,KAAK,CAAC,wDAAwD,CAAC;IAC3E;IACA,MAAMC,MAAM,GAAG3D,iBAAiB,CAAC,CAAuB;IACxD,IAAI,OAAO2D,MAAM,CAACmB,yBAAyB,KAAK,UAAU,EAAE;MAC1D,MAAM,IAAIpB,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA9B,KAAK,CAACI,MAAM,GAAG2B,MAAM,CAACmB,yBAAyB,CAAC;MAC9CC,MAAM,EAAEnD,KAAK,CAACW,WAAW,CAACwC,MAAM;MAChChB,KAAK,EAAE;IACT,CAAC,CAAC;IACFnC,KAAK,CAACN,OAAO,GAAGM,KAAK,CAACI,MAAM,CAAC4B,aAAa,CAAC,CAAC;IAC5ChC,KAAK,CAACI,MAAM,CAACgD,WAAW,CAACpD,KAAK,CAACN,OAAO,EAAE,IAAI,CAAC;IAC7CM,KAAK,CAACG,SAAS,GAAG,IAAI;IACtBH,KAAK,CAACC,KAAK,GAAG/B,IAAI,CAACoE,KAAK,CAACC,uBAAuB,CAACvC,KAAK,CAACN,OAAO,CAAC;IAC/D,IAAI,CAACM,KAAK,CAACC,KAAK,EAAE,MAAM,IAAI6B,KAAK,CAAC,+BAA+B,CAAC;IAClE,OAAO9B,KAAK;EACd,CAAC,CAAC,OAAOoC,KAAK,EAAE;IACd;IACA;IACA,IAAI;MACFpC,KAAK,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC;MACtBF,KAAK,CAACC,KAAK,GAAG,IAAI;MAClB,IAAID,KAAK,CAACG,SAAS,IAAIH,KAAK,CAACI,MAAM,IAAIJ,KAAK,CAACN,OAAO,EAAE;QACpD,MAAMW,KAAK,GAAGL,KAAK,CAACI,MAAM,CAACE,SAAS,CAACN,KAAK,CAACN,OAAO,CAAC;QACnD,KAAK,MAAMa,KAAK,IAAIF,KAAK,EAAEG,MAAM,IAAI,EAAE,EAAED,KAAK,CAACE,KAAK,CAACC,OAAO,CAAC,CAAC;MAChE;MACAV,KAAK,CAACG,SAAS,GAAG,KAAK;MACvBH,KAAK,CAACN,OAAO,EAAEgB,OAAO,CAAC,CAAC;MACxBV,KAAK,CAACI,MAAM,EAAEM,OAAO,CAAC,CAAC;MACvBV,KAAK,CAACW,WAAW,EAAEC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM;MACN;IAAA;IAEF,MAAMwB,KAAK;EACb;AACF,CAAC;;AAED;AACA,OAAO,MAAMiB,mBAAmB,GAAIvC,OAA2B,IAAW;EACxE,SAAS;;EACT,KAAK,MAAM,CAACC,QAAQ,EAAEf,KAAK,CAAC,IAAIc,OAAO,CAAC9B,OAAO,EAAE;IAC/Ce,kBAAkB,CAACC,KAAK,CAAC;IACzBc,OAAO,CAAC9B,OAAO,CAACmC,MAAM,CAACJ,QAAQ,CAAC;EAClC;EACA,KAAK,MAAMA,QAAQ,IAAI,CAAC,GAAGD,OAAO,CAACxB,QAAQ,CAACgE,IAAI,CAAC,CAAC,EAAE,GAAGxC,OAAO,CAACvB,GAAG,CAAC+D,IAAI,CAAC,CAAC,CAAC,EACxEzC,sBAAsB,CAACC,OAAO,EAAEC,QAAQ,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwC,eAAe,GAAGA,CAC7BzC,OAA2B,EAC3B0C,OAAmC,EACnCC,QAA4E,KAC7C;EAC/B,SAAS;;EACT,MAAMC,KAAiC,GAAG,CAAC,CAAC;EAC5C,MAAMC,IAAI,GAAG,IAAIxE,GAAG,CAAa,CAAC;EAClC,MAAMyE,OAAO,GAAG,IAAI3E,GAAG,CAAiB,CAAC;EACzC,IAAI;IACF,KAAK,MAAM,CAAC4E,GAAG,EAAEpE,KAAK,CAAC,IAAIqE,MAAM,CAAC9E,OAAO,CAACwE,OAAO,CAAC,EAAE;MAClD,IAAI,CAAC1C,OAAO,CAAC1B,OAAO,IAAI,CAACI,gBAAgB,CAACC,KAAK,CAAC,EAAE;MAClD,MAAMsB,QAAQ,GAAGtB,KAAK,CAAC4B,UAAU,IAAI5B,KAAK,CAACG,EAAG;MAC9C,MAAMmE,IAAI,GAAGH,OAAO,CAAC3C,GAAG,CAACF,QAAQ,CAAC;MAClC,IAAIgD,IAAI,KAAKlE,SAAS,IAAIkE,IAAI,KAAKtE,KAAK,CAACG,EAAE,EAAE;QAC3C,MAAM,IAAIkC,KAAK,CACb,oGACF,CAAC;MACH;MACA,IAAI9B,KAAK,GAAGc,OAAO,CAAC9B,OAAO,CAACiC,GAAG,CAACF,QAAQ,CAAC;MACzC;MACA;MACA,IAAIf,KAAK,EAAEJ,EAAE,KAAKH,KAAK,CAACG,EAAE,EAAE;QAC1B,IAAIoE,IAAuB;QAC3B,IAAI;UACFA,IAAI,GAAGhB,iBAAiB,CAACvD,KAAK,EAAEqB,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAOsB,KAAK,EAAE;UACd,IAAItB,OAAO,CAACzB,QAAQ,EAAE,MAAM+C,KAAK;UACjCtB,OAAO,CAAC1B,OAAO,GAAG,KAAK;UACvB6E,OAAO,CAACC,IAAI,CACV,6FAA6F,EAC7FC,MAAM,CAAC/B,KAAK,CACd,CAAC;UACD;QACF;QACAtB,OAAO,CAACzB,QAAQ,GAAG,IAAI;QACvB,IAAIW,KAAK,EAAE;UACT,IAAI;YACFD,kBAAkB,CAACC,KAAK,CAAC;UAC3B,CAAC,CAAC,OAAOoC,KAAK,EAAE;YACd;YACA,IAAI;cACFrC,kBAAkB,CAACiE,IAAI,CAAC;YAC1B,CAAC,CAAC,MAAM;cACN;YAAA;YAEF,MAAM5B,KAAK;UACb;QACF;QACAtB,OAAO,CAAC9B,OAAO,CAACqD,GAAG,CAACtB,QAAQ,EAAEiD,IAAI,CAAC;QACnClD,OAAO,CAAC5B,SAAS,CAACkF,GAAG,CAACrD,QAAQ,CAAC;QAC/Bf,KAAK,GAAGgE,IAAI;MACd,CAAC,MAAM,IAAInF,WAAW,IAAImB,KAAK,IAAIA,KAAK,CAACP,KAAK,KAAKA,KAAK,EAAE;QACxD;QACA;QACAO,KAAK,CAACqE,OAAO,KAAK,IAAIC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAACtE,KAAK,CAACqE,OAAO,CAACE,GAAG,CAAC9E,KAAK,CAAC,EAAE;UAC7BO,KAAK,CAACqE,OAAO,CAACD,GAAG,CAAC3E,KAAK,CAAC;UACxBA,KAAK,CAACS,OAAO,GAAG,CAAC;QACnB;MACF;MACAyD,IAAI,CAACS,GAAG,CAAC3E,KAAK,CAAC;MACfmE,OAAO,CAACvB,GAAG,CAACtB,QAAQ,EAAEtB,KAAK,CAACG,EAAG,CAAC;MAChC8D,KAAK,CAACG,GAAG,CAAC,GAAG;QACXjC,KAAK,EAAEnC,KAAK,CAACmC,KAAK;QAClBC,MAAM,EAAEpC,KAAK,CAACoC,MAAM;QACpBJ,QAAQ,EAAEhC,KAAK,CAACgC,QAAQ;QACxB+C,IAAI,EAAE/E,KAAK,CAAC+E,IAAI;QAChB5E,EAAE,EAAEH,KAAK,CAACG,EAAE;QACZyB,UAAU,EAAEN,QAAQ;QACpBrB,OAAO,EAAE;UAAEC,IAAI,EAAE,YAAY;UAAEM,KAAK,EAAED,KAAK,CAAEC;QAAO;MACtD,CAAC;IACH;IACA;IACA,KAAK,MAAM,CAACc,QAAQ,EAAEf,KAAK,CAAC,IAAIc,OAAO,CAAC9B,OAAO,EAAE;MAC/C,IAAI4E,OAAO,CAACW,GAAG,CAACxD,QAAQ,CAAC,EAAE;MAC3BhB,kBAAkB,CAACC,KAAK,CAAC;MACzBc,OAAO,CAAC9B,OAAO,CAACmC,MAAM,CAACJ,QAAQ,CAAC;MAChCF,sBAAsB,CAACC,OAAO,EAAEC,QAAQ,CAAC;IAC3C;EACF,CAAC,CAAC,OAAOqB,KAAK,EAAE;IACd;IACA,KAAK,MAAM3C,KAAK,IAAIqE,MAAM,CAACW,MAAM,CAACjB,OAAO,CAAC,EAAE;MAC1C,IAAIG,IAAI,CAACY,GAAG,CAAC9E,KAAK,CAAC,EAAE;MACrB,MAAMsB,QAAQ,GAAGtB,KAAK,CAAC4B,UAAU,IAAI5B,KAAK,CAACG,EAAE;MAC7C,MAAMI,KAAK,GACTe,QAAQ,KAAKlB,SAAS,GAAGA,SAAS,GAAGiB,OAAO,CAAC9B,OAAO,CAACiC,GAAG,CAACF,QAAQ,CAAC;MACpE,IAAIf,KAAK,IAAIA,KAAK,CAACJ,EAAE,KAAKH,KAAK,CAACG,EAAE,EAAE;MACpC,IAAI;QACFH,KAAK,CAACS,OAAO,GAAG,CAAC;MACnB,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IACA,MAAMkC,KAAK;EACb;EACA;EACA,MAAMsC,IAAgC,GAAG,CAAC,CAAC;EAC3C,IAAIC,OAAO,GAAG,KAAK;EACnB,KAAK,MAAM,CAACd,GAAG,EAAEpE,KAAK,CAAC,IAAIqE,MAAM,CAAC9E,OAAO,CAACwE,OAAO,CAAC,EAAE;IAClD,IAAIG,IAAI,CAACY,GAAG,CAAC9E,KAAK,CAAC,EAAE;IACrBiF,IAAI,CAACb,GAAG,CAAC,GAAGpE,KAAK;IACjBkF,OAAO,GAAG,IAAI;EAChB;EACA,OAAOA,OAAO,GAAG;IAAE,GAAGjB,KAAK;IAAE,GAAGD,QAAQ,CAACiB,IAAI;EAAE,CAAC,GAAGhB,KAAK;AAC1D,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","BlendMode","Skia","createNativeVideoGpuFrame","getVideoGpuDevice","nativeVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","blitYuvFrame","releaseYuvImports","yuvFrameRegion","convertsYuv","OS","createExportFrameImports","entries","Map","producers","Set","enabled","imported","textures","yuv","canImportInPlace","frame","texture","kind","id","undefined","region","releaseExportFrame","entry","image","dispose","accessing","memory","ended","endAccess","state","fences","fence","destroy","nativeFrame","release","releaseProducerTexture","imports","producer","target","get","reservation","delete","importYuvExportFrame","producerId","source","submitted","nativeBuffer","rotation","nv12","format","width","height","Error","device","createTexture","size","usage","label","error","set","Image","MakeFromGPUTexture","drain","Surface","getCanvas","drawColor","Color","Clear","flush","importExportFrame","pixelFormat","importSharedTextureMemory","handle","beginAccess","releaseExportFrames","keys","ownExportFrames","decoded","fallback","owned","held","current","key","Object","seen","next","console","warn","String","add","aliases","WeakSet","has","crop","values","rest","copying"],"sourceRoot":"../../src","sources":["exportFrames.ts"],"mappings":"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","ignoreList":[]}
@@ -19,10 +19,6 @@ import { createExportFrameImports, ownExportFrames, releaseExportFrames } from "
19
19
  /** Cumulative wall-clock milliseconds per export stage, measured on the
20
20
  * export runtime. Stages are sequential, so they add up to `totalMs`. */
21
21
 
22
- // Native Skia 3.4.4 accepts destination/stride in readPixels; its
23
- // published Canvas type currently omits these arguments. Use only a private,
24
- // full-length, zero-offset Uint8Array (the native implementation ignores offsets).
25
-
26
22
  let exportRuntime = null;
27
23
  const getExportRuntime = () => {
28
24
  if (!exportRuntime) exportRuntime = createWorkletRuntime({
@@ -237,7 +233,6 @@ const executeExport = args => new Promise((resolve, reject) => {
237
233
  }
238
234
  if (cleanup.safeToRelease) {
239
235
  state.frames = {};
240
- state.readback = null;
241
236
  delete storage.__rnskwgpuExport;
242
237
  } else {
243
238
  // One retained session at most; subsequent exports fail before
@@ -289,6 +284,10 @@ const executeExport = args => new Promise((resolve, reject) => {
289
284
  await finish(null, true);
290
285
  return false;
291
286
  }
287
+ // CPU readback path only: the frame's pixels, still on their way.
288
+ const readback = {
289
+ pixels: null
290
+ };
292
291
  const draw = () => {
293
292
  "worklet";
294
293
 
@@ -333,25 +332,14 @@ const executeExport = args => new Promise((resolve, reject) => {
333
332
  nativeBuffer: target.pointer
334
333
  }, time);
335
334
  } else {
336
- const readbackCanvas = canvas;
337
- const pixels = readbackCanvas.readPixels(0, 0, {
335
+ // Skia 3.9 reads back asynchronously, into a new array: the
336
+ // frame is encoded once it lands, after this scope.
337
+ readback.pixels = canvas.readPixels(0, 0, {
338
338
  width: options.width,
339
339
  height: options.height,
340
340
  colorType: bgra ? ColorType.BGRA_8888 : ColorType.RGBA_8888,
341
341
  alphaType: AlphaType.Premul
342
- }, state.readback, options.width * 4);
343
- if (!(pixels instanceof Uint8Array) || pixels.byteLength !== bytes || pixels.byteOffset !== 0 || pixels.buffer !== state.readback.buffer) {
344
- throw new Error("Video export pixel readback failed");
345
- }
346
- // Fallback: consumed synchronously by the bounded native pool.
347
- const storage = pixels.byteOffset === 0 && pixels.buffer.byteLength === pixels.byteLength ? pixels.buffer : pixels.buffer.slice(pixels.byteOffset, pixels.byteOffset + pixels.byteLength);
348
- state.encoder.encodeFrame({
349
- kind: bgra ? "bgra" : "rgba",
350
- data: storage,
351
- width: options.width,
352
- height: options.height,
353
- bytesPerRow: options.width * 4
354
- }, time);
342
+ });
355
343
  }
356
344
  lap("encodeMs");
357
345
  } catch (error) {
@@ -389,6 +377,22 @@ const executeExport = args => new Promise((resolve, reject) => {
389
377
  if (drawn.failed) throw drawn.failure;
390
378
  };
391
379
  runWithVideoAutoreleasePool(draw);
380
+ if (readback.pixels) {
381
+ const pixels = await readback.pixels;
382
+ lap("gpuMs");
383
+ // isView, not instanceof: true of a typed array of any realm.
384
+ if (!ArrayBuffer.isView(pixels) || pixels.byteLength !== bytes) throw new Error("Video export pixel readback failed");
385
+ // Fallback: consumed synchronously by the bounded native pool.
386
+ const storage = pixels.byteOffset === 0 && pixels.buffer.byteLength === pixels.byteLength ? pixels.buffer : pixels.buffer.slice(pixels.byteOffset, pixels.byteOffset + pixels.byteLength);
387
+ runWithVideoAutoreleasePool(() => state.encoder.encodeFrame({
388
+ kind: bgra ? "bgra" : "rgba",
389
+ data: storage,
390
+ width: options.width,
391
+ height: options.height,
392
+ bytesPerRow: options.width * 4
393
+ }, time));
394
+ lap("encodeMs");
395
+ }
392
396
  state.index++;
393
397
  if (onProgress) scheduleOnRN(onProgress, {
394
398
  framesCompleted: state.index,
@@ -442,7 +446,6 @@ const executeExport = args => new Promise((resolve, reject) => {
442
446
  extractor: null,
443
447
  surface: null,
444
448
  canvas: null,
445
- readback: null,
446
449
  gpu: false,
447
450
  target: null,
448
451
  window: null,
@@ -468,8 +471,7 @@ const executeExport = args => new Promise((resolve, reject) => {
468
471
  // Render target + transient full-frame CPU readback. Native decoder
469
472
  // and encoder reservations are additional entries in the same budget.
470
473
  state.reservations.push(reserveVideoMemory(bytes, "export render target"));
471
- state.reservations.push(reserveVideoMemory(bytes * 2, "export reusable readback and transient raster"));
472
- state.readback = new Uint8Array(bytes);
474
+ state.reservations.push(reserveVideoMemory(bytes * 2, "export readback and transient raster"));
473
475
  state.hasRecorder = true;
474
476
  state.surface = Skia.Surface.MakeOffscreen(options.width, options.height);
475
477
  if (!state.surface) throw new Error("Cannot allocate export surface");
@@ -1 +1 @@
1
- {"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","acquireWindowTarget","closeEncoderTarget","closeEncoderWindow","presentWindowTarget","probeEncoderTarget","probeEncoderWindow","releaseEncoderWindow","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","checkWindowFrame","unchecked","window","slots","next","surface","flush","finish","cleanup","failure","safeToRelease","clean","e","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","readback","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","readbackCanvas","pixels","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","Uint8Array","byteLength","byteOffset","buffer","slice","data","bytesPerRow","releaseContext","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","probe","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","acquireWindowTarget","closeEncoderTarget","closeEncoderWindow","presentWindowTarget","probeEncoderTarget","probeEncoderWindow","releaseEncoderWindow","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","checkWindowFrame","unchecked","window","slots","next","surface","flush","finish","cleanup","failure","safeToRelease","clean","e","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","readback","pixels","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","releaseContext","ArrayBuffer","isView","byteLength","byteOffset","buffer","slice","data","bytesPerRow","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","probe","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":"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","ignoreList":[]}