Make uploading to GPU optional in Image.GetGpuBuffer().

PiperOrigin-RevId: 529066617
This commit is contained in:
MediaPipe Team 2023-05-03 05:55:25 -07:00 committed by Copybara-Service
parent 3789156a41
commit baa8fc68a1
2 changed files with 7 additions and 6 deletions

View File

@ -95,7 +95,8 @@ absl::Status FrameBufferProcessor::Convert(const mediapipe::Image& input,
static_cast<int>(range_max) == 255); static_cast<int>(range_max) == 255);
} }
auto input_frame = input.GetGpuBuffer().GetReadView<FrameBuffer>(); auto input_frame =
input.GetGpuBuffer(/*upload_to_gpu=*/false).GetReadView<FrameBuffer>();
const auto& output_shape = output_tensor.shape(); const auto& output_shape = output_tensor.shape();
MP_RETURN_IF_ERROR(ValidateTensorShape(output_shape)); MP_RETURN_IF_ERROR(ValidateTensorShape(output_shape));
FrameBuffer::Dimension output_dimension{/*width=*/output_shape.dims[2], FrameBuffer::Dimension output_dimension{/*width=*/output_shape.dims[2],

View File

@ -113,11 +113,11 @@ class Image {
#endif // MEDIAPIPE_GPU_BUFFER_USE_CV_PIXEL_BUFFER #endif // MEDIAPIPE_GPU_BUFFER_USE_CV_PIXEL_BUFFER
#endif // !MEDIAPIPE_DISABLE_GPU #endif // !MEDIAPIPE_DISABLE_GPU
// Get a GPU view. Automatically uploads from CPU if needed. // Provides access to the underlying GpuBuffer storage.
const mediapipe::GpuBuffer GetGpuBuffer() const { // Automatically uploads from CPU to GPU if needed and requested through the
#if !MEDIAPIPE_DISABLE_GPU // `upload_to_gpu` argument.
if (use_gpu_ == false) ConvertToGpu(); const mediapipe::GpuBuffer GetGpuBuffer(bool upload_to_gpu = true) const {
#endif // !MEDIAPIPE_DISABLE_GPU if (!use_gpu_ && upload_to_gpu) ConvertToGpu();
return gpu_buffer_; return gpu_buffer_;
} }