summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-05-03 13:20:27 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-05-04 20:47:40 +0300
commit726e9274ea95fa46352556d340c5793a8da51fcd (patch)
tree80f6adcdbf744f9317e09eff3e80c602b384a753 /src/libcamera/pipeline
parent46aefed208fef4bc8d6f6e8882b92b9af710a60b (diff)
pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code
Split the Raspberry Pi pipeline handler and IPA source code into common and VC4/BCM2835 specific file structures. For the pipeline handler, the common code files now live in src/libcamera/pipeline/rpi/common/ and the VC4-specific files in src/libcamera/pipeline/rpi/vc4/. For the IPA, the common code files now live in src/ipa/rpi/{cam_helper,controller}/ and the vc4 specific files in src/ipa/rpi/vc4/. With this change, the camera tuning files are now installed under share/libcamera/ipa/rpi/vc4/. To build the pipeline and IPA, the meson configuration options have now changed from "raspberrypi" to "rpi/vc4": meson setup build -Dipas=rpi/vc4 -Dpipelines=rpi/vc4 Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline')
-rw-r--r--src/libcamera/pipeline/rpi/common/delayed_controls.cpp (renamed from src/libcamera/pipeline/raspberrypi/delayed_controls.cpp)0
-rw-r--r--src/libcamera/pipeline/rpi/common/delayed_controls.h (renamed from src/libcamera/pipeline/raspberrypi/delayed_controls.h)0
-rw-r--r--src/libcamera/pipeline/rpi/common/meson.build6
-rw-r--r--src/libcamera/pipeline/rpi/common/rpi_stream.cpp (renamed from src/libcamera/pipeline/raspberrypi/rpi_stream.cpp)0
-rw-r--r--src/libcamera/pipeline/rpi/common/rpi_stream.h (renamed from src/libcamera/pipeline/raspberrypi/rpi_stream.h)0
-rw-r--r--src/libcamera/pipeline/rpi/meson.build12
-rw-r--r--src/libcamera/pipeline/rpi/vc4/data/example.yaml (renamed from src/libcamera/pipeline/raspberrypi/data/example.yaml)0
-rw-r--r--src/libcamera/pipeline/rpi/vc4/data/meson.build (renamed from src/libcamera/pipeline/raspberrypi/data/meson.build)2
-rw-r--r--src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp (renamed from src/libcamera/pipeline/raspberrypi/dma_heaps.cpp)0
-rw-r--r--src/libcamera/pipeline/rpi/vc4/dma_heaps.h (renamed from src/libcamera/pipeline/raspberrypi/dma_heaps.h)0
-rw-r--r--src/libcamera/pipeline/rpi/vc4/meson.build (renamed from src/libcamera/pipeline/raspberrypi/meson.build)2
-rw-r--r--src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp (renamed from src/libcamera/pipeline/raspberrypi/raspberrypi.cpp)6
12 files changed, 22 insertions, 6 deletions
diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.cpp b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp
index 3db92e7d..3db92e7d 100644
--- a/src/libcamera/pipeline/raspberrypi/delayed_controls.cpp
+++ b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp
diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h
index 61f755f0..61f755f0 100644
--- a/src/libcamera/pipeline/raspberrypi/delayed_controls.h
+++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h
diff --git a/src/libcamera/pipeline/rpi/common/meson.build b/src/libcamera/pipeline/rpi/common/meson.build
new file mode 100644
index 00000000..2ad594cf
--- /dev/null
+++ b/src/libcamera/pipeline/rpi/common/meson.build
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: CC0-1.0
+
+libcamera_sources += files([
+ 'delayed_controls.cpp',
+ 'rpi_stream.cpp',
+])
diff --git a/src/libcamera/pipeline/raspberrypi/rpi_stream.cpp b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp
index 2bb10f25..2bb10f25 100644
--- a/src/libcamera/pipeline/raspberrypi/rpi_stream.cpp
+++ b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp
diff --git a/src/libcamera/pipeline/raspberrypi/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h
index b8bd79cf..b8bd79cf 100644
--- a/src/libcamera/pipeline/raspberrypi/rpi_stream.h
+++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h
diff --git a/src/libcamera/pipeline/rpi/meson.build b/src/libcamera/pipeline/rpi/meson.build
new file mode 100644
index 00000000..2391b6a9
--- /dev/null
+++ b/src/libcamera/pipeline/rpi/meson.build
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: CC0-1.0
+
+subdir('common')
+
+foreach pipeline : pipelines
+ pipeline = pipeline.split('/')
+ if pipeline.length() < 2 or pipeline[0] != 'rpi'
+ continue
+ endif
+
+ subdir(pipeline[1])
+endforeach
diff --git a/src/libcamera/pipeline/raspberrypi/data/example.yaml b/src/libcamera/pipeline/rpi/vc4/data/example.yaml
index c90f518f..c90f518f 100644
--- a/src/libcamera/pipeline/raspberrypi/data/example.yaml
+++ b/src/libcamera/pipeline/rpi/vc4/data/example.yaml
diff --git a/src/libcamera/pipeline/raspberrypi/data/meson.build b/src/libcamera/pipeline/rpi/vc4/data/meson.build
index 1c70433b..cca5e388 100644
--- a/src/libcamera/pipeline/raspberrypi/data/meson.build
+++ b/src/libcamera/pipeline/rpi/vc4/data/meson.build
@@ -5,4 +5,4 @@ conf_files = files([
])
install_data(conf_files,
- install_dir : pipeline_data_dir / 'raspberrypi')
+ install_dir : pipeline_data_dir / 'rpi' / 'vc4')
diff --git a/src/libcamera/pipeline/raspberrypi/dma_heaps.cpp b/src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp
index 317b1fc1..317b1fc1 100644
--- a/src/libcamera/pipeline/raspberrypi/dma_heaps.cpp
+++ b/src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp
diff --git a/src/libcamera/pipeline/raspberrypi/dma_heaps.h b/src/libcamera/pipeline/rpi/vc4/dma_heaps.h
index 0a4a8d86..0a4a8d86 100644
--- a/src/libcamera/pipeline/raspberrypi/dma_heaps.h
+++ b/src/libcamera/pipeline/rpi/vc4/dma_heaps.h
diff --git a/src/libcamera/pipeline/raspberrypi/meson.build b/src/libcamera/pipeline/rpi/vc4/meson.build
index 59e8fb18..228823f3 100644
--- a/src/libcamera/pipeline/raspberrypi/meson.build
+++ b/src/libcamera/pipeline/rpi/vc4/meson.build
@@ -1,10 +1,8 @@
# SPDX-License-Identifier: CC0-1.0
libcamera_sources += files([
- 'delayed_controls.cpp',
'dma_heaps.cpp',
'raspberrypi.cpp',
- 'rpi_stream.cpp',
])
subdir('data')
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp
index 00600441..af464d15 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp
@@ -2,7 +2,7 @@
/*
* Copyright (C) 2019-2021, Raspberry Pi Ltd
*
- * raspberrypi.cpp - Pipeline handler for Raspberry Pi devices
+ * raspberrypi.cpp - Pipeline handler for VC4-based Raspberry Pi devices
*/
#include <algorithm>
#include <assert.h>
@@ -43,9 +43,9 @@
#include "libcamera/internal/v4l2_videodevice.h"
#include "libcamera/internal/yaml_parser.h"
-#include "delayed_controls.h"
+#include "../common/delayed_controls.h"
+#include "../common/rpi_stream.h"
#include "dma_heaps.h"
-#include "rpi_stream.h"
using namespace std::chrono_literals;