device: make device_open_buffer_list_capture to use buffer_format_t

This commit is contained in:
Kamil Trzcinski
2023-02-21 17:40:48 +01:00
parent 71a88f3fc2
commit 2e9718fea7
6 changed files with 33 additions and 18 deletions

View File

@ -68,8 +68,8 @@ buffer_list_t *camera_configure_decoder(camera_t *camera, buffer_list_t *src_cap
buffer_list_t *decoder_output = device_open_buffer_list_output(
camera->decoder, src_capture);
buffer_list_t *decoder_capture = device_open_buffer_list_capture(
camera->decoder, NULL, decoder_output, 0, 0, chosen_format, true);
buffer_list_t *decoder_capture = device_open_buffer_list_capture2(
camera->decoder, NULL, decoder_output, chosen_format, true);
if (getenv("CAMERA_DECODER_DEBUG")) {
camera_capture_add_callbacks(camera, decoder_capture, decoder_debug_callbacks);

View File

@ -16,8 +16,8 @@ buffer_list_t *camera_configure_isp(camera_t *camera, buffer_list_t *src_capture
buffer_list_t *isp_output = device_open_buffer_list_output(
camera->isp, src_capture);
buffer_list_t *isp_capture = device_open_buffer_list_capture(
camera->isp, "/dev/video14", isp_output, 0, 0, V4L2_PIX_FMT_YUYV, true);
buffer_list_t *isp_capture = device_open_buffer_list_capture2(
camera->isp, "/dev/video14", isp_output, V4L2_PIX_FMT_YUYV, true);
camera_capture_add_output(camera, src_capture, isp_output);

View File

@ -104,7 +104,7 @@ int camera_configure_output(camera_t *camera, const char *name, unsigned target_
*device = device_v4l2_open(name, device_info->path);
buffer_list_t *output = device_open_buffer_list_output(*device, src_capture);
buffer_list_t *capture = device_open_buffer_list_capture(*device, NULL, output, 0, 0, chosen_format, true);
buffer_list_t *capture = device_open_buffer_list_capture2(*device, NULL, output, chosen_format, true);
if (!capture) {
return -1;

View File

@ -40,9 +40,15 @@ buffer_list_t *camera_try_rescaller(camera_t *camera, buffer_list_t *src_capture
buffer_list_t *rescaller_output = device_open_buffer_list_output(
device, src_capture);
buffer_format_t target_fmt = {
.width = target_width,
.height = target_height,
.format = target_format
};
buffer_list_t *rescaller_capture = device_open_buffer_list_capture(
device, NULL, rescaller_output,
target_width, target_height, target_format, true);
device, NULL, rescaller_output, target_fmt, true);
if (!rescaller_capture) {
device_close(device);