diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2010-06-02 16:39:13 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2010-06-02 17:06:04 +0200 |
commit | 0700edb0d8fb3965cc80a2c30b101cab35d0b93f (patch) | |
tree | 58eab877f98f26012ebceeb4b6218e860b9299c1 /main.c | |
parent | 293ec4a8813e6d7d68dc147dff102d3a61396515 (diff) |
Print active formats when printing device topology
When run with the -p argument, print the active format on all subdev
pads.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 35 |
1 files changed, 4 insertions, 31 deletions
@@ -39,7 +39,6 @@ #include "media.h" #include "options.h" #include "subdev.h" -#include "tools.h" /* ----------------------------------------------------------------------------- * Links setup @@ -175,43 +174,17 @@ static int setup_links(struct media_device *media, const char *p) * Formats setup */ -static struct { - const char *name; - enum v4l2_mbus_pixelcode code; -} mbus_formats[] = { - { "YUYV", V4L2_MBUS_FMT_YUYV16_1X16 }, - { "UYVY", V4L2_MBUS_FMT_UYVY16_1X16 }, - { "SGRBG10", V4L2_MBUS_FMT_SGRBG10_1X10 }, - { "SGRBG10_DPCM8", V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 }, -}; - -static const char *pixelcode_to_string(enum v4l2_mbus_pixelcode code) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(mbus_formats); ++i) { - if (mbus_formats[i].code == code) - return mbus_formats[i].name; - } - - return "unknown"; -} - static int parse_format(struct v4l2_mbus_framefmt *format, const char *p, char **endp) { + enum v4l2_mbus_pixelcode code; unsigned int width, height; - unsigned int i; char *end; for (; isspace(*p); ++p); for (end = (char *)p; !isspace(*end) && *end != '\0'; ++end); - for (i = 0; i < ARRAY_SIZE(mbus_formats); ++i) { - if (strncmp(mbus_formats[i].name, p, end - p) == 0) - break; - } - - if (i == ARRAY_SIZE(mbus_formats)) + code = string_to_pixelcode(p, end - p); + if (code == (enum v4l2_mbus_pixelcode)-1) return -EINVAL; for (p = end; isspace(*p); ++p); @@ -226,7 +199,7 @@ static int parse_format(struct v4l2_mbus_framefmt *format, const char *p, char * memset(format, 0, sizeof(*format)); format->width = width; format->height = height; - format->code = mbus_formats[i].code; + format->code = code; return 0; } |