From d4968694e251f603e7c2b91608746cf4c382723a Mon Sep 17 00:00:00 2001 From: Todor Tomov Date: Thu, 3 Feb 2011 10:50:48 +0200 Subject: Use autotools Use autoconf and automake for building. Quick instructions are added in INSTALL. Application source files are moved to src subdirectory. Signed-off-by: Todor Tomov --- subdev.c | 187 --------------------------------------------------------------- 1 file changed, 187 deletions(-) delete mode 100644 subdev.c (limited to 'subdev.c') diff --git a/subdev.c b/subdev.c deleted file mode 100644 index 3960d05..0000000 --- a/subdev.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Media controller test application - * - * Copyright (C) 2010 Ideas on board SPRL - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - */ - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include "media.h" -#include "subdev.h" -#include "tools.h" - -int v4l2_subdev_open(struct media_entity *entity) -{ - if (entity->fd != -1) - return 0; - - entity->fd = open(entity->devname, O_RDWR); - if (entity->fd == -1) { - printf("%s: Failed to open subdev device node %s\n", __func__, - entity->devname); - return -errno; - } - - return 0; -} - -void v4l2_subdev_close(struct media_entity *entity) -{ - close(entity->fd); -} - -int v4l2_subdev_get_format(struct media_entity *entity, - struct v4l2_mbus_framefmt *format, unsigned int pad, - enum v4l2_subdev_format_whence which) -{ - struct v4l2_subdev_format fmt; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&fmt, 0, sizeof(fmt)); - fmt.pad = pad; - fmt.which = which; - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_G_FMT, &fmt); - if (ret < 0) - return -errno; - - *format = fmt.format; - return 0; -} - -int v4l2_subdev_set_format(struct media_entity *entity, - struct v4l2_mbus_framefmt *format, unsigned int pad, - enum v4l2_subdev_format_whence which) -{ - struct v4l2_subdev_format fmt; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&fmt, 0, sizeof(fmt)); - fmt.pad = pad; - fmt.which = which; - fmt.format = *format; - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_S_FMT, &fmt); - if (ret < 0) - return -errno; - - *format = fmt.format; - return 0; -} - -int v4l2_subdev_get_crop(struct media_entity *entity, struct v4l2_rect *rect, - unsigned int pad, enum v4l2_subdev_format_whence which) -{ - struct v4l2_subdev_crop crop; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&crop, 0, sizeof(crop)); - crop.pad = pad; - crop.which = which; - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_G_CROP, &crop); - if (ret < 0) - return -errno; - - *rect = crop.rect; - return 0; -} - -int v4l2_subdev_set_crop(struct media_entity *entity, struct v4l2_rect *rect, - unsigned int pad, enum v4l2_subdev_format_whence which) -{ - struct v4l2_subdev_crop crop; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&crop, 0, sizeof(crop)); - crop.pad = pad; - crop.which = which; - crop.rect = *rect; - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_S_CROP, &crop); - if (ret < 0) - return -errno; - - *rect = crop.rect; - return 0; -} - -int v4l2_subdev_get_frame_interval(struct media_entity *entity, - struct v4l2_fract *interval) -{ - struct v4l2_subdev_frame_interval ival; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&ival, 0, sizeof(ival)); - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, &ival); - if (ret < 0) - return -errno; - - *interval = ival.interval; - return 0; -} - -int v4l2_subdev_set_frame_interval(struct media_entity *entity, - struct v4l2_fract *interval) -{ - struct v4l2_subdev_frame_interval ival; - int ret; - - ret = v4l2_subdev_open(entity); - if (ret < 0) - return ret; - - memset(&ival, 0, sizeof(ival)); - ival.interval = *interval; - - ret = ioctl(entity->fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, &ival); - if (ret < 0) - return -errno; - - *interval = ival.interval; - return 0; -} -- cgit v1.2.3