[libcamera-devel] [PATCH 4/8] libcamera: pipeline: ipu3: frames: Use the request sequence
Niklas Söderlund
niklas.soderlund at ragnatech.se
Sat Mar 13 00:31:25 CET 2021
Hi Kieran,
On 2021-03-12 06:11:27 +0000, Kieran Bingham wrote:
> For all frame indexes, use the same sequence number as generated
> by the Request object.
>
> This allows clear matching of what operations occured to which request.
nit-pick: This will not be true if we need to queue buffers internally
(without a request) to feed the 3A right? I think this change may be a
step in the right direction just wanted to bring up why an internal id
was used.
>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/pipeline/ipu3/frames.cpp | 4 +---
> src/libcamera/pipeline/ipu3/frames.h | 1 -
> 2 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/frames.cpp b/src/libcamera/pipeline/ipu3/frames.cpp
> index 151ebfe7ca5f..4198e2019f3f 100644
> --- a/src/libcamera/pipeline/ipu3/frames.cpp
> +++ b/src/libcamera/pipeline/ipu3/frames.cpp
> @@ -18,7 +18,6 @@ namespace libcamera {
> LOG_DECLARE_CATEGORY(IPU3)
>
> IPU3Frames::IPU3Frames()
> - : nextId_(0)
> {
> }
>
> @@ -31,7 +30,6 @@ void IPU3Frames::init(const std::vector<std::unique_ptr<FrameBuffer>> ¶mBuff
> for (const std::unique_ptr<FrameBuffer> &buffer : statBuffers)
> availableStatBuffers_.push(buffer.get());
>
> - nextId_ = 0;
> frameInfo_.clear();
> }
>
> @@ -43,7 +41,7 @@ void IPU3Frames::clear()
>
> IPU3Frames::Info *IPU3Frames::create(Request *request)
> {
> - unsigned int id = nextId_++;
> + unsigned int id = request->sequence();
>
> if (availableParamBuffers_.empty()) {
> LOG(IPU3, Error) << "Parameters buffer underrun";
> diff --git a/src/libcamera/pipeline/ipu3/frames.h b/src/libcamera/pipeline/ipu3/frames.h
> index 106e5c15cc7a..4acdf48eca9d 100644
> --- a/src/libcamera/pipeline/ipu3/frames.h
> +++ b/src/libcamera/pipeline/ipu3/frames.h
> @@ -53,7 +53,6 @@ private:
> std::queue<FrameBuffer *> availableParamBuffers_;
> std::queue<FrameBuffer *> availableStatBuffers_;
>
> - unsigned int nextId_;
> std::map<unsigned int, std::unique_ptr<Info>> frameInfo_;
> };
>
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list