From 4df62aa21e2bba470fcb236347f819f065a86185 Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Sun, 6 Dec 2020 16:03:25 +0100 Subject: [PATCH] More codestyle --- tools/camera_test.c | 277 +++++++++++++++++++++++-------------------- tools/list_devices.c | 85 +++++++------ 2 files changed, 198 insertions(+), 164 deletions(-) diff --git a/tools/camera_test.c b/tools/camera_test.c index 10345b5..df88dbf 100644 --- a/tools/camera_test.c +++ b/tools/camera_test.c @@ -6,180 +6,205 @@ #include #include -double get_time() +double +get_time() { - struct timeval t; - struct timezone tzp; - gettimeofday(&t, &tzp); - return t.tv_sec + t.tv_usec*1e-6; + struct timeval t; + struct timezone tzp; + gettimeofday(&t, &tzp); + return t.tv_sec + t.tv_usec * 1e-6; } -void on_capture(MPImage image, void *user_data) +void +on_capture(MPImage image, void *user_data) { - size_t num_bytes = mp_pixel_format_width_to_bytes(image.pixel_format, image.width) * image.height; - uint8_t *data = malloc(num_bytes); - memcpy(data, image.data, num_bytes); + size_t num_bytes = + mp_pixel_format_width_to_bytes(image.pixel_format, image.width) * + image.height; + uint8_t *data = malloc(num_bytes); + memcpy(data, image.data, num_bytes); - printf(" first byte: %d.", data[0]); + printf(" first byte: %d.", data[0]); - free(data); + free(data); } -int main(int argc, char *argv[]) +int +main(int argc, char *argv[]) { - if (argc != 2 && argc != 3) { - printf("Usage: %s []\n", argv[0]); - return 1; - } + if (argc != 2 && argc != 3) { + printf("Usage: %s []\n", + argv[0]); + return 1; + } - char *video_name = argv[1]; - char *subdev_name = NULL; - if (argc == 3) { - subdev_name = argv[2]; - } + char *video_name = argv[1]; + char *subdev_name = NULL; + if (argc == 3) { + subdev_name = argv[2]; + } - double find_start = get_time(); + double find_start = get_time(); - // First find the device - MPDevice *device = mp_device_find(video_name); - if (!device) { - printf("Device not found\n"); - return 1; - } + // First find the device + MPDevice *device = mp_device_find(video_name); + if (!device) { + printf("Device not found\n"); + return 1; + } - double find_end = get_time(); + double find_end = get_time(); - printf("Finding the device took %fms\n", (find_end - find_start) * 1000); + printf("Finding the device took %fms\n", (find_end - find_start) * 1000); - int video_fd; - uint32_t video_entity_id; - { - const struct media_v2_entity *entity = mp_device_find_entity(device, video_name); - if (!entity) { - printf("Unable to find video device interface\n"); - return 1; - } + int video_fd; + uint32_t video_entity_id; + { + const struct media_v2_entity *entity = + mp_device_find_entity(device, video_name); + if (!entity) { + printf("Unable to find video device interface\n"); + return 1; + } - video_entity_id = entity->id; + video_entity_id = entity->id; - const struct media_v2_interface *iface = mp_device_find_entity_interface(device, video_entity_id); + const struct media_v2_interface *iface = + mp_device_find_entity_interface(device, video_entity_id); - char buf[256]; - if (!mp_find_device_path(iface->devnode, buf, 256)) { - printf("Unable to find video device path\n"); - return 1; - } + char buf[256]; + if (!mp_find_device_path(iface->devnode, buf, 256)) { + printf("Unable to find video device path\n"); + return 1; + } - video_fd = open(buf, O_RDWR); - if (video_fd == -1) { - printf("Unable to open video device\n"); - return 1; - } - } + video_fd = open(buf, O_RDWR); + if (video_fd == -1) { + printf("Unable to open video device\n"); + return 1; + } + } - int subdev_fd = -1; - if (subdev_name) - { - const struct media_v2_entity *entity = mp_device_find_entity(device, subdev_name); - if (!entity) { - printf("Unable to find sub-device\n"); - return 1; - } + int subdev_fd = -1; + if (subdev_name) { + const struct media_v2_entity *entity = + mp_device_find_entity(device, subdev_name); + if (!entity) { + printf("Unable to find sub-device\n"); + return 1; + } - const struct media_v2_pad *source_pad = mp_device_get_pad_from_entity(device, entity->id); - const struct media_v2_pad *sink_pad = mp_device_get_pad_from_entity(device, video_entity_id); + const struct media_v2_pad *source_pad = + mp_device_get_pad_from_entity(device, entity->id); + const struct media_v2_pad *sink_pad = + mp_device_get_pad_from_entity(device, video_entity_id); - // Disable other links - const struct media_v2_entity *entities = mp_device_get_entities(device); - for (int i = 0; i < mp_device_get_num_entities(device); ++i) { - if (entities[i].id != video_entity_id && entities[i].id != entity->id) { - const struct media_v2_pad *pad = mp_device_get_pad_from_entity(device, entities[i].id); - mp_device_setup_link(device, pad->id, sink_pad->id, false); - } - } + // Disable other links + const struct media_v2_entity *entities = + mp_device_get_entities(device); + for (int i = 0; i < mp_device_get_num_entities(device); ++i) { + if (entities[i].id != video_entity_id && + entities[i].id != entity->id) { + const struct media_v2_pad *pad = + mp_device_get_pad_from_entity( + device, entities[i].id); + mp_device_setup_link(device, pad->id, sink_pad->id, + false); + } + } - // Then enable ours - mp_device_setup_link(device, source_pad->id, sink_pad->id, true); + // Then enable ours + mp_device_setup_link(device, source_pad->id, sink_pad->id, true); - const struct media_v2_interface *iface = mp_device_find_entity_interface(device, entity->id); + const struct media_v2_interface *iface = + mp_device_find_entity_interface(device, entity->id); - char buf[256]; - if (!mp_find_device_path(iface->devnode, buf, 256)) { - printf("Unable to find sub-device path\n"); - return 1; - } + char buf[256]; + if (!mp_find_device_path(iface->devnode, buf, 256)) { + printf("Unable to find sub-device path\n"); + return 1; + } - subdev_fd = open(buf, O_RDWR); - if (subdev_fd == -1) { - printf("Unable to open sub-device\n"); - return 1; - } - } + subdev_fd = open(buf, O_RDWR); + if (subdev_fd == -1) { + printf("Unable to open sub-device\n"); + return 1; + } + } - double open_end = get_time(); + double open_end = get_time(); - printf("Opening the device took %fms\n", (open_end - find_end) * 1000); + printf("Opening the device took %fms\n", (open_end - find_end) * 1000); - MPCamera *camera = mp_camera_new(video_fd, subdev_fd); + MPCamera *camera = mp_camera_new(video_fd, subdev_fd); - MPControlList *controls = mp_camera_list_controls(camera); + MPControlList *controls = mp_camera_list_controls(camera); - double control_list_end = get_time(); + double control_list_end = get_time(); - printf("Available controls: (took %fms)\n", (control_list_end - open_end) * 1000); - for (MPControlList *list = controls; list; list = mp_control_list_next(list)) { - MPControl *c = mp_control_list_get(list); + printf("Available controls: (took %fms)\n", + (control_list_end - open_end) * 1000); + for (MPControlList *list = controls; list; + list = mp_control_list_next(list)) { + MPControl *c = mp_control_list_get(list); - printf(" %32s id:%s type:%s default:%d\n", c->name, mp_control_id_to_str(c->id), mp_control_type_to_str(c->type), c->default_value); - } + printf(" %32s id:%s type:%s default:%d\n", c->name, + mp_control_id_to_str(c->id), mp_control_type_to_str(c->type), + c->default_value); + } - double mode_list_begin = get_time(); + double mode_list_begin = get_time(); - MPCameraModeList *modes = mp_camera_list_available_modes(camera); + MPCameraModeList *modes = mp_camera_list_available_modes(camera); - double mode_list_end = get_time(); + double mode_list_end = get_time(); - printf("Available modes: (took %fms)\n", (mode_list_end - mode_list_begin) * 1000); - for (MPCameraModeList *list = modes; list; list = mp_camera_mode_list_next(list)) { - MPCameraMode *m = mp_camera_mode_list_get(list); - printf(" %dx%d interval:%d/%d fmt:%s\n", m->width, m->height, m->frame_interval.numerator, m->frame_interval.denominator, mp_pixel_format_to_str(m->pixel_format)); + printf("Available modes: (took %fms)\n", + (mode_list_end - mode_list_begin) * 1000); + for (MPCameraModeList *list = modes; list; + list = mp_camera_mode_list_next(list)) { + MPCameraMode *m = mp_camera_mode_list_get(list); + printf(" %dx%d interval:%d/%d fmt:%s\n", m->width, m->height, + m->frame_interval.numerator, m->frame_interval.denominator, + mp_pixel_format_to_str(m->pixel_format)); - // Skip really slow framerates - if (m->frame_interval.denominator < 15) { - printf(" Skipping…\n"); - continue; - } + // Skip really slow framerates + if (m->frame_interval.denominator < 15) { + printf(" Skipping…\n"); + continue; + } - double start_capture = get_time(); + double start_capture = get_time(); - mp_camera_set_mode(camera, m); - mp_camera_start_capture(camera); + mp_camera_set_mode(camera, m); + mp_camera_start_capture(camera); - double last = get_time(); - printf(" Testing 10 captures, starting took %fms\n", (last - start_capture) * 1000); + double last = get_time(); + printf(" Testing 10 captures, starting took %fms\n", + (last - start_capture) * 1000); - for (int i = 0; i < 10; ++i) { - mp_camera_capture_image(camera, on_capture, NULL); + for (int i = 0; i < 10; ++i) { + mp_camera_capture_image(camera, on_capture, NULL); - double now = get_time(); - printf(" capture took %fms\n", (now - last) * 1000); - last = now; - } + double now = get_time(); + printf(" capture took %fms\n", (now - last) * 1000); + last = now; + } - mp_camera_stop_capture(camera); - } + mp_camera_stop_capture(camera); + } - double cleanup_start = get_time(); + double cleanup_start = get_time(); - mp_camera_free(camera); + mp_camera_free(camera); - close(video_fd); - if (subdev_fd != -1) - close(subdev_fd); + close(video_fd); + if (subdev_fd != -1) + close(subdev_fd); - mp_device_close(device); + mp_device_close(device); - double cleanup_end = get_time(); + double cleanup_end = get_time(); - printf("Cleanup took %fms\n", (cleanup_end - cleanup_start) * 1000); + printf("Cleanup took %fms\n", (cleanup_end - cleanup_start) * 1000); } diff --git a/tools/list_devices.c b/tools/list_devices.c index 750531e..291f982 100644 --- a/tools/list_devices.c +++ b/tools/list_devices.c @@ -2,50 +2,59 @@ #include #include -int main(int argc, char *argv[]) { - MPDeviceList *list = mp_device_list_new(); +int +main(int argc, char *argv[]) +{ + MPDeviceList *list = mp_device_list_new(); - while (list) { - MPDevice *device = mp_device_list_get(list); + while (list) { + MPDevice *device = mp_device_list_get(list); - const struct media_device_info *info = mp_device_get_info(device); - printf("%s (%s) %s\n", info->model, info->driver, info->serial); - printf(" Bus Info: %s\n", info->bus_info); - printf(" Media Version: %d\n", info->media_version); - printf(" HW Revision: %d\n", info->hw_revision); - printf(" Driver Version: %d\n", info->driver_version); + const struct media_device_info *info = mp_device_get_info(device); + printf("%s (%s) %s\n", info->model, info->driver, info->serial); + printf(" Bus Info: %s\n", info->bus_info); + printf(" Media Version: %d\n", info->media_version); + printf(" HW Revision: %d\n", info->hw_revision); + printf(" Driver Version: %d\n", info->driver_version); + const struct media_v2_entity *entities = + mp_device_get_entities(device); + size_t num = mp_device_get_num_entities(device); + printf(" Entities (%ld):\n", num); + for (int i = 0; i < num; ++i) { + printf(" %d %s (%d)\n", entities[i].id, entities[i].name, + entities[i].function); + } - const struct media_v2_entity *entities = mp_device_get_entities(device); - size_t num = mp_device_get_num_entities(device); - printf(" Entities (%ld):\n", num); - for (int i = 0; i < num; ++i) { - printf(" %d %s (%d)\n", entities[i].id, entities[i].name, entities[i].function); - } + const struct media_v2_interface *interfaces = + mp_device_get_interfaces(device); + num = mp_device_get_num_interfaces(device); + printf(" Interfaces (%ld):\n", num); + for (int i = 0; i < num; ++i) { + printf(" %d (%d - %d) devnode %d:%d\n", interfaces[i].id, + interfaces[i].intf_type, interfaces[i].flags, + interfaces[i].devnode.major, + interfaces[i].devnode.minor); + } - const struct media_v2_interface *interfaces = mp_device_get_interfaces(device); - num = mp_device_get_num_interfaces(device); - printf(" Interfaces (%ld):\n", num); - for (int i = 0; i < num; ++i) { - printf(" %d (%d - %d) devnode %d:%d\n", interfaces[i].id, interfaces[i].intf_type, interfaces[i].flags, interfaces[i].devnode.major, interfaces[i].devnode.minor); - } + const struct media_v2_pad *pads = mp_device_get_pads(device); + num = mp_device_get_num_pads(device); + printf(" Pads (%ld):\n", num); + for (int i = 0; i < num; ++i) { + printf(" %d for device:%d (%d)\n", pads[i].id, + pads[i].entity_id, pads[i].flags); + } - const struct media_v2_pad *pads = mp_device_get_pads(device); - num = mp_device_get_num_pads(device); - printf(" Pads (%ld):\n", num); - for (int i = 0; i < num; ++i) { - printf(" %d for device:%d (%d)\n", pads[i].id, pads[i].entity_id, pads[i].flags); - } + const struct media_v2_link *links = mp_device_get_links(device); + num = mp_device_get_num_links(device); + printf(" Links (%ld):\n", num); + for (int i = 0; i < num; ++i) { + printf(" %d from:%d to:%d (%d)\n", links[i].id, + links[i].source_id, links[i].sink_id, links[i].flags); + } - const struct media_v2_link *links = mp_device_get_links(device); - num = mp_device_get_num_links(device); - printf(" Links (%ld):\n", num); - for (int i = 0; i < num; ++i) { - printf(" %d from:%d to:%d (%d)\n", links[i].id, links[i].source_id, links[i].sink_id, links[i].flags); - } + list = mp_device_list_next(list); + } - list = mp_device_list_next(list); - } - - mp_device_list_free(list); + mp_device_list_free(list); }