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.
- package/README.md +21 -23
- package/android/BUILD_VALIDATION.md +1 -1
- package/docs/FRAME_PIXEL_FORMAT.md +16 -1
- package/docs/UPSTREAM_NOTES.md +28 -1
- package/ios/RNSVColorSpace.h +8 -3
- package/lib/module/exportFrames.js +2 -2
- package/lib/module/exportFrames.js.map +1 -1
- package/lib/module/exportVideoComposition.js +25 -23
- package/lib/module/exportVideoComposition.js.map +1 -1
- package/lib/module/frameInterop.js +314 -70
- package/lib/module/frameInterop.js.map +1 -1
- package/lib/module/gpu.js +1 -1
- package/lib/module/gpu.js.map +1 -1
- package/lib/module/memory.js +7 -0
- package/lib/module/memory.js.map +1 -1
- package/lib/module/previewLifecycle.js +2 -0
- package/lib/module/previewLifecycle.js.map +1 -1
- package/lib/module/videoCompositionPlayer.js +65 -14
- package/lib/module/videoCompositionPlayer.js.map +1 -1
- package/lib/module/videoFrameImage.js +1 -1
- package/lib/module/yuvBlit.js +3 -3
- package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
- package/lib/typescript/src/frameInterop.d.ts +16 -5
- package/lib/typescript/src/frameInterop.d.ts.map +1 -1
- package/lib/typescript/src/memory.d.ts +2 -0
- package/lib/typescript/src/memory.d.ts.map +1 -1
- package/lib/typescript/src/previewLifecycle.d.ts +2 -0
- package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +8 -7
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/videoCompositionPlayer.d.ts +4 -5
- package/lib/typescript/src/videoCompositionPlayer.d.ts.map +1 -1
- package/lib/typescript/src/videoFrameImage.d.ts +1 -1
- package/package.json +6 -6
- package/patches/{react-native-skia+3.7.4.patch → react-native-skia+3.10.0.patch} +7 -3
- package/scripts/skia-canvas-patch.json +6 -6
- package/src/exportFrames.ts +2 -2
- package/src/exportVideoComposition.ts +43 -59
- package/src/frameInterop.ts +380 -85
- package/src/gpu.ts +1 -1
- package/src/memory.ts +6 -0
- package/src/previewLifecycle.ts +4 -0
- package/src/types.ts +8 -7
- package/src/videoCompositionPlayer.ts +76 -23
- package/src/videoFrameImage.ts +1 -1
- package/src/yuvBlit.ts +3 -3
package/lib/module/gpu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Skia","GPUTextureUsage","getVideoCanvas","releaseVideoMemory","reserveVideoMemory","getVideoGpuDevice","createVideoGpuScope","options","device","maxResources","maxPendingJobs","Number","isSafeInteger","Error","resources","pending","Set","state","pendingCount","jobGeneration","jobFailure","undefined","hasJobFailure","closing","disposal","ensureCapacity","length","drainGpu","Promise","all","generation","resource","surface","flush","queue","onSubmittedWorkDone","drain","createTexture","opts","format","skia","bytesPerPixel","bytes","width","height","includes","required","RENDER_ATTACHMENT","TEXTURE_BINDING","usage","COPY_SRC","COPY_DST","reservation","label","texture","size","Surface","MakeFromGPUTexture","canvas","image","Image","
|
|
1
|
+
{"version":3,"names":["Skia","GPUTextureUsage","getVideoCanvas","releaseVideoMemory","reserveVideoMemory","getVideoGpuDevice","createVideoGpuScope","options","device","maxResources","maxPendingJobs","Number","isSafeInteger","Error","resources","pending","Set","state","pendingCount","jobGeneration","jobFailure","undefined","hasJobFailure","closing","disposal","ensureCapacity","length","drainGpu","Promise","all","generation","resource","surface","flush","queue","onSubmittedWorkDone","drain","createTexture","opts","format","skia","bytesPerPixel","bytes","width","height","includes","required","RENDER_ATTACHMENT","TEXTURE_BINDING","usage","COPY_SRC","COPY_DST","reservation","label","texture","size","Surface","MakeFromGPUTexture","canvas","image","Image","push","error","dispose","destroy","createBuffer","descriptor","buffer","track","start","job","resolve","tracked","then","delete","add","failure","hasFailure","i","splice"],"sourceRoot":"../../src","sources":["gpu.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/memory.js
CHANGED
|
@@ -25,6 +25,13 @@ export const frameByteSize = (width, height) => {
|
|
|
25
25
|
}
|
|
26
26
|
return bytes;
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
/** The budget's counters, from any runtime; null without them. */
|
|
30
|
+
export const videoMemoryBudget = () => {
|
|
31
|
+
"worklet";
|
|
32
|
+
|
|
33
|
+
return RNSkiaVideoModule.getMemoryBudgetStats?.() ?? null;
|
|
34
|
+
};
|
|
28
35
|
export const reserveVideoMemory = (bytes, label) => {
|
|
29
36
|
"worklet";
|
|
30
37
|
|
package/lib/module/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNSkiaVideoModule","configureVideoMemory","maxBytes","Number","isSafeInteger","Error","configureMemoryBudget","getVideoResourceStats","budget","getMemoryBudgetStats","native","getResourceStats","backend","getBackendInfo","frameByteSize","width","height","bytes","reserveVideoMemory","label","reserveMemory","releaseVideoMemory","reservation","releaseMemory"],"sourceRoot":"../../src","sources":["memory.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AASnD;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC1E,IAAI,CAACC,MAAM,CAACC,aAAa,CAACF,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAAE;IACpD,MAAM,IAAIG,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EACAL,iBAAiB,CAACM,qBAAqB,CAAEJ,QAAQ,CAAC;AACpD,CAAC;AAED,OAAO,MAAMK,qBAAqB,GAAGA,CAAA,MAAO;EAC1CC,MAAM,EAAER,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;EAC1DC,MAAM,EAAEV,iBAAiB,CAACW,gBAAgB,GAAG,CAAC,IAAI,IAAI;EACtDC,OAAO,EAAEZ,iBAAiB,CAACa,cAAc,GAAG,CAAC,IAAI;AACnD,CAAC,CAAC;AAEF,OAAO,MAAMC,aAAa,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAa;EACtE,SAAS;;EACT,MAAMC,KAAK,GAAGF,KAAK,GAAGC,MAAM,GAAG,CAAC;EAChC,IACE,CAACb,MAAM,CAACC,aAAa,CAACW,KAAK,CAAC,IAC5B,CAACZ,MAAM,CAACC,aAAa,CAACY,MAAM,CAAC,IAC7BD,KAAK,IAAI,CAAC,IACVC,MAAM,IAAI,CAAC,IACX,CAACb,MAAM,CAACC,aAAa,CAACa,KAAK,CAAC,EAC5B;IACA,MAAM,IAAIZ,KAAK,CAAC,gCAAgC,CAAC;EACnD;EACA,OAAOY,KAAK;AACd,CAAC;
|
|
1
|
+
{"version":3,"names":["RNSkiaVideoModule","configureVideoMemory","maxBytes","Number","isSafeInteger","Error","configureMemoryBudget","getVideoResourceStats","budget","getMemoryBudgetStats","native","getResourceStats","backend","getBackendInfo","frameByteSize","width","height","bytes","videoMemoryBudget","reserveVideoMemory","label","reserveMemory","releaseVideoMemory","reservation","releaseMemory"],"sourceRoot":"../../src","sources":["memory.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AASnD;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC1E,IAAI,CAACC,MAAM,CAACC,aAAa,CAACF,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAAE;IACpD,MAAM,IAAIG,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EACAL,iBAAiB,CAACM,qBAAqB,CAAEJ,QAAQ,CAAC;AACpD,CAAC;AAED,OAAO,MAAMK,qBAAqB,GAAGA,CAAA,MAAO;EAC1CC,MAAM,EAAER,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;EAC1DC,MAAM,EAAEV,iBAAiB,CAACW,gBAAgB,GAAG,CAAC,IAAI,IAAI;EACtDC,OAAO,EAAEZ,iBAAiB,CAACa,cAAc,GAAG,CAAC,IAAI;AACnD,CAAC,CAAC;AAEF,OAAO,MAAMC,aAAa,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAa;EACtE,SAAS;;EACT,MAAMC,KAAK,GAAGF,KAAK,GAAGC,MAAM,GAAG,CAAC;EAChC,IACE,CAACb,MAAM,CAACC,aAAa,CAACW,KAAK,CAAC,IAC5B,CAACZ,MAAM,CAACC,aAAa,CAACY,MAAM,CAAC,IAC7BD,KAAK,IAAI,CAAC,IACVC,MAAM,IAAI,CAAC,IACX,CAACb,MAAM,CAACC,aAAa,CAACa,KAAK,CAAC,EAC5B;IACA,MAAM,IAAIZ,KAAK,CAAC,gCAAgC,CAAC;EACnD;EACA,OAAOY,KAAK;AACd,CAAC;;AAED;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAA+B;EAC9D,SAAS;;EACT,OAAOlB,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;AAC3D,CAAC;AAED,OAAO,MAAMU,kBAAkB,GAAGA,CAACF,KAAa,EAAEG,KAAa,KAAa;EAC1E,SAAS;;EACT,OAAOpB,iBAAiB,CAACqB,aAAa,GAAGJ,KAAK,EAAEG,KAAK,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAIC,WAAmB,IAAW;EAC/D,SAAS;;EACT,IAAIA,WAAW,EAAEvB,iBAAiB,CAACwB,aAAa,GAAGD,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
|
|
@@ -29,6 +29,8 @@ export const disposePreviewResources = resources => {
|
|
|
29
29
|
resources.canvas = null;
|
|
30
30
|
resources.surface?.dispose();
|
|
31
31
|
resources.surface = null;
|
|
32
|
+
resources.spareSurface?.dispose();
|
|
33
|
+
resources.spareSurface = null;
|
|
32
34
|
releaseVideoMemory(resources.reservation ?? 0);
|
|
33
35
|
resources.reservation = 0;
|
|
34
36
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["releaseVideoFrameImage","releaseVideoMemory","disposePreviewResources","resources","failure","failed","error","undefined","surface","flush","afterDraw","images","length","dispose","shift","frames","frame","canvas","reservation","native","runtime","globalThis","__rnskwgpuPreviewQuarantine","push"],"sourceRoot":"../../src","sources":["previewLifecycle.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,mBAAgB;AACvD,SAASC,kBAAkB,QAAQ,aAAU;
|
|
1
|
+
{"version":3,"names":["releaseVideoFrameImage","releaseVideoMemory","disposePreviewResources","resources","failure","failed","error","undefined","surface","flush","afterDraw","images","length","dispose","shift","frames","frame","canvas","spareSurface","reservation","native","runtime","globalThis","__rnskwgpuPreviewQuarantine","push"],"sourceRoot":"../../src","sources":["previewLifecycle.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,mBAAgB;AACvD,SAASC,kBAAkB,QAAQ,aAAU;AAe7C;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,SAA2B,IAAK;EACtE,SAAS;;EACT,MAAMC,OAAO,GAAG;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAEC;EAAqB,CAAC;EAC9D,IAAI;IACFJ,SAAS,CAACK,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC;IAC9BN,SAAS,CAACO,SAAS,GAAG,CAAC;IACvBP,SAAS,CAACO,SAAS,GAAG,IAAI;IAC1B,OAAOP,SAAS,CAACQ,MAAM,EAAEC,MAAM,EAAE;MAC/BT,SAAS,CAACQ,MAAM,CAAC,CAAC,CAAC,EAAEE,OAAO,CAAC,CAAC;MAC9BV,SAAS,CAACQ,MAAM,CAACG,KAAK,CAAC,CAAC;IAC1B;IACA,OAAOX,SAAS,CAACY,MAAM,EAAEH,MAAM,EAAE;MAC/B,MAAMI,KAAK,GAAGb,SAAS,CAACY,MAAM,CAAC,CAAC,CAAE;MAClCf,sBAAsB,CAACgB,KAAK,CAAC;MAC7BA,KAAK,CAACH,OAAO,GAAG,CAAC;MACjBV,SAAS,CAACY,MAAM,CAACD,KAAK,CAAC,CAAC;IAC1B;IACAX,SAAS,CAACc,MAAM,GAAG,IAAI;IACvBd,SAAS,CAACK,OAAO,EAAEK,OAAO,CAAC,CAAC;IAC5BV,SAAS,CAACK,OAAO,GAAG,IAAI;IACxBL,SAAS,CAACe,YAAY,EAAEL,OAAO,CAAC,CAAC;IACjCV,SAAS,CAACe,YAAY,GAAG,IAAI;IAC7BjB,kBAAkB,CAACE,SAAS,CAACgB,WAAW,IAAI,CAAC,CAAC;IAC9ChB,SAAS,CAACgB,WAAW,GAAG,CAAC;EAC3B,CAAC,CAAC,OAAOb,KAAK,EAAE;IACdF,OAAO,CAACC,MAAM,GAAG,IAAI;IACrBD,OAAO,CAACE,KAAK,GAAGA,KAAK;EACvB;EACA,IAAI;IACFH,SAAS,CAACiB,MAAM,EAAEP,OAAO,CAAC,CAAC;IAC3BV,SAAS,CAACiB,MAAM,GAAG,IAAI;EACzB,CAAC,CAAC,OAAOd,KAAK,EAAE;IACd,IAAI,CAACF,OAAO,CAACC,MAAM,EAAED,OAAO,CAACE,KAAK,GAAGA,KAAK;IAC1CF,OAAO,CAACC,MAAM,GAAG,IAAI;EACvB;EACA,IAAID,OAAO,CAACC,MAAM,EAAE;IAClB,MAAMgB,OAAO,GAAGC,UAEf;IACD,CAACD,OAAO,CAACE,2BAA2B,KAAK,EAAE,EAAEC,IAAI,CAACrB,SAAS,CAAC;EAC9D;EACA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -8,9 +8,13 @@ import RNSkiaVideoModule from "./RNSkiaVideoModule.js";
|
|
|
8
8
|
import useEventListener from "./utils/useEventListener.js";
|
|
9
9
|
import { PixelRatio } from "react-native";
|
|
10
10
|
import { scheduleOnRN } from "react-native-worklets";
|
|
11
|
-
import { ownVideoFrames, releaseVideoFrameImage } from "./frameInterop.js";
|
|
11
|
+
import { ownVideoFrames, releaseVideoFrameImage, videoFrameImportWaits } from "./frameInterop.js";
|
|
12
12
|
import { frameByteSize, reserveVideoMemory } from "./memory.js";
|
|
13
13
|
import { disposePreviewResources } from "./previewLifecycle.js";
|
|
14
|
+
|
|
15
|
+
// Draws in a row the preview submits without waiting for the GPU: one frame
|
|
16
|
+
// of a 24 fps video spans five vsyncs at 120 Hz, redrawn as time goes by.
|
|
17
|
+
const maxUncheckedDraws = 6;
|
|
14
18
|
/**
|
|
15
19
|
* A hook that creates a video composition player.
|
|
16
20
|
*/
|
|
@@ -127,6 +131,15 @@ export const useVideoComposition = ({
|
|
|
127
131
|
}, [framesExtractor, autoPlay]);
|
|
128
132
|
const surfaceSharedValue = useSharedValue(null);
|
|
129
133
|
const canvasSharedValue = useSharedValue(null);
|
|
134
|
+
// The preview draws into two surfaces in turn, and shows each through an
|
|
135
|
+
// image sharing its texture (asImage): no copy per draw, as a snapshot
|
|
136
|
+
// made. The picture on screen stays whole while the next is drawn into the
|
|
137
|
+
// other surface.
|
|
138
|
+
const spareSurfaceSharedValue = useSharedValue(null);
|
|
139
|
+
const spareCanvasSharedValue = useSharedValue(null);
|
|
140
|
+
const bufferImages = useSharedValue([]);
|
|
141
|
+
// The buffer on screen: 0, 1 (the spare), or -1 before the first draw.
|
|
142
|
+
const frontBuffer = useSharedValue(-1);
|
|
130
143
|
const surfaceReservation = useSharedValue(0);
|
|
131
144
|
const surfaceWidth = useSharedValue(0);
|
|
132
145
|
const surfaceHeight = useSharedValue(0);
|
|
@@ -135,8 +148,10 @@ export const useVideoComposition = ({
|
|
|
135
148
|
|
|
136
149
|
const resources = {
|
|
137
150
|
surface: surfaceSharedValue.value,
|
|
151
|
+
spareSurface: spareSurfaceSharedValue.value,
|
|
138
152
|
canvas: canvasSharedValue.value,
|
|
139
|
-
|
|
153
|
+
// currentFrame is one of the buffers' images.
|
|
154
|
+
images: [...bufferImages.value, pendingSnapshot.value],
|
|
140
155
|
frames: Object.values(previousSources.value),
|
|
141
156
|
reservation: surfaceReservation.value,
|
|
142
157
|
afterDraw: pendingAfterDraw.value?.run,
|
|
@@ -152,6 +167,10 @@ export const useVideoComposition = ({
|
|
|
152
167
|
sourcesGeneration.value = 0;
|
|
153
168
|
surfaceSharedValue.value = null;
|
|
154
169
|
canvasSharedValue.value = null;
|
|
170
|
+
spareSurfaceSharedValue.value = null;
|
|
171
|
+
spareCanvasSharedValue.value = null;
|
|
172
|
+
bufferImages.value = [];
|
|
173
|
+
frontBuffer.value = -1;
|
|
155
174
|
surfaceReservation.value = 0;
|
|
156
175
|
surfaceWidth.value = 0;
|
|
157
176
|
surfaceHeight.value = 0;
|
|
@@ -169,6 +188,10 @@ export const useVideoComposition = ({
|
|
|
169
188
|
const drawDeferred = useSharedValue(false);
|
|
170
189
|
// Whether the previous vsync brought new frames.
|
|
171
190
|
const importedLastVsync = useSharedValue(false);
|
|
191
|
+
// Draws submitted without waiting for the GPU since the last wait, the
|
|
192
|
+
// checked wait that ends every import of a new frame included.
|
|
193
|
+
const uncheckedDraws = useSharedValue(0);
|
|
194
|
+
const importWaits = useSharedValue(0);
|
|
172
195
|
// A new drawFrame can draw something else from the same time and frames.
|
|
173
196
|
useEffect(() => {
|
|
174
197
|
lastDrawnTime.value = -1;
|
|
@@ -214,6 +237,13 @@ export const useVideoComposition = ({
|
|
|
214
237
|
sourcesGeneration.value = generation;
|
|
215
238
|
const currentTime = framesExtractor.currentTime;
|
|
216
239
|
const framesVersion = framesExtractor.framesVersion;
|
|
240
|
+
// An import (above, or of another player on this runtime) ends with a
|
|
241
|
+
// checked wait for all the GPU work submitted before it.
|
|
242
|
+
const waits = videoFrameImportWaits();
|
|
243
|
+
if (waits !== importWaits.value) {
|
|
244
|
+
importWaits.value = waits;
|
|
245
|
+
uncheckedDraws.value = 0;
|
|
246
|
+
}
|
|
217
247
|
const imported = splitImportAndDraw && framesVersion !== lastImportedVersion.value;
|
|
218
248
|
const importedBefore = importedLastVsync.value;
|
|
219
249
|
// Version 0: no frame decoded yet.
|
|
@@ -261,8 +291,9 @@ export const useVideoComposition = ({
|
|
|
261
291
|
// picture by the ratio between them, so the surface is re-keyed on its
|
|
262
292
|
// dimensions the way exportVideoComposition already re-keys its own.
|
|
263
293
|
const retired = {
|
|
264
|
-
images: [
|
|
294
|
+
images: [...bufferImages.value, pendingSnapshot.value],
|
|
265
295
|
surface,
|
|
296
|
+
spareSurface: spareSurfaceSharedValue.value,
|
|
266
297
|
canvas: canvasSharedValue.value,
|
|
267
298
|
reservation: surfaceReservation.value,
|
|
268
299
|
afterDraw: pendingAfterDraw.value?.run
|
|
@@ -272,10 +303,14 @@ export const useVideoComposition = ({
|
|
|
272
303
|
pendingAfterDraw.value = null;
|
|
273
304
|
canvasSharedValue.value = null;
|
|
274
305
|
surfaceSharedValue.value = null;
|
|
306
|
+
spareSurfaceSharedValue.value = null;
|
|
307
|
+
spareCanvasSharedValue.value = null;
|
|
308
|
+
bufferImages.value = [];
|
|
309
|
+
frontBuffer.value = -1;
|
|
275
310
|
surfaceReservation.value = 0;
|
|
276
311
|
const retiredFailure = disposePreviewResources(retired);
|
|
277
312
|
if (retiredFailure.failed) throw retiredFailure.error;
|
|
278
|
-
//
|
|
313
|
+
// The two surfaces the preview draws into in turn.
|
|
279
314
|
const reservation = reserveVideoMemory(frameByteSize(pixelWidth, pixelHeight) * 2, "composition preview");
|
|
280
315
|
surfaceReservation.value = reservation;
|
|
281
316
|
try {
|
|
@@ -283,6 +318,13 @@ export const useVideoComposition = ({
|
|
|
283
318
|
surfaceSharedValue.value = surface;
|
|
284
319
|
if (!surface) throw new Error("Cannot allocate preview surface");
|
|
285
320
|
canvasSharedValue.value = getVideoCanvas(surface);
|
|
321
|
+
const spare = Skia.Surface.MakeOffscreen(pixelWidth, pixelHeight);
|
|
322
|
+
spareSurfaceSharedValue.value = spare;
|
|
323
|
+
if (!spare) throw new Error("Cannot allocate preview surface");
|
|
324
|
+
spareCanvasSharedValue.value = getVideoCanvas(spare);
|
|
325
|
+
const first = surface.asImage();
|
|
326
|
+
bufferImages.value = [first];
|
|
327
|
+
bufferImages.value = [first, spare.asImage()];
|
|
286
328
|
surfaceWidth.value = pixelWidth;
|
|
287
329
|
surfaceHeight.value = pixelHeight;
|
|
288
330
|
} catch (error) {
|
|
@@ -295,7 +337,11 @@ export const useVideoComposition = ({
|
|
|
295
337
|
console.warn("Failed to create surface");
|
|
296
338
|
return;
|
|
297
339
|
}
|
|
298
|
-
|
|
340
|
+
// Draw into the buffer that is not on screen.
|
|
341
|
+
const back = frontBuffer.value === 0 ? 1 : 0;
|
|
342
|
+
if (back === 1) surface = spareSurfaceSharedValue.value;
|
|
343
|
+
const backSurface = surface;
|
|
344
|
+
const canvas = back === 1 ? spareCanvasSharedValue.value : canvasSharedValue.value;
|
|
299
345
|
// Cleared as the export clears it: a drawFrame that leaves part of the
|
|
300
346
|
// canvas alone showed the previous frames there, and not in the export.
|
|
301
347
|
canvas.drawColor(Skia.Color("#00000000"), BlendMode.Clear);
|
|
@@ -323,17 +369,22 @@ export const useVideoComposition = ({
|
|
|
323
369
|
width: pixelWidth,
|
|
324
370
|
height: pixelHeight
|
|
325
371
|
});
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
372
|
+
const next = bufferImages.value[back];
|
|
373
|
+
// Waiting for the GPU here held the UI thread for the work of every
|
|
374
|
+
// Skia view on the shared context: a vsync in three with 4K frames on
|
|
375
|
+
// iOS with Skia 3.9.1, every other one before. The draw samples only
|
|
376
|
+
// images Skia owns, which the GPU work keeps alive, so it waits only
|
|
377
|
+
// when afterDrawFrame releases a context of the caller's, and after a
|
|
378
|
+
// few draws without an import, so that the GPU queue stays bounded.
|
|
379
|
+
const wait = afterDrawFrame !== undefined || uncheckedDraws.value >= maxUncheckedDraws;
|
|
380
|
+
backSurface.flush(wait);
|
|
381
|
+
uncheckedDraws.value = wait ? 0 : uncheckedDraws.value + 1;
|
|
330
382
|
drawn.submitted = true;
|
|
331
383
|
frameGeneration.value = generation;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
pendingSnapshot.value = null;
|
|
384
|
+
// The image shares the surface's texture: it shows this draw once
|
|
385
|
+
// the flush above has submitted it.
|
|
386
|
+
currentFrame.value = next;
|
|
387
|
+
frontBuffer.value = back;
|
|
337
388
|
} catch (error) {
|
|
338
389
|
drawn.failed = true;
|
|
339
390
|
drawn.error = error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getVideoCanvas","BlendMode","Skia","useSharedValue","useFrameCallback","runOnUI","useCallback","useEffect","useRef","useState","RNSkiaVideoModule","useEventListener","PixelRatio","scheduleOnRN","ownVideoFrames","releaseVideoFrameImage","frameByteSize","reserveVideoMemory","disposePreviewResources","useVideoComposition","composition","drawFrame","beforeDrawFrame","afterDrawFrame","width","height","autoPlay","isLooping","drawWhenPaused","redrawOnTime","splitImportAndDraw","onReadyToPlay","onComplete","onError","failedComposition","setFailedComposition","isErrored","session","setSession","framesExtractor","extractor","generation","nextGeneration","activeOnRN","activeGeneration","frameGeneration","sourcesGeneration","currentFrame","pendingSnapshot","pendingAfterDraw","previousSources","onCreationError","current","created","createVideoCompositionFramesExtractor","error","createdGeneration","value","releasePreview","failure","native","failed","console","warn","retry","errorHandler","isCurrentSession","prepare","play","surfaceSharedValue","canvasSharedValue","surfaceReservation","surfaceWidth","surfaceHeight","resources","surface","canvas","images","frames","Object","values","reservation","afterDraw","run","lastDrawnFramesVersion","lastDrawnTime","lastDrawnInputs","lastImportedVersion","drawDeferred","importedLastVsync","pixelRatio","get","pixelWidth","Math","floor","pixelHeight","isFinite","decodeCompositionFrames","key","previous","entries","producerId","currentTime","framesVersion","imported","importedBefore","inputs","Array","isArray","inputsSame","last","length","i","timeSame","undefined","isPlaying","retired","retiredFailure","Surface","MakeOffscreen","Error","drawColor","Color","Clear","context","drawn","submitted","releaseContext","videoComposition","next","makeImageSnapshot","flush","modify","dispose","map","input","player"],"sourceRoot":"../../src","sources":["videoCompositionPlayer.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getVideoCanvas","BlendMode","Skia","useSharedValue","useFrameCallback","runOnUI","useCallback","useEffect","useRef","useState","RNSkiaVideoModule","useEventListener","PixelRatio","scheduleOnRN","ownVideoFrames","releaseVideoFrameImage","videoFrameImportWaits","frameByteSize","reserveVideoMemory","disposePreviewResources","maxUncheckedDraws","useVideoComposition","composition","drawFrame","beforeDrawFrame","afterDrawFrame","width","height","autoPlay","isLooping","drawWhenPaused","redrawOnTime","splitImportAndDraw","onReadyToPlay","onComplete","onError","failedComposition","setFailedComposition","isErrored","session","setSession","framesExtractor","extractor","generation","nextGeneration","activeOnRN","activeGeneration","frameGeneration","sourcesGeneration","currentFrame","pendingSnapshot","pendingAfterDraw","previousSources","onCreationError","current","created","createVideoCompositionFramesExtractor","error","createdGeneration","value","releasePreview","failure","native","failed","console","warn","retry","errorHandler","isCurrentSession","prepare","play","surfaceSharedValue","canvasSharedValue","spareSurfaceSharedValue","spareCanvasSharedValue","bufferImages","frontBuffer","surfaceReservation","surfaceWidth","surfaceHeight","resources","surface","spareSurface","canvas","images","frames","Object","values","reservation","afterDraw","run","lastDrawnFramesVersion","lastDrawnTime","lastDrawnInputs","lastImportedVersion","drawDeferred","importedLastVsync","uncheckedDraws","importWaits","pixelRatio","get","pixelWidth","Math","floor","pixelHeight","isFinite","decodeCompositionFrames","key","previous","entries","producerId","currentTime","framesVersion","waits","imported","importedBefore","inputs","Array","isArray","inputsSame","last","length","i","timeSame","undefined","isPlaying","retired","retiredFailure","Surface","MakeOffscreen","Error","spare","first","asImage","back","backSurface","drawColor","Color","Clear","context","drawn","submitted","releaseContext","videoComposition","next","wait","flush","map","input","player"],"sourceRoot":"../../src","sources":["videoCompositionPlayer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,7 +25,7 @@ import { imageFromVideoFrame } from "./frameInterop.js";
|
|
|
25
25
|
*
|
|
26
26
|
* @param frame the frame, drawn in the tick it was handed out in
|
|
27
27
|
* @param output an image returned for a previous frame, recycled rather than
|
|
28
|
-
* allocating a new wrapper. Accepted for compatibility;
|
|
28
|
+
* allocating a new wrapper. Accepted for compatibility; the image wraps a texture the library owns
|
|
29
29
|
* @returns the image and its picture, or null when the frame has no texture
|
|
30
30
|
*/
|
|
31
31
|
export const makeVideoFrameImage = (frame, _output) => {
|
package/lib/module/yuvBlit.js
CHANGED
|
@@ -252,7 +252,7 @@ export const blitYuvFrame = (device, imports, producer, source, rotation, region
|
|
|
252
252
|
let index = entries.findIndex(entry => entry.handle === source.handle && entry.rotation === rotation);
|
|
253
253
|
if (index < 0) {
|
|
254
254
|
// The least recently drawn buffer goes first. Its last frame completed:
|
|
255
|
-
//
|
|
255
|
+
// fewer imports than this are ever on the GPU (see frameInterop.ts).
|
|
256
256
|
if (entries.length >= maxImportsPerProducer) {
|
|
257
257
|
releaseYuvImport(entries[0]);
|
|
258
258
|
entries.shift();
|
|
@@ -298,8 +298,8 @@ export const blitYuvFrame = (device, imports, producer, source, rotation, region
|
|
|
298
298
|
pass.end();
|
|
299
299
|
device.queue.submit([encoder.finish()]);
|
|
300
300
|
} finally {
|
|
301
|
-
// The caller
|
|
302
|
-
//
|
|
301
|
+
// The caller hands the decoder buffer back once the GPU is done with the
|
|
302
|
+
// draw; the release fence is not needed for that.
|
|
303
303
|
entry.wrapper.endAccess()?.fence.destroy();
|
|
304
304
|
}
|
|
305
305
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportVideoComposition.d.ts","sourceRoot":"","sources":["../../../src/exportVideoComposition.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,UAAU,EACX,MAAM,YAAS,CAAC;AAkCjB,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;8EAC0E;IAC1E,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF;yEACyE;AACzE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB;6CACyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd;iDAC6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,SAAS,IAAI,aAAa,GAAG;IAChE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;uEACmE;IACnE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,WAAW,EAAE,MAAM,OAAO,CAAC;KAC5B,KAAK,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD;gFAC4E;IAC5E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"exportVideoComposition.d.ts","sourceRoot":"","sources":["../../../src/exportVideoComposition.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,UAAU,EACX,MAAM,YAAS,CAAC;AAkCjB,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;8EAC0E;IAC1E,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF;yEACyE;AACzE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB;6CACyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd;iDAC6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,SAAS,IAAI,aAAa,GAAG;IAChE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;uEACmE;IACnE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,WAAW,EAAE,MAAM,OAAO,CAAC;KAC5B,KAAK,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD;gFAC4E;IAC5E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,CAAC;AA6CF;;kFAEkF;AAClF,eAAO,MAAM,sBAAsB,GAAI,CAAC,GAAG,SAAS,EAClD,MAAM,oBAAoB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,IAAI,CAA+D,CAAC"}
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import type { SkImage } from "react-native-skia";
|
|
2
2
|
import type { VideoFrame } from "./types.js";
|
|
3
|
+
/** The checked GPU waits this runtime's imports have made so far, and the
|
|
4
|
+
* completions the GPU reported for them. Each one covers all the GPU work
|
|
5
|
+
* submitted before it, on the shared context. */
|
|
6
|
+
export declare const videoFrameImportWaits: () => number;
|
|
3
7
|
/** Clear a runtime's imported images after ending all its producers.
|
|
4
8
|
* Do not clear a paused producer's current frame: its native source has
|
|
5
|
-
* already been released, and
|
|
9
|
+
* already been released, and its image's texture is its remaining pixels. */
|
|
6
10
|
export declare const clearVideoFrameImages: (releaseStagingSurface?: boolean) => void;
|
|
7
11
|
/** Release an item which has left a composition or a producer being closed. */
|
|
8
12
|
export declare const releaseVideoFrameImage: (frame: VideoFrame) => void;
|
|
9
|
-
/** Returns
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
+
/** Returns owned pixels. WebGPU uploads Android RGBA pixels or blits native
|
|
14
|
+
* buffers into a texture of the frame's producer, which the image wraps: no
|
|
15
|
+
* copy into a snapshot, and no entry in the raster ImageProvider's LRU.
|
|
16
|
+
* Sources go back once the GPU is done with them.
|
|
17
|
+
*
|
|
18
|
+
* The image is the producer's until its next frame is imported, which
|
|
19
|
+
* disposes it. A producer has two textures and writes its frames into them in
|
|
20
|
+
* turn, so the texture of an image is only written again by the import after
|
|
21
|
+
* the one that disposed it; with a memory budget too short for a second
|
|
22
|
+
* texture, the next frame is written over it, in queue order after the draws
|
|
23
|
+
* already submitted. */
|
|
13
24
|
export declare const imageFromVideoFrame: (frame: VideoFrame) => SkImage | null;
|
|
14
25
|
/** Stage all issued frames, including items a callback currently hides.
|
|
15
26
|
* This releases decoder leases promptly instead of waiting for JS GC. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameInterop.d.ts","sourceRoot":"","sources":["../../../src/frameInterop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"frameInterop.d.ts","sourceRoot":"","sources":["../../../src/frameInterop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAoY1C;;iDAEiD;AACjD,eAAO,MAAM,qBAAqB,QAAO,MAGxC,CAAC;AAEF;;6EAE6E;AAC7E,eAAO,MAAM,qBAAqB,GAAI,+BAA6B,KAAG,IA+BrE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,GAAI,OAAO,UAAU,KAAG,IAwB1D,CAAC;AAEF;;;;;;;;;;wBAUwB;AACxB,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,OAAO,GAAG,IA+ZjE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,UAAU,CAkG3B,CAAC"}
|
|
@@ -20,6 +20,8 @@ export declare const getVideoResourceStats: () => {
|
|
|
20
20
|
backend: Record<string, string | number | boolean> | null;
|
|
21
21
|
};
|
|
22
22
|
export declare const frameByteSize: (width: number, height: number) => number;
|
|
23
|
+
/** The budget's counters, from any runtime; null without them. */
|
|
24
|
+
export declare const videoMemoryBudget: () => VideoMemoryStats | null;
|
|
23
25
|
export declare const reserveVideoMemory: (bytes: number, label: string) => number;
|
|
24
26
|
export declare const releaseVideoMemory: (reservation: number) => void;
|
|
25
27
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/memory.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;sEACsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,SAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;CAIhC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAa7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,IAGxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/memory.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;sEACsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,SAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;CAIhC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAa7D,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,QAAO,gBAAgB,GAAG,IAGvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,IAGxD,CAAC"}
|
|
@@ -2,6 +2,8 @@ import type { SkCanvas, SkImage, SkSurface } from "react-native-skia";
|
|
|
2
2
|
import type { VideoFrame } from "./types.js";
|
|
3
3
|
type PreviewResources = {
|
|
4
4
|
surface?: SkSurface | null;
|
|
5
|
+
/** The preview's second buffer (see useVideoCompositionPlayer). */
|
|
6
|
+
spareSurface?: SkSurface | null;
|
|
5
7
|
canvas?: SkCanvas | null;
|
|
6
8
|
images?: Array<SkImage | null>;
|
|
7
9
|
frames?: VideoFrame[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"previewLifecycle.d.ts","sourceRoot":"","sources":["../../../src/previewLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;gFAEgF;AAChF,eAAO,MAAM,uBAAuB,GAAI,WAAW,gBAAgB;;WAEZ,OAAO;
|
|
1
|
+
{"version":3,"file":"previewLifecycle.d.ts","sourceRoot":"","sources":["../../../src/previewLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;gFAEgF;AAChF,eAAO,MAAM,uBAAuB,GAAI,WAAW,gBAAgB;;WAEZ,OAAO;CAwC7D,CAAC"}
|
|
@@ -149,15 +149,16 @@ export type VideoPlayer = {
|
|
|
149
149
|
* (12.4 MB rather than 33.2 MB in 4K), so the decoder holds more frames
|
|
150
150
|
* ahead for the same memory. On Android only 8-bit SDR tracks decoded at
|
|
151
151
|
* their own size; other tracks stay `rgba`.
|
|
152
|
-
* - `rgba
|
|
153
|
-
* Android: by an OpenGL pass)
|
|
152
|
+
* - `rgba` (deprecated): frames converted to RGB as they are decoded (iOS: by
|
|
153
|
+
* VideoToolbox, Android: by an OpenGL pass). It no longer has an advantage:
|
|
154
|
+
* exports run as fast in `yuv`, which renders the same colors, and a 4K60
|
|
155
|
+
* preview keeps fewer frames on screen in `rgba`, whose frames take 4 bytes
|
|
156
|
+
* a pixel. It still works; use `auto`.
|
|
154
157
|
* - `auto`: `yuv`, on both platforms.
|
|
155
158
|
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* transfer function (Display P3, sRGB) to Rec.709; `yuv` takes its samples as
|
|
160
|
-
* Rec.709, as Android does in both formats.
|
|
159
|
+
* Both convert with the frame's YCbCr matrix and range. On iOS, both convert
|
|
160
|
+
* HDR (HLG, PQ), BT.2020, Display P3 and sRGB files to Rec.709 through
|
|
161
|
+
* AVFoundation. Android takes SDR samples as Rec.709 in both formats.
|
|
161
162
|
*/
|
|
162
163
|
export type VideoFramePixelFormat = "auto" | "yuv" | "rgba";
|
|
163
164
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,11 +65,10 @@ type UseVideoCompositionPlayerOptions<T = undefined> = {
|
|
|
65
65
|
/**
|
|
66
66
|
* Import a newly decoded frame in one vsync and draw it in the next, instead
|
|
67
67
|
* of both in the same one. On Android the import (YUV blit and its checked
|
|
68
|
-
* GPU wait) and the draw
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* as it is imported.
|
|
68
|
+
* GPU wait) and the draw cost about as much as each other, and together they
|
|
69
|
+
* overrun a 90–120 Hz frame budget on the UI thread. The option applies on
|
|
70
|
+
* iOS too. The picture then trails the clock by one vsync. The first frame
|
|
71
|
+
* of a session is still drawn as soon as it is imported.
|
|
73
72
|
* @default false
|
|
74
73
|
*/
|
|
75
74
|
splitImportAndDraw?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoCompositionPlayer.d.ts","sourceRoot":"","sources":["../../../src/videoCompositionPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,YAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"videoCompositionPlayer.d.ts","sourceRoot":"","sources":["../../../src/videoCompositionPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,YAAS,CAAC;AAiBjB,KAAK,gCAAgC,CAAC,CAAC,GAAG,SAAS,IAAI;IACrD;;;OAGG;IACH,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,+BAA+B,EAC/B,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAC1D,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C;;OAEG;IACH,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,GAAG,SAAS,EAAE,wLAehD,gCAAgC,CAAC,CAAC,CAAC,KAAG,mCA8dxC,CAAC"}
|
|
@@ -36,7 +36,7 @@ export type VideoFrameFit = "fill" | "cover" | "contain";
|
|
|
36
36
|
*
|
|
37
37
|
* @param frame the frame, drawn in the tick it was handed out in
|
|
38
38
|
* @param output an image returned for a previous frame, recycled rather than
|
|
39
|
-
* allocating a new wrapper. Accepted for compatibility;
|
|
39
|
+
* allocating a new wrapper. Accepted for compatibility; the image wraps a texture the library owns
|
|
40
40
|
* @returns the image and its picture, or null when the frame has no texture
|
|
41
41
|
*/
|
|
42
42
|
export declare const makeVideoFrameImage: (frame: VideoFrame, _output?: SkImage | null) => VideoFrameImage | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-skia-webgpu-video",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Bounded video composition, playback and export for React Native Skia 3 / Graphite",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"!**/.*",
|
|
41
41
|
"scripts/apply-skia-canvas-patch.mjs",
|
|
42
42
|
"scripts/skia-canvas-patch.json",
|
|
43
|
-
"patches/react-native-skia+3.
|
|
43
|
+
"patches/react-native-skia+3.10.0.patch",
|
|
44
44
|
"docs/UPSTREAM_NOTES.md",
|
|
45
45
|
"!ios/tests",
|
|
46
46
|
"!android/src/androidTest",
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
"react-native": "0.86.2",
|
|
102
102
|
"react-native-builder-bob": "^0.43.0",
|
|
103
103
|
"react-native-reanimated": "4.5.3",
|
|
104
|
-
"react-native-skia": "3.
|
|
105
|
-
"react-native-webgpu": "0.
|
|
104
|
+
"react-native-skia": "3.10.0",
|
|
105
|
+
"react-native-webgpu": "0.21.3",
|
|
106
106
|
"react-native-worklets": "0.11.3",
|
|
107
107
|
"react-test-renderer": "19.2.3",
|
|
108
108
|
"typescript": "^6.0.3"
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"react": ">=19",
|
|
112
112
|
"react-native": ">=0.83 <0.87",
|
|
113
113
|
"react-native-reanimated": "4.5.3",
|
|
114
|
-
"react-native-skia": "3.
|
|
115
|
-
"react-native-webgpu": "0.
|
|
114
|
+
"react-native-skia": "3.10.0",
|
|
115
|
+
"react-native-webgpu": "0.21.3",
|
|
116
116
|
"react-native-worklets": "0.11.3"
|
|
117
117
|
},
|
|
118
118
|
"jest": {
|