From daf1cf0c737bdee9e42a9aaf64af997609a90951 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Tue, 22 Jun 2021 13:02:08 +0530 Subject: src: Import MappedBuffer class from libcamera This libcamera internal class, needs to be imported from libcamera code base, in order to have standalone ipu3-ipa build. Other libcamera components required by ipu3-ipa, will be linked through libcamera_platform.so in subsequent commit. Signed-off-by: Umang Jain --- include/libcamera-helpers/mapped_buffer.h | 53 +++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 include/libcamera-helpers/mapped_buffer.h (limited to 'include') diff --git a/include/libcamera-helpers/mapped_buffer.h b/include/libcamera-helpers/mapped_buffer.h new file mode 100644 index 0000000..b34a70c --- /dev/null +++ b/include/libcamera-helpers/mapped_buffer.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2020, Google Inc. + * + * buffer.h - Internal buffer handling + */ +#ifndef __LIBCAMERA_MAPPED_BUFFER_H__ +#define __LIBCAMERA_MAPPED_BUFFER_H__ + +#include +#include + +#include +#include + +#include + +namespace libcamera { + +class MappedBuffer +{ +public: + using Plane = Span; + + ~MappedBuffer(); + + MappedBuffer(MappedBuffer &&other); + MappedBuffer &operator=(MappedBuffer &&other); + + bool isValid() const { return error_ == 0; } + int error() const { return error_; } + const std::vector &maps() const { return maps_; } + +protected: + MappedBuffer(); + + int error_; + std::vector maps_; + +private: + LIBCAMERA_DISABLE_COPY(MappedBuffer) +}; + +class MappedFrameBuffer : public MappedBuffer +{ +public: + MappedFrameBuffer(const FrameBuffer *buffer, int flags); +}; + +} /* namespace libcamera */ + +#endif /* __LIBCAMERA_MAPPED_BUFFER_H__ */ + -- cgit v1.2.1