[libcamera-devel] [PATCH 1/2] ipa: vimc: Establish logical order of operations
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri Apr 8 13:43:42 CEST 2022
Quoting Umang Jain via libcamera-devel (2022-04-08 11:54:38)
> It is preferred that the interface definition should represent
> the logical order in which the operations will be called.
>
> The patch has no functional changes.
>
> Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
If this is the ordering used by IPU3 and RKISP then certainly.
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> include/libcamera/ipa/vimc.mojom | 2 +-
> src/ipa/vimc/vimc.cpp | 12 ++++++------
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/include/libcamera/ipa/vimc.mojom b/include/libcamera/ipa/vimc.mojom
> index e5ac3609..cdc03ffb 100644
> --- a/include/libcamera/ipa/vimc.mojom
> +++ b/include/libcamera/ipa/vimc.mojom
> @@ -30,6 +30,7 @@ interface IPAVimcInterface {
> mapBuffers(array<libcamera.IPABuffer> buffers);
> unmapBuffers(array<uint32> ids);
>
> + [async] queueRequest(uint32 frame, libcamera.ControlList controls);
> /*
> * The vimc driver doesn't use parameters buffers. To maximize coverage
> * of unit tests that rely on the VIMC pipeline handler, we still define
> @@ -37,7 +38,6 @@ interface IPAVimcInterface {
> * handle parameters at runtime.
> */
> [async] fillParams(uint32 frame, uint32 bufferId);
> - [async] queueRequest(uint32 frame, libcamera.ControlList controls);
> };
>
> interface IPAVimcEventInterface {
> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp
> index 315302c6..a62e72b0 100644
> --- a/src/ipa/vimc/vimc.cpp
> +++ b/src/ipa/vimc/vimc.cpp
> @@ -43,8 +43,8 @@ public:
> void mapBuffers(const std::vector<IPABuffer> &buffers) override;
> void unmapBuffers(const std::vector<unsigned int> &ids) override;
>
> - void fillParams(uint32_t frame, uint32_t bufferId) override;
> void queueRequest(uint32_t frame, const ControlList &controls) override;
> + void fillParams(uint32_t frame, uint32_t bufferId) override;
>
> private:
> void initTrace();
> @@ -129,6 +129,11 @@ void IPAVimc::unmapBuffers(const std::vector<unsigned int> &ids)
> }
> }
>
> +void IPAVimc::queueRequest([[maybe_unused]] uint32_t frame,
> + [[maybe_unused]] const ControlList &controls)
> +{
> +}
> +
> void IPAVimc::fillParams([[maybe_unused]] uint32_t frame, uint32_t bufferId)
> {
> auto it = buffers_.find(bufferId);
> @@ -140,11 +145,6 @@ void IPAVimc::fillParams([[maybe_unused]] uint32_t frame, uint32_t bufferId)
> paramsFilled.emit(bufferId);
> }
>
> -void IPAVimc::queueRequest([[maybe_unused]] uint32_t frame,
> - [[maybe_unused]] const ControlList &controls)
> -{
> -}
> -
> void IPAVimc::initTrace()
> {
> struct stat fifoStat;
> --
> 2.31.0
>
More information about the libcamera-devel
mailing list