Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
ec5e948
core: Allow dynamic loading of postprocessing stages
naushir May 10, 2024
56604de
postprocessing: Split existing postproc stages into loadable so files
naushir May 13, 2024
2d72ea5
postprocessing: More robust factory handling for postproc stages
naushir May 13, 2024
4616aa5
options: Add custom postprocessing lib path option
naushir May 13, 2024
42fca03
postprocessor: Add Yuv420ToRgb override passing a destination pointer
naushir May 14, 2024
c8351a0
build: Use 'feature' type for all meson options.
naushir May 14, 2024
e4484de
postprocessing: Add Hailo AI postprocessing stages
naushir Feb 28, 2024
49344f2
build: Update release version to v1.5.0
naushir May 30, 2024
288e3c3
tests: Relax min test times
naushir Jun 14, 2024
06cc09a
gen_orig.yml: generate hailo-models tarball
XECDesign May 30, 2024
b2b8331
core: Update dma_heaps license to BSD-2-Clause
naushir Jun 17, 2024
4ec534b
build: Install JSON assets
naushir Jun 20, 2024
09f728a
core: postprcessing: Set low res output config through the JSON file
naushir Jul 18, 2024
01bd29f
postprocessing: hailo: Allow Hailo stages to use ISP the lores output
naushir Jul 18, 2024
7a9c213
assets: Add low res config to the Hailo postprocessing examples
naushir Jul 18, 2024
18fc2d1
postprocessing: hailo: Remove hardcoded input tensor sizes
naushir Jun 21, 2024
a2b156f
rpicam_still: Use std::filesystem to create latest symlink
naushir Jul 19, 2024
511941f
core: Better handling of IMX708 sensor HDR
naushir Aug 12, 2024
839184f
options: Add StreamRole::Viewfinder when enumerating for --list-cameras
naushir Aug 12, 2024
569f7fc
postprocess: hailo: Handle multiple scaler crops on the ISP outputs
naushir Aug 6, 2024
7a64426
core: Add aspect ratio control for lores stream
naushir Aug 7, 2024
8b12193
gen_orig.yml: fix workflow
XECDesign Sep 2, 2024
87974bf
build: hailo: Test for Tappas libdir
naushir Sep 5, 2024
9f418f0
postprocessing: hailo: Using single filtering call for NMS/non-NMS ne…
naushir Sep 5, 2024
b349960
postprocessing: hailo: Update Yolov5 person/face hef file
naushir Sep 5, 2024
d7a1a13
build: Update release version to v1.5.1
naushir Aug 29, 2024
cea7388
core: Add 14-bit format support
schoolpost Sep 14, 2024
f95c7c7
core: Add release version number to version string
naushir Sep 6, 2024
73d9a35
postprocessing: plot_pose_cv_stage: Support multiple poses
naushir Sep 10, 2024
963e7d5
postprocessing: Add initial support for IMX500 postprocessing
naushir Sep 6, 2024
82e1bdd
Update gen_orig.yml workflow
XECDesign Sep 18, 2024
a8ccf9f
build: Update release version to v1.5.2
naushir Sep 27, 2024
ba2c497
imx500: Remove Yolov8 model until licensing has been agreed
naushir Oct 3, 2024
673ee33
postprocessing: hailo: Add singeton for vdevice
naushir Oct 8, 2024
6de1ab6
core: build: Add capabilities string to the version information.
naushir Oct 11, 2024
613d95d
build: Disable NN model downloads by default
naushir Oct 22, 2024
4ac10f7
postprocessing: hailo: Add RGB display thread
naushir Nov 1, 2024
ca21b19
postprocessing: hailo: Add support for Hailo 8 devices
naushir Nov 1, 2024
c17a416
utils: hailo: Add new Hailo 8 models
naushir Nov 1, 2024
15c87b8
postprocessing: hailo: Add scrfd facial landmarking stage
naushir Nov 1, 2024
91ea390
postprocessing: hailo: Update pose estimation stage to use the displa…
naushir Nov 1, 2024
f3fab87
postprocessing: hailo: Add multi-network example stage
naushir Nov 1, 2024
2b61eca
postprocessing: hailo: Removed unused asset file
naushir Nov 4, 2024
65e076b
postprocess: build: Correct include paths
naushir Nov 5, 2024
225bef2
core: Use controls::ScalerCrop on VC4 platforms
naushir Nov 5, 2024
5c5da49
postrpocessing: imx500: Update MAX_NUM_TENSORS and MAX_NUM_DIMENSIONS
naushir Nov 11, 2024
50958df
build: Update release version to v1.5.3
naushir Nov 12, 2024
6318ac7
imx500: Remove imx500_network_levit_128s
naushir Nov 19, 2024
6287bff
libav: Add a low latency encode option
naushir Nov 27, 2024
b78871e
postprocess: hailo: Fix .hef file names for yolov6 and yolox
Rishi-k-s Dec 4, 2024
2b7c507
postprocess: hailo: Fix swapped HEF file names for pose estimation
naushir Jan 7, 2025
ee54280
core: Use extern "C" for RPiCamAppsVersion() call
naushir Jan 7, 2025
e821e4a
motion-detect: Add region name parameter
NicHoza Jan 5, 2025
18f2323
postprocess: hailo: Update for Tappas v3.31.0 API changes.
naushir Jan 23, 2025
9d59fe6
rpicam-vid: Update for camera sync algorithm
naushir Jun 20, 2024
025ca84
build: Update release version to v1.6.0
naushir Jan 24, 2025
b7632f4
In sync mode, count timers and frames only when sync is achieved
davidplowman Feb 14, 2025
9b35129
Fix crash quitting when sychronisation has never happened
davidplowman Feb 14, 2025
c02560a
rpicam-vid: Fix typo in help text
mjforan Feb 13, 2025
74abee8
core: Set the lores colourspace to match the main stream colourspace.
naushir Feb 27, 2025
6106d93
build: Add pkgconfig file output from meson
naushir Apr 1, 2025
530b812
libav: Use avcodec_get_supported_config instead of deprecated struct …
r41k0u Apr 1, 2025
77e7d2d
core: Initialise the camera manager from GetCameraManager() if needed
naushir Apr 24, 2025
4d6da1b
libav: Make incompatible options fatal
naushir Apr 24, 2025
363394f
core: Use the new AE control mechanism
naushir Apr 28, 2025
5a3f596
build: Update release version to v1.7.0
naushir Apr 24, 2025
b6e0d29
core: Add sensor temperature reporting
naushir Jun 2, 2025
1a64a19
postprocessing: Add AcousticFocusStage
May 30, 2025
057add6
build: Remove leagay libcamera* symlinks
naushir Jun 3, 2025
c529096
core: Add "disable_rpi_features" meson option
naushir Jun 4, 2025
a578a98
core: Update checks for disable_rpi_features option
nullr0ute Jun 8, 2025
6b353d7
postprocess: acoustic_focus: Fix complier warning
naushir Jun 9, 2025
a971ab7
readme: Updates for the symlink removal
naushir Jun 9, 2025
2437ab2
postproc: hailo: Fix for segmentation demo
naushir Jun 13, 2025
faaced6
options: Hide the options object from the public API
naushir Jun 12, 2025
e964523
build: Change rpicam_app library name and soversion numbering format
naushir Jun 10, 2025
07fab7e
core: Hide startup frames
naushir Jun 23, 2025
620f517
encoder: Use wall clock for framebuffer timestamps
naushir Jun 23, 2025
c72763a
libav: Improve audio/video recording sync
naushir Jun 23, 2025
73d9b44
apps: rpicam_detect: Fixups for the options parser
naushir Jun 26, 2025
da7d16e
libav: Allow restricted use of the Output class with libav_encoder
naushir Jun 26, 2025
b4b6d1f
build: Update release version to v1.8.0
naushir Jul 7, 2025
1f78a4b
core: Add 16-bit modes to the mode_to_pixel_format() helper
naushir Jul 14, 2025
a2080b9
build: Switch to using a config file from meson
naushir Jul 14, 2025
269daba
core: Add DlLib helper
naushir Jul 14, 2025
5b1efeb
previews: Allow dynamic loading so files for preview types
naushir Jul 14, 2025
4908ce4
encoder: Allow dynamic loading so files for encoders
naushir Jul 14, 2025
8db7f8f
tests: Add preview-dir and encoder-dir to the test script
naushir Jul 16, 2025
eb293b0
build: Update release version to v1.8.1
naushir Jul 16, 2025
3b01de4
core: Fix posible static initialiser order fiasco problems
naushir Jul 22, 2025
d699392
options: Remove unused config.h include
naushir Jul 23, 2025
0d8c6cf
build: Try alternate cc.find_library() search for tflite
naushir Jul 28, 2025
19cb9f6
postproc: UDP info broadcast for object_detect_draw
HefnySco Aug 1, 2025
c72d8ea
apps: Warn on Pi 5s when still capture will not use temporal denoise
davidplowman Aug 21, 2025
ad24c7b
tests: encoder: Switch controls::FrameWallClock to nanoseconds
naushir Jul 10, 2025
962af1e
Add --ccm option to set a manual CCM
davidplowman Aug 22, 2025
eca9928
build: Update release version to v1.9.0
naushir Sep 3, 2025
61fba02
postprocess: object_detect_udp: Fix compiler warnings and styling
naushir Sep 5, 2025
12ef999
utils: Updates test scrip to use videodev2
naushir Sep 11, 2025
2cb76c3
postprocessing: segmentation: add missing header
OldManYellsAtCloud Sep 13, 2025
fd3b2a7
preview: Switch to Qt6
naushir Sep 23, 2025
0a6609e
postprocess: tensorflow: Remove unused include
naushir Sep 29, 2025
d67bc17
encoder: libav: Updates for ffmpeg v7.1
naushir Oct 8, 2025
cbe9921
encoders: libav: Remove support for LIBAVUTIL_VERSION_MAJOR < 62
naushir Oct 8, 2025
81475c8
encoders: libav: Simplify audio sync handling with new APIs
naushir Oct 8, 2025
a7763b5
build: Update release version to v1.9.1
naushir Oct 9, 2025
6782818
build: Simplify the version file generation
naushir Oct 9, 2025
ee2086f
postprocess: object_detect_udp_stage: Fix compiler warnings
naushir Oct 21, 2025
f3011b5
core: Switch libcamera string controls to use std::string_view
naushir Oct 16, 2025
477e1e8
postprocess: hailo: Updates for Hailo support on Trixie
naushir Sep 10, 2025
24906da
build: Update release version to v1.10.0
naushir Oct 24, 2025
5c6136a
Fix help message for --zsl option
davidplowman Nov 26, 2025
59fd439
build: Update release to v1.10.1
naushir Nov 27, 2025
725f14c
apps: Fix rpicam-jpeg --metadata option
Kletternaut Dec 11, 2025
4bf0605
dng: Add support for mono formats
naushir Dec 11, 2025
987fbd8
build: Remove NN model downloads
naushir Dec 5, 2025
8467285
core: Allow custom floags for dlopen
naushir Dec 17, 2025
8b1c95b
postpocess: hailo: Add initial Hailo H10 support
naushir Aug 12, 2025
4b7831d
postprocess: hailo: Rework Hailo device architecture identification
naushir Dec 18, 2025
d92a651
build: Update relase to v1.11.0
naushir Dec 18, 2025
ad0a10a
Check correctly for protocols that handle their own files
davidplowman Jan 5, 2026
d821489
Improve software sync when frames are missing sync metadata
davidplowman Jan 6, 2026
baaf80b
post_processing: Add object_blur stage for privacy-focused live blurring
Kletternaut Jan 14, 2026
d1d9482
build: Supress C11 extension errors in clang builds
naushir Jan 21, 2026
5bf5f80
core: Don't overwrite request controls
naushir Feb 2, 2026
2ebb582
build: Update relase to v1.11.1
naushir Feb 2, 2026
8b7be4e
image: dng: Fix for packed monochrome formats
njhollinghurst Feb 11, 2026
f9b89b8
actions: Switch to new test system
naushir Mar 10, 2026
3bf3bfe
rpicam_detect: Fix unused variable warning
naushir Mar 19, 2026
a02c006
tests: Add hailo and imx500 tests
naushir Mar 19, 2026
730f74c
ci: Fix script to run on forks
naushir Mar 19, 2026
e590ea7
tests: Add dual camera test
naushir Mar 19, 2026
593f63b
postprocess: hailo: Workaround an exception in the hailort library
naushir Mar 20, 2026
3d55142
ci: Replace checkstyle.py with pre-commit framework
naushir Apr 9, 2026
11e228e
build: Switch to C++ 20
naushir Apr 20, 2026
f95ac21
tests: Skip detect test when object_detect_tf.json is missing
naushir Apr 22, 2026
f5174e5
build: Update relase to v1.12.0
naushir Apr 29, 2026
4c79698
tests: Add bypass when testing imx296
naushir May 5, 2026
ea1bbcb
ci: Add camera-test env to the ci workflow
naushir May 12, 2026
9d41d4b
preview: Attempt fallback if Qt preview unavailable
njhollinghurst May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortLambdasOnASingleLine: Inline
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
Expand All @@ -35,6 +35,8 @@ BraceWrapping:
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
AfterNamespace: true
AfterClass: true
BreakBeforeBinaryOperators: None
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
Expand All @@ -44,7 +46,7 @@ BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: false
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
PackConstructorInitializers: BinPack
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/camera-test-rpicam-apps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Camera Tests

on:
pull_request_target:
branches: [main]

permissions:
statuses: write

jobs:
trigger-camera-tests:
runs-on: [self-hosted, camera-test-bridge]
environment: ${{ github.event.pull_request.head.repo.full_name == github.repository && '' || 'camera-test' }}
timeout-minutes: 120
steps:
- name: Checkout camera_tester
env:
CAMERA_TESTER_URL: ${{ secrets.CAMERA_TESTER_URL }}
CAMERA_TESTER_PROJECT_ID: ${{ vars.CAMERA_TESTER_PROJECT_ID }}
CAMERA_TESTER_API_TOKEN: ${{ secrets.CAMERA_TESTER_API_TOKEN }}
run: |
CLONE_URL=$(curl -sf -H "PRIVATE-TOKEN: ${CAMERA_TESTER_API_TOKEN}" \
"${CAMERA_TESTER_URL}/api/v4/projects/${CAMERA_TESTER_PROJECT_ID}" \
| python3 -c "import sys, json; print(json.load(sys.stdin)['http_url_to_repo'])")
AUTH_URL="${CLONE_URL/https:\/\//https://oauth2:${CAMERA_TESTER_API_TOKEN}@}"
find . -mindepth 1 -delete 2>/dev/null || true
git clone --depth 1 "$AUTH_URL" .

- name: Install camera_tester
run: |
python3 -m venv .venv
. .venv/bin/activate
pip install -e .

- name: Run bridge
env:
LIBRARY: rpicam-apps
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
GITHUB_BASE_REF: ${{ github.base_ref }}
CAMERA_TESTER_URL: ${{ secrets.CAMERA_TESTER_URL }}
CAMERA_TESTER_PROJECT_ID: ${{ vars.CAMERA_TESTER_PROJECT_ID }}
CAMERA_TESTER_TRIGGER_TOKEN: ${{ secrets.CAMERA_TESTER_TRIGGER_TOKEN }}
CAMERA_TESTER_API_TOKEN: ${{ secrets.CAMERA_TESTER_API_TOKEN }}
run: |
. .venv/bin/activate
python -m camera_tester.bridge
16 changes: 12 additions & 4 deletions .github/workflows/gen_orig.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,22 @@ jobs:
sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/{,lib}camera.pc ||:
- name: Check out repository code
uses: actions/checkout@v4
- name: Generate tarball
- name: Generate tarballs
run: |
PATH="${HOME}/.local/bin:${PATH}"
TARBALL="rpicam-apps-${GITHUB_REF_NAME:1}.tar.xz"
meson setup build
meson dist --no-tests --include-subprojects -C build
- name: Release tarball
uses: softprops/action-gh-release@v1
if ! [ -f "build/meson-dist/$TARBALL" ]; then
echo "Expected tarball not found - $TARBALL"
echo "Does 'version' in meson.build match the tag?"
exit 1
fi
mv "build/meson-dist/$TARBALL" rpicam-apps_${GITHUB_REF_NAME:1}.orig.tar.xz
- name: Release tarballs
uses: softprops/action-gh-release@v2
with:
files: build/meson-dist/*.tar.xz
files: |
*.tar.xz
- if: failure()
run: cat build/meson-logs/meson-log.txt
17 changes: 17 additions & 0 deletions .github/workflows/rpicam-apps-pre-commit-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: rpicam-apps pre-commit checker
on:
pull_request:
branches: [main]

jobs:
style-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Run pre-commit
uses: pre-commit/action@v3.0.1
with:
extra_args: --all-files --show-diff-on-failure
18 changes: 0 additions & 18 deletions .github/workflows/rpicam-apps-style-checker.yml

This file was deleted.

119 changes: 0 additions & 119 deletions .github/workflows/rpicam-apps-test.yml

This file was deleted.

Loading