Allow to set -camera-vflip and -camera-hflip

This commit is contained in:
Kamil Trzcinski
2022-08-24 17:48:55 +02:00
parent 8b1d066dfc
commit a9c65fae0d
9 changed files with 61 additions and 3 deletions

View File

@ -24,6 +24,14 @@ typedef struct camera_options_s {
float low_res_factor;
bool auto_focus;
unsigned auto_reconnect;
union {
bool vflip;
unsigned vflip_align;
};
union {
bool hflip;
unsigned hflip_align;
};
char options[CAMERA_OPTIONS_LENGTH];
bool list_options;

View File

@ -22,6 +22,8 @@ static int camera_configure_input_v4l2(camera_t *camera)
return -1;
}
device_set_rotation(camera->camera, camera->options.vflip, camera->options.hflip);
camera->camera->opts.allow_dma = camera->options.allow_dma;
if (strstr(camera->camera->bus_info, "usb")) {
@ -79,10 +81,20 @@ static int camera_configure_input_libcamera(camera_t *camera)
return -1;
}
device_set_rotation(camera->camera, camera->options.vflip, camera->options.hflip);
camera->camera->opts.allow_dma = camera->options.allow_dma;
buffer_list_t *camera_capture = device_open_buffer_list(
camera->camera, true, camera->options.width / camera->options.high_res_factor, camera->options.height / camera->options.high_res_factor, camera->options.format, 0, camera->options.nbufs, true);
camera->camera,
true,
camera->options.width / camera->options.high_res_factor,
camera->options.height / camera->options.high_res_factor,
camera->options.format,
0,
camera->options.nbufs,
true
);
if (!camera_capture) {
return -1;
}