diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ipa/rkisp1/rkisp1.cpp | 11 | ||||
-rw-r--r-- | src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp index 13ab1cdc..ef1f0d56 100644 --- a/src/ipa/rkisp1/rkisp1.cpp +++ b/src/ipa/rkisp1/rkisp1.cpp @@ -54,8 +54,8 @@ public: void mapBuffers(const std::vector<IPABuffer> &buffers) override; void unmapBuffers(const std::vector<unsigned int> &ids) override; - void queueRequest(const uint32_t frame, const uint32_t bufferId, - const ControlList &controls) override; + void queueRequest(const uint32_t frame, const ControlList &controls) override; + void fillParamsBuffer(const uint32_t frame, const uint32_t bufferId) override; void processStatsBuffer(const uint32_t frame, const uint32_t bufferId, const ControlList &sensorControls) override; private: @@ -235,9 +235,14 @@ void IPARkISP1::unmapBuffers(const std::vector<unsigned int> &ids) } } -void IPARkISP1::queueRequest(const uint32_t frame, const uint32_t bufferId, +void IPARkISP1::queueRequest([[maybe_unused]] const uint32_t frame, [[maybe_unused]] const ControlList &controls) { + /* \todo Start processing for 'frame' based on 'controls'. */ +} + +void IPARkISP1::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId) +{ rkisp1_params_cfg *params = reinterpret_cast<rkisp1_params_cfg *>( mappedBuffers_.at(bufferId).planes()[0].data()); diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index e6fc582b..1624e2ec 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -855,8 +855,9 @@ int PipelineHandlerRkISP1::queueRequestDevice(Camera *camera, Request *request) if (!info) return -ENOENT; - data->ipa_->queueRequest(data->frame_, info->paramBuffer->cookie(), - request->controls()); + data->ipa_->queueRequest(data->frame_, request->controls()); + data->ipa_->fillParamsBuffer(data->frame_, info->paramBuffer->cookie()); + data->frame_++; return 0; |