| /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
| /* |
| * Copyright (C) 2020, Google Inc. |
| * |
| * post_processor.h - CameraStream Post Processing Interface |
| */ |
| |
| #pragma once |
| |
| #include <libcamera/base/signal.h> |
| |
| #include <libcamera/framebuffer.h> |
| #include <libcamera/stream.h> |
| |
| #include "camera_buffer.h" |
| #include "camera_request.h" |
| |
| class PostProcessor |
| { |
| public: |
| enum class Status { |
| Error, |
| Success |
| }; |
| |
| virtual ~PostProcessor() = default; |
| |
| virtual int configure(const libcamera::StreamConfiguration &inCfg, |
| const libcamera::StreamConfiguration &outCfg) = 0; |
| virtual void process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) = 0; |
| |
| libcamera::Signal<Camera3RequestDescriptor::StreamBuffer *, Status> processComplete; |
| }; |