Commit Graph
666 Commits
Author SHA1 Message Date
MediaPipe TeamandCopybara-Service e987b69f39 Add alternative method to determine unique kernel cache path
PiperOrigin-RevId: 491476293
2022-11-28 16:52:16 -08:00
MediaPipe TeamandCopybara-Service 7b74fd53f5 Verify that kernel cache is only used when OpenCL is active
PiperOrigin-RevId: 491463306
2022-11-28 15:47:55 -08:00
MediaPipe TeamandCopybara-Service 26a7ca5c64 fix typo and minor formatting issues
PiperOrigin-RevId: 491453662
2022-11-28 15:05:28 -08:00
MediaPipe TeamandCopybara-Service b65c40b302 Internal change
PiperOrigin-RevId: 491441446
2022-11-28 14:17:23 -08:00
Sebastian SchmidtandCopybara-Service 342f95fa20 Typo fix
PiperOrigin-RevId: 491434987
2022-11-28 13:54:09 -08:00
MediaPipe TeamandCopybara-Service c48ca1f674 internal change
PiperOrigin-RevId: 491429214
2022-11-28 13:33:57 -08:00
Sebastian SchmidtandCopybara-Service 153edc59a1 Add support for browsers without SIMD
PiperOrigin-RevId: 491371277
2022-11-28 09:54:22 -08:00
MediaPipe TeamandCopybara-Service 395d9d8ea2 Instantiate GetDetectionVectorItemCalculator variant of GetVectorItemCalculator<>.
PiperOrigin-RevId: 491123314
2022-11-27 00:07:10 -08:00
Camillo LugaresiandCopybara-Service 0bdb48ceb1 Use kUtilityFramebuffer in GlCalculatorHelper
All calculators using the same context can share a single framebuffer object.

PiperOrigin-RevId: 490605074
2022-11-23 16:19:31 -08:00
MediaPipe TeamandCopybara-Service 41a7f9d7d6 Internal change
PiperOrigin-RevId: 490595529
2022-11-23 15:24:50 -08:00
MediaPipe TeamandCopybara-Service bfa57310c4 Move TextPreprocessing to "processors" folder.
PiperOrigin-RevId: 490532670
2022-11-23 10:19:45 -08:00
Camillo LugaresiandCopybara-Service 54d1744c8f Remove DrishtiGraphGPUData, add MetalSharedResources
This class is unused except by the Metal helper; let's narrow it down and simplify gpu_shared_data.

PiperOrigin-RevId: 490531767
2022-11-23 10:15:17 -08:00
Camillo LugaresiandCopybara-Service 3c53ec2cdb Do not expose DrishtiGraphGPUData.h in public header
This class is an implementation detail.

PiperOrigin-RevId: 490530823
2022-11-23 10:11:32 -08:00
MediaPipe TeamandCopybara-Service b5189758f7 Move ImagePreprocessing to "processors" folder.
PiperOrigin-RevId: 490444821
2022-11-23 02:08:37 -08:00
Sebastian SchmidtandCopybara-Service c5ce523697 Add cosine APIs to Embedder tasks
PiperOrigin-RevId: 490444597
2022-11-23 02:04:44 -08:00
Sebastian SchmidtandCopybara-Service 05681fc0e1 Internal
PiperOrigin-RevId: 490439195
2022-11-23 01:29:37 -08:00
Camillo LugaresiandCopybara-Service a55839de51 This storage only needs a "done writing" callback on simulator, so only set it there
- When not on simulator, we pass nullptr instead of a do-nothing callback.
- The callback is no longer a method, but a function. Only the CVPixelBuffer is captured.

PiperOrigin-RevId: 490380248
2022-11-22 18:09:09 -08:00
Sebastian SchmidtandCopybara-Service 3bbc0e9af9 Internal change
PiperOrigin-RevId: 490375672
2022-11-22 17:39:54 -08:00
MediaPipe TeamandCopybara-Service 837225c53d Internal change
PiperOrigin-RevId: 490374976
2022-11-22 17:36:15 -08:00
Camillo LugaresiandCopybara-Service 8ba9d87e66 Update ImageFrameToGpuBufferCalculator to use api2 and GpuBuffer conversions
PiperOrigin-RevId: 490374387
2022-11-22 17:32:33 -08:00
MediaPipe TeamandCopybara-Service fac97554df Small TS audio API improvement
PiperOrigin-RevId: 490374083
2022-11-22 17:27:47 -08:00
Camillo LugaresiandCopybara-Service efa9e737f8 Use current context if available in ConvertToImageFrame
If we're already running in a GlContext, there's no need to go back to the producer context, which may be different.

PiperOrigin-RevId: 490373829
2022-11-22 17:24:03 -08:00
MediaPipe TeamandCopybara-Service 7ce4aa6592 Internal change
PiperOrigin-RevId: 490366250
2022-11-22 16:40:38 -08:00
Camillo LugaresiandCopybara-Service 515d00fc22 Internal change
PiperOrigin-RevId: 490349260
2022-11-22 15:18:21 -08:00
vrabaudandCopybara-Service 872d1afda7 Internal change
PiperOrigin-RevId: 490196129
2022-11-22 03:12:38 -08:00
Camillo LugaresiandCopybara-Service d648926155 Just reset the fb binding to 0 in ReadTexture
This saves a get operation. We already have precedent in lots of other MediaPipe code where we just reset bindings to 0.

PiperOrigin-RevId: 490170691
2022-11-22 00:36:54 -08:00
Camillo LugaresiandCopybara-Service bacbac8d92 Use kUtilityFramebuffer in ReadTexture
This avoids creating a temporary framebuffer each time.

PiperOrigin-RevId: 490163892
2022-11-21 23:59:44 -08:00
Camillo LugaresiandCopybara-Service a8b7761022 Define a kUtilityFramebuffer context attachment
A framebuffer object is often needed to render to a texture or read data from it. Currently we create one in each GlCalculatorHelper, but that is redundant (we only need one per context, and multiple calculators can share the same context). Other times, the code that needs to use this doesn't own a helper. For both reasons, this should be attached to the context.

We could just make this a member of GlContext since it's so common. However, I figured we might as well use the attachment system.

PiperOrigin-RevId: 490160214
2022-11-21 23:29:27 -08:00
Camillo LugaresiandCopybara-Service 54a684717f Internal change
PiperOrigin-RevId: 490159674
2022-11-21 23:24:16 -08:00
Mark McDonaldandCopybara-Service 7c9fc9a642 Remove mp.solutions from doc generation.
These need to be excluded from the current package, so do it automatically.

PiperOrigin-RevId: 490146934
2022-11-21 21:48:02 -08:00
MediaPipe TeamandCopybara-Service d43d0ff615 Internal change
PiperOrigin-RevId: 490089940
2022-11-21 15:47:45 -08:00
MediaPipe TeamandCopybara-Service adddf2c2ab Extracted common test helper functions out from the unittest into a sharable
library. Also migrated away from OpenCVX.

PiperOrigin-RevId: 490074410
2022-11-21 14:39:56 -08:00
MediaPipe TeamandCopybara-Service 652423a23d Internal change
PiperOrigin-RevId: 490053179
2022-11-21 13:06:47 -08:00
MediaPipe TeamandCopybara-Service 7f0134eecb Internal change
PiperOrigin-RevId: 490041386
2022-11-21 12:16:00 -08:00
MediaPipe TeamandCopybara-Service 7acbf557a1 Cleanup after migration to new classification output format.
PiperOrigin-RevId: 489921603
2022-11-21 01:57:05 -08:00
MediaPipe TeamandCopybara-Service 13c6b9a8c6 Allow kernel cache path to be specified without trailing path delimiter
PiperOrigin-RevId: 489891079
2022-11-20 22:20:18 -08:00
Camillo LugaresiandCopybara-Service 3ac7f6a216 Simplify image creation in PacketCreator
Use more existing functions, remove redundant code, remove direct use of RuntimeException.

PiperOrigin-RevId: 489868983
2022-11-20 19:32:21 -08:00
MediaPipe TeamandCopybara-Service 6cf464636b Internal change
PiperOrigin-RevId: 489842199
2022-11-20 14:26:22 -08:00
Scott ZhuandCopybara-Service a367753eda Internal change
PiperOrigin-RevId: 489824381
2022-11-20 10:41:20 -08:00
MediaPipe TeamandCopybara-Service bdf4078e89 Internal change
PiperOrigin-RevId: 489752009
2022-11-19 21:14:24 -08:00
Camillo LugaresiandCopybara-Service a33cb1e05e Check that Java buffer supports direct access before using it
If the buffer is not created with allocateDirect, JNI APIs will return a data pointer of nullptr and a capacity of -1. This can cause a crash when we access it.

Also clean up the code to raise exceptions instead of just logging errors and returning nullptr.

PiperOrigin-RevId: 489751312
2022-11-19 21:04:48 -08:00
MediaPipe TeamandCopybara-Service 977ee4272e Add public visibility to the model maker public API.
PiperOrigin-RevId: 489701768
2022-11-19 10:53:21 -08:00
Sebastian SchmidtandCopybara-Service bbcbd5fc6c Audio Embedder for Web
PiperOrigin-RevId: 489669966
2022-11-19 04:49:24 -08:00
Sebastian SchmidtandCopybara-Service e853f04b79 Create AudioTaskRunner
PiperOrigin-RevId: 489613573
2022-11-18 19:55:08 -08:00
Camillo LugaresiandCopybara-Service eb8ef1ace0 Use shared_from_this in GlTextureBuffer::GetReadView, GetWriteView
This ensures that the callbacks in GlTextureView won't call an expired object, even if user code holds a GlTextureView after releasing the buffer.

Note that GlTextureBuffer is not always held by a shared_ptr, but it always is when GpuBuffer calls GetRead/WriteView on it. An alternative solution would have been to have GpuBuffer pass its shared_ptr<GlTextureBuffer> to the view method, which could have been implemented with some compile-time logic to detect whether the method expects such an argument. However, that doesn't seem necessary.

PiperOrigin-RevId: 489611843
2022-11-18 19:42:34 -08:00
MediaPipe TeamandCopybara-Service bbd5da7971 Added the gray scale image support for the ImageToTensorCalculator on CPU.
PiperOrigin-RevId: 489593917
2022-11-18 17:12:57 -08:00
MediaPipe TeamandCopybara-Service 524ac3ca61 Internal change for Model Maker
PiperOrigin-RevId: 489540387
2022-11-18 12:48:30 -08:00
Jiuqiang TangandCopybara-Service 1b594a0310 Return error status when any tflite input and output tensor doesn't have valid dimensionality information that is needed to allocate Gl/Metal buffer before calling ModifyGraphWithDelegate.
PiperOrigin-RevId: 489539740
2022-11-18 12:44:55 -08:00
Sebastian SchmidtandCopybara-Service 71ae496a20 Add AudioEmbedder documentation
PiperOrigin-RevId: 489532283
2022-11-18 12:12:41 -08:00
MediaPipe TeamandCopybara-Service e2052a6a51 Rename embedding postprocessor "configure" method for consistency with classification postprocessor.
PiperOrigin-RevId: 489518257
2022-11-18 11:13:10 -08:00