Working on SoftISP
Find a file
Laurent Pinchart a2bcf6feee libcamera: buffer: Split memory information to BufferMemory
The Buffer class is a large beast the stores information about the
buffer memory, dynamic metadata related to the frame stored in the
buffer, and buffer reference data (in the index). In order to implement
buffer import we will need to extend this with dmabuf file descriptors,
making usage of the class even more complex.

Refactor the Buffer class by splitting the buffer memory information to
a BufferMemory class, and repurposing the Buffer class to reference a
buffer and to store dynamic metadata. The BufferMemory class becomes a
long term storage, valid and stable from the time buffer memory is
allocated to the time it is freed. The Buffer class, on the other hand,
becomes transient, is created on demand when an application requires a
buffer, is given to a request, and is deleted when the request
completes.

Buffer and BufferMemory don't need to be copied, so their copy
constructor and assignment operators are deleted.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-07-14 16:00:54 +03:00
Documentation libcamera: add IPA proxy 2019-07-12 16:32:29 +09:00
include libcamera: buffer: Split memory information to BufferMemory 2019-07-14 16:00:54 +03:00
licenses licenses: Add the Developer CoO 2019-01-02 21:59:46 +02:00
package/gentoo/media-libs/libcamera package: gentoo: Add libcamera ebuild 2019-05-02 16:36:16 +03:00
src libcamera: buffer: Split memory information to BufferMemory 2019-07-14 16:00:54 +03:00
test libcamera: buffer: Split memory information to BufferMemory 2019-07-14 16:00:54 +03:00
utils libcamera: skip auto version generation when building for Chromium OS 2019-07-11 12:22:40 +09:00
.clang-format clang-format: Remove space after template 2019-02-13 13:23:32 +02:00
.gitignore git: Add .gitignore file 2018-12-14 13:23:07 +00:00
meson.build libcamera: skip auto version generation when building for Chromium OS 2019-07-11 12:22:40 +09:00
meson_options.txt meson: options: Document the options 2019-04-03 11:44:04 +07:00
README.md README: Update build instructions 2018-11-26 15:52:21 +00:00

libcamera: A complex camera support library for Linux, Android, and ChromeOS

To build and install:

  meson build
  cd build
  ninja
  ninja install