Mir

Merge lp:~vanvugt/mir/camera-fast-mode into lp:mir

Proposed by Daniel van Vugt
Status: Merged
Approved by: Cemil Azizoglu
Approved revision: no longer in the source branch.
Merged at revision: 3778
Proposed branch: lp:~vanvugt/mir/camera-fast-mode
Merge into: lp:mir
Diff against target: 30 lines (+11/-1)
1 file modified
examples/camera.c (+11/-1)
To merge this branch: bzr merge lp:~vanvugt/mir/camera-fast-mode
Reviewer Review Type Date Requested Status
Cemil Azizoglu (community) Approve
Alexandros Frantzis (community) Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+308906@code.launchpad.net

Commit message

camera: Add ultrafast mode (which also lowers resolution)

With a high speed camera this provides a convenient visual test for
minimal latency. Although you should also use fullscreen at the
same time to get lowest latency (bypass): -u -f

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3777
https://mir-jenkins.ubuntu.com/job/mir-ci/2021/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/2590
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2653
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2645
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2645
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2645
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2619/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2619/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2619/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2619/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2619/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2619
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2619/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2021/rebuild

review: Approve (continuous-integration)
Revision history for this message
Alexandros Frantzis (afrantzis) :
review: Approve
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

ok

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'examples/camera.c'
2--- examples/camera.c 2016-10-05 08:42:26 +0000
3+++ examples/camera.c 2016-10-20 10:19:40 +0000
4@@ -373,15 +373,25 @@
5 unsigned int win_height = 1;
6
7 char const* dev_video = "/dev/video0";
8+ mir_eglapp_bool ultrafast = 0;
9 struct mir_eglapp_arg custom_args[] =
10 {
11 {"-d <path>", "=", &dev_video, "Path to camera device"},
12+ {"-u", "!", &ultrafast, "Ultra fast mode (low resolution)"},
13 {NULL, NULL, NULL, NULL},
14 };
15 if (!mir_eglapp_init(argc, argv, &win_width, &win_height, custom_args))
16 return 1;
17
18- Camera *cam = open_camera(dev_video, camera_pref_resolution, 1);
19+ // By default we prefer high resolution and low CPU usage but if you
20+ // ask for ultrafast mode expect low resolution and high CPU usage...
21+ enum CameraPref pref = camera_pref_resolution;
22+ if (ultrafast)
23+ {
24+ pref = camera_pref_speed;
25+ mir_surface_set_swapinterval(mir_eglapp_native_surface(), 0);
26+ }
27+ Camera *cam = open_camera(dev_video, pref, 1);
28 if (!cam)
29 {
30 fprintf(stderr, "Failed to set up camera device\n");

Subscribers

People subscribed via source and target branches