Skip to content

Commit

Permalink
Merge pull request #3633 from naushir/develop
Browse files Browse the repository at this point in the history
camera sw: Update build instruction for the new meson options
  • Loading branch information
nathan-contino authored May 17, 2024
2 parents a81177f + c8d8700 commit a0bed69
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions documentation/asciidoc/computers/camera/rpicam_apps_building.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -143,22 +143,22 @@ For desktop-based operating systems like Raspberry Pi OS, configure the `rpicam-

[source,console]
----
$ meson setup build -Denable_libav=true -Denable_drm=true -Denable_egl=true -Denable_qt=true -Denable_opencv=false -Denable_tflite=false
$ meson setup build -Denable_libav=enabled -Denable_drm=enabled -Denable_egl=enabled -Denable_qt=enabled -Denable_opencv=disabled -Denable_tflite=disabled
----

For headless operating systems like Raspberry Pi OS Lite, configure the `rpicam-apps` build with the following `meson` command:

[source,console]
----
$ meson setup build -Denable_libav=false -Denable_drm=true -Denable_egl=false -Denable_qt=false -Denable_opencv=false -Denable_tflite=false
$ meson setup build -Denable_libav=disabled -Denable_drm=enabled -Denable_egl=disabled -Denable_qt=disabled -Denable_opencv=disabled -Denable_tflite=disabled
----

[TIP]
======
* Use `-Dneon_flags=armv8-neon` to enable optimisations for 32-bit OSes on Raspberry Pi 3 or Raspberry Pi 4.
* Use `-Denable_opencv=true` if you have installed OpenCV and wish to use OpenCV-based post-processing stages.
* Use `-Denable_tflite=true` if you have installed TensorFlow Lite and wish to use it in post-processing stages.
* Use `-Denable_opencv=enabled` if you have installed OpenCV and wish to use OpenCV-based post-processing stages.
* Use `-Denable_tflite=enabled` if you have installed TensorFlow Lite and wish to use it in post-processing stages.
======

Expand Down Expand Up @@ -188,19 +188,24 @@ The `meson` build configuration for `rpicam-apps` supports the following flags:

`-Dneon_flags=armv8-neon`:: Speeds up certain post-processing features on Raspberry Pi 3 or Raspberry Pi 4 devices running a 32-bit OS.

`-Denable_libav=true`:: Enables or disables `libav` encoder integration.
`-Denable_libav=enabled`:: Enables or disables `libav` encoder integration.

`-Denable_drm=true`:: Enables or disables **DRM/KMS preview rendering**, a preview window used in the absence of a desktop environment.
`-Denable_drm=enabled`:: Enables or disables **DRM/KMS preview rendering**, a preview window used in the absence of a desktop environment.

`-Denable_egl=true`:: Enables or disables the non-Qt desktop environment-based preview. Disable if your system lacks a desktop environment.
`-Denable_egl=enabled`:: Enables or disables the non-Qt desktop environment-based preview. Disable if your system lacks a desktop environment.

`-Denable_qt=true`:: Enables or disables support for the Qt-based implementation of the preview window. Disable if you do not have a desktop environment installed or if you have no intention of using the Qt-based preview window. The Qt-based preview is normally not recommended because it is computationally very expensive, however it does work with X display forwarding.
`-Denable_qt=enabled`:: Enables or disables support for the Qt-based implementation of the preview window. Disable if you do not have a desktop environment installed or if you have no intention of using the Qt-based preview window. The Qt-based preview is normally not recommended because it is computationally very expensive, however it does work with X display forwarding.

`-Denable_opencv=true`:: Forces OpenCV-based post-processing stages to link or not link. Requires OpenCV to enable. Defaults to `true` when OpenCV is installed, `false` otherwise.
`-Denable_opencv=enabled`:: Forces OpenCV-based post-processing stages to link or not link. Requires OpenCV to enable. Defaults to `disabled`.

`-Denable_tflite=true`:: Enables or disables TensorFlow Lite post-processing stages. Disabled by default. Requires Tensorflow Lite to enable. Depending on how you have built and/or installed TFLite, you may need to tweak the `meson.build` file in the `post_processing_stages` directory.
`-Denable_tflite=enabled`:: Enables or disables TensorFlow Lite post-processing stages. Disabled by default. Requires Tensorflow Lite to enable. Depending on how you have built and/or installed TFLite, you may need to tweak the `meson.build` file in the `post_processing_stages` directory.

Each of the above options (except for `neon_flags`) supports the following values:

* `enabled`: enables the option, fails the build if dependencies are not available
* `disabled`: disables the option
* `auto`: enables the option if dependencies are available

NOTE: To disable any of the flags shown above with `true` as a value, replace `true` with `false`.


==== Building `libepoxy`
Expand Down

0 comments on commit a0bed69

Please sign in to comment.