android: post_processor: Consolidate contextual information

Save and provide the context for post-processor of a camera stream
via Camera3RequestDescriptor::StreamBuffer. We extend the structure
to include source and destination buffers for the post processor, along
with CameraStream::Type::Internal buffer pointer (if any). In addition
to that, a back pointer to Camera3RequestDescriptor is convenient to
get access to overall descriptor (status, metadata settings etc.).

Also, migrate CameraStream::process() and PostProcessor::process()
signature to use Camera3RequestDescriptor::StreamBuffer only. This
will be helpful when we move to async post-processing in subsequent
commits.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
This commit is contained in:
Umang Jain 2021-10-26 12:51:45 +05:30
parent 64bcbd0e2c
commit 79cdb1f19d
10 changed files with 44 additions and 40 deletions

View file

@ -9,6 +9,8 @@
#include <libcamera/base/span.h>
#include "camera_buffer.h"
using namespace libcamera;
/*
@ -36,7 +38,8 @@ Camera3RequestDescriptor::Camera3RequestDescriptor(
static_cast<CameraStream *>(buffer.stream->priv);
buffers_.push_back({ stream, buffer.buffer, nullptr,
buffer.acquire_fence, Status::Success });
buffer.acquire_fence, Status::Success,
nullptr, nullptr, nullptr, this });
}
/* Clone the controls associated with the camera3 request. */