camera: Use pre-allocated vector for camera data

And avoid an unnecessary copy
This commit is contained in:
ameerj 2022-12-15 22:50:36 -05:00
parent 016590e25d
commit 2d9fc5d05b
4 changed files with 12 additions and 9 deletions

View file

@ -17,7 +17,7 @@ Camera::Camera(std::string input_engine_) : InputEngine(std::move(input_engine_)
PreSetController(identifier);
}
void Camera::SetCameraData(std::size_t width, std::size_t height, std::vector<u32> data) {
void Camera::SetCameraData(std::size_t width, std::size_t height, std::span<const u32> data) {
const std::size_t desired_width = getImageWidth();
const std::size_t desired_height = getImageHeight();
status.data.resize(desired_width * desired_height);

View file

@ -3,6 +3,8 @@
#pragma once
#include <span>
#include "input_common/input_engine.h"
namespace InputCommon {
@ -15,7 +17,7 @@ class Camera final : public InputEngine {
public:
explicit Camera(std::string input_engine_);
void SetCameraData(std::size_t width, std::size_t height, std::vector<u32> data);
void SetCameraData(std::size_t width, std::size_t height, std::span<const u32> data);
std::size_t getImageWidth() const;
std::size_t getImageHeight() const;