media-ctl.git
11 years agoDon't perform AC_FUNC_MALLOC and AC_FUNC_REALLOC when cross-compiling
Laurent Pinchart [Tue, 6 Sep 2011 09:53:21 +0000 (11:53 +0200)]
Don't perform AC_FUNC_MALLOC and AC_FUNC_REALLOC when cross-compiling

Those autoconf tests assume that the target libc doesn't have
GNU-compatible malloc and realloc implementations when cross-compiling,
which breaks compilation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agoAllow using autoconf 2.61+
Michael Jones [Tue, 21 Jun 2011 07:39:17 +0000 (09:39 +0200)]
Allow using autoconf 2.61+

Autoconf v2.61 seems to work just fine. Allow it.

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
11 years agoAdd Y10, Y12 formats
Michael Jones [Tue, 21 Jun 2011 07:39:16 +0000 (09:39 +0200)]
Add Y10, Y12 formats

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
11 years agoAdd missing 8-, 10- and 12-bit Bayer formats
Laurent Pinchart [Wed, 11 May 2011 09:40:21 +0000 (11:40 +0200)]
Add missing 8-, 10- and 12-bit Bayer formats

Thanks for Javier Martin for pointing out they were missing.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agoReset file descriptor value after closing a subdev
Todor Tomov [Mon, 11 Apr 2011 15:51:16 +0000 (18:51 +0300)]
Reset file descriptor value after closing a subdev

After a subdev is closed set entity->fd to -1.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUpdate stored link flags correctly in media_setup_link()
Todor Tomov [Fri, 8 Apr 2011 08:07:30 +0000 (11:07 +0300)]
Update stored link flags correctly in media_setup_link()

The flags stored in media_link structure are not updated correctly if
media_setup_link() is called on an immutable link - the immutable flag
is cleared. Fix this.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUpdate to the latest media kernel API
Laurent Pinchart [Tue, 21 Dec 2010 12:00:02 +0000 (13:00 +0100)]
Update to the latest media kernel API

The media kernel API has seen many changes during the review process,
update the media-ctl application accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agoPrint all links in media_print_topology_text()
Todor Tomov [Tue, 25 Jan 2011 15:46:49 +0000 (17:46 +0200)]
Print all links in media_print_topology_text()

Add printing of inbound links in media_print_topology_text().

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUpdate to the latest media kernel API
Laurent Pinchart [Tue, 21 Dec 2010 12:00:02 +0000 (13:00 +0100)]
Update to the latest media kernel API

The media kernel API has seen many changes during the review process,
update the media-ctl application accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agoRename libraries to descriptive names
Todor Tomov [Wed, 16 Feb 2011 12:33:34 +0000 (14:33 +0200)]
Rename libraries to descriptive names

Rename libraries to more descriptive names:
libmedia  -> libmediactl
libsubdev -> libv4l2subdev

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoInstall header files to subdir
Todor Tomov [Wed, 16 Feb 2011 12:33:33 +0000 (14:33 +0200)]
Install header files to subdir

Install media.h and subdev.h header files to mediactl/ subdirectory.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUpdate flags in twin link in media_setup_link()
Todor Tomov [Fri, 11 Feb 2011 14:24:04 +0000 (16:24 +0200)]
Update flags in twin link in media_setup_link()

Fix media_setup_link() to update flags in twin link too.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUse local variable to access link's flags in media_enum_links()
Todor Tomov [Fri, 11 Feb 2011 14:24:03 +0000 (16:24 +0200)]
Use local variable to access link's flags in media_enum_links()

Local variable link is defined in media_enum_links() for more simple
access to link's data. Use it when accessing link's flags.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUpdate .gitignore
Todor Tomov [Fri, 11 Feb 2011 14:24:02 +0000 (16:24 +0200)]
Update .gitignore

Add autotools temporary files to .gitignore.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUse pkg-config
Todor Tomov [Thu, 3 Feb 2011 08:50:51 +0000 (10:50 +0200)]
Use pkg-config

Install libmedia.pc and libsubdev.pc files for use from pkg-config.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoCreate debian packages
Todor Tomov [Thu, 3 Feb 2011 08:50:50 +0000 (10:50 +0200)]
Create debian packages

Create debian packages for media-ctl application, media controller
and v4l2 subdevice libraries.
Set initial version 0.0.1-1.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoBuild libmedia and libsubdev
Todor Tomov [Thu, 3 Feb 2011 08:50:49 +0000 (10:50 +0200)]
Build libmedia and libsubdev

Build media controller and v4l2 subdevice shared libraries.
Use libtool for building.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUse autotools
Todor Tomov [Thu, 3 Feb 2011 08:50:48 +0000 (10:50 +0200)]
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 <ttomov@mm-sol.com>
11 years agoAdd v4l2_subdev_get_frame_interval()
Todor Tomov [Tue, 25 Jan 2011 15:46:48 +0000 (17:46 +0200)]
Add v4l2_subdev_get_frame_interval()

Add function to get frame interval.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoAdd doxygen comments
Todor Tomov [Tue, 25 Jan 2011 15:46:47 +0000 (17:46 +0200)]
Add doxygen comments

Add doxygen format comments to header files.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoShorten media structures names
Todor Tomov [Tue, 25 Jan 2011 15:46:46 +0000 (17:46 +0200)]
Shorten media structures names

Shorten structures names:
struct media_entity_link => struct media_link
struct media_entity_pad => struct media_pad

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoAdd padding to media structures
Todor Tomov [Tue, 25 Jan 2011 15:46:45 +0000 (17:46 +0200)]
Add padding to media structures

Add padding to
struct media_entity_link
struct media_entity_pad
struct media_entity
struct media_device

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoAdd v4l2_subdev_open() and v4l2_subdev_close() to subdev.h
Todor Tomov [Tue, 25 Jan 2011 15:46:44 +0000 (17:46 +0200)]
Add v4l2_subdev_open() and v4l2_subdev_close() to subdev.h

Add v4l2_subdev_close() function and declare both in subdev.h.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoAdd inbound links support
Todor Tomov [Tue, 25 Jan 2011 15:46:43 +0000 (17:46 +0200)]
Add inbound links support

Store all inbound and outbound links in media_entity.links.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoModify media_entity_remote_pad() to return source pad only
Todor Tomov [Tue, 25 Jan 2011 15:46:42 +0000 (17:46 +0200)]
Modify media_entity_remote_pad() to return source pad only

Rename media_entity_remote_pad() to media_entity_remote_source().
When it is called on a sink pad, return the linked source pad.
When it is called on a source pad, return NULL.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoMove printing functions to main.c
Todor Tomov [Tue, 25 Jan 2011 15:46:41 +0000 (17:46 +0200)]
Move printing functions to main.c

Move printing and helper functions to media-ctl application source.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoAdd media_entity_type() to media.h and make it inline.
Todor Tomov [Tue, 25 Jan 2011 15:46:40 +0000 (17:46 +0200)]
Add media_entity_type() to media.h and make it inline.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoFix printf typos
Michael Jones [Thu, 20 Jan 2011 15:59:01 +0000 (16:59 +0100)]
Fix printf typos

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomedia-ctl: subdev: add Y8 format.
Martin Hostettler [Thu, 20 Jan 2011 23:00:29 +0000 (00:00 +0100)]
media-ctl: subdev: add Y8 format.

11 years agomain.c: allow spaces in format definition
Todor Tomov [Wed, 19 Jan 2011 15:03:37 +0000 (17:03 +0200)]
main.c: allow spaces in format definition

Allow spaces after '[' in format definition.
Example:
media-ctl -f '"OMAP3 ISP resizer":1[ UYVY 864x480]'

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agomedia.c: fix NULL pointer dereference in media_enum_links()
Todor Tomov [Tue, 4 Jan 2011 09:49:56 +0000 (11:49 +0200)]
media.c: fix NULL pointer dereference in media_enum_links()

Do not dereference source and sink in media_enum_links() if one
of them is NULL.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agomedia.c: fix array overrun in media_entity_subtype_to_string()
Todor Tomov [Tue, 4 Jan 2011 09:49:55 +0000 (11:49 +0200)]
media.c: fix array overrun in media_entity_subtype_to_string()

Fix overrun of static arrays node_types and subdev_types in
media_entity_subtype_to_string().

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
11 years agoUse installed kernel headers instead of in-tree headers
Laurent Pinchart [Tue, 21 Dec 2010 11:47:38 +0000 (12:47 +0100)]
Use installed kernel headers instead of in-tree headers

To install kernel headers to usr/include inside a kernel tree, just run
make headers_install. media-ctl can then be compiled by setting KDIR to
the patch to the kernel tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoUpdate to the latest media kernel API
Laurent Pinchart [Thu, 21 Oct 2010 14:37:07 +0000 (16:37 +0200)]
Update to the latest media kernel API

The media kernel API has seen many changes during the review process,
update the media-ctl application accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoPrint subdev device node names in dot diagrams
Laurent Pinchart [Wed, 20 Oct 2010 16:12:19 +0000 (18:12 +0200)]
Print subdev device node names in dot diagrams

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomain.c: Fix crop rectangle printing format
Todor Tomov [Tue, 28 Sep 2010 11:59:50 +0000 (14:59 +0300)]
main.c: Fix crop rectangle printing format

Fix crop rectangle printing format after L,T/WxH to (L,T)/WxH change.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
12 years agoUse sysfs to locate devices nodes
Laurent Pinchart [Fri, 20 Aug 2010 08:57:19 +0000 (10:57 +0200)]
Use sysfs to locate devices nodes

Changes made during the v4l2_subdev API review renamed the /dev/subdev*
device nodes to /dev/v4l-subdev*. Instead of hardcoding the names in the
media-ctl application, use sysfs to retrieve the kernel device name and
assume the device node name is identical.

This isn't a perfect solution, we should really use libudev, but it will
do for now.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoMake format setting optional for -f option
Todor Tomov [Thu, 12 Aug 2010 10:55:34 +0000 (13:55 +0300)]
Make format setting optional for -f option

This allows to setup crop rectangle or frame interval alone - without format.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoChange crop rectangle format from L,T/WxH to (L,T)/WxH
Todor Tomov [Thu, 12 Aug 2010 10:55:33 +0000 (13:55 +0300)]
Change crop rectangle format from L,T/WxH to (L,T)/WxH

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoAdd a --get-format option
Laurent Pinchart [Wed, 11 Aug 2010 07:28:09 +0000 (09:28 +0200)]
Add a --get-format option

The option takes a pad name as argument and returns the active format
(and optional crop settings if available) for that pad.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoConfigure cropping on output pads before setting the format
Laurent Pinchart [Sun, 1 Aug 2010 19:09:55 +0000 (21:09 +0200)]
Configure cropping on output pads before setting the format

Image size on output pads depend on the cropping parameters. Cropping
must be configured before setting the image size on those pads.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoBe able to add more CFLAGS
Sergio Aguirre [Wed, 14 Jul 2010 16:17:26 +0000 (11:17 -0500)]
Be able to add more CFLAGS

This allows the gcc compilation to build with extra parameters.

For example, if we want to build with -static, we just do:

make CFLAGS=-static

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
12 years agoCreate initial .gitignore file
Sergio Aguirre [Wed, 14 Jul 2010 16:17:24 +0000 (11:17 -0500)]
Create initial .gitignore file

Ignore build generated files as well as the "standard" patches subfolder
used by quilt.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
12 years agoPrint video device node names in dot diagrams
Laurent Pinchart [Fri, 2 Jul 2010 16:16:05 +0000 (18:16 +0200)]
Print video device node names in dot diagrams

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomain.c: fix spaces check in parse_pad()
Todor Tomov [Thu, 24 Jun 2010 08:02:27 +0000 (11:02 +0300)]
main.c: fix spaces check in parse_pad()

Check for spaces before colon also when entity is numeric.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
12 years agoPrint crop rectangle when printing the topology
Laurent Pinchart [Thu, 1 Jul 2010 08:46:46 +0000 (10:46 +0200)]
Print crop rectangle when printing the topology

For subdev pads that support cropping, print the active crop rectangle
in media_print_topology_text().

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoV4L2 subdev frame interval support
Todor Tomov [Wed, 30 Jun 2010 07:55:43 +0000 (10:55 +0300)]
V4L2 subdev frame interval support

Extend the V4L2 media bus format syntax to support an optional frame interval
value. If specified, the frame interval is set on the subdev.

Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoV4L2 subdev crop support
Laurent Pinchart [Tue, 29 Jun 2010 10:09:35 +0000 (12:09 +0200)]
V4L2 subdev crop support

Extend the V4L2 media bus format syntax to support an optional crop
rectangle. If specified, the crop rectangle is set on the subdev pad.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoEnumerate entities using MEDIA_ENTITY_ID_FLAG_NEXT
Laurent Pinchart [Mon, 14 Jun 2010 20:57:45 +0000 (22:57 +0200)]
Enumerate entities using MEDIA_ENTITY_ID_FLAG_NEXT

Entity IDs don't have to be contiguous. Use the new flag-based
enumeration system instead of looping over consecutive IDs.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agostrerror takes a non-negative integer
Laurent Pinchart [Tue, 8 Jun 2010 12:27:50 +0000 (14:27 +0200)]
strerror takes a non-negative integer

Negative error codes were passed untouched to strerror which then
reported an unknown error. Use the positive error code instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoDon't exit with an error when called with -h
Laurent Pinchart [Thu, 3 Jun 2010 12:00:24 +0000 (14:00 +0200)]
Don't exit with an error when called with -h

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoPrint active formats when printing device topology
Laurent Pinchart [Wed, 2 Jun 2010 14:39:13 +0000 (16:39 +0200)]
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>
12 years agoAdd --print-dot option to print topology as a dot graph
Laurent Pinchart [Fri, 21 May 2010 14:38:55 +0000 (16:38 +0200)]
Add --print-dot option to print topology as a dot graph

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoDon't set formats on remote pads if the remote entity is not a subdev
Laurent Pinchart [Thu, 20 May 2010 22:45:48 +0000 (00:45 +0200)]
Don't set formats on remote pads if the remote entity is not a subdev

When setting format on an output pad, the same format is automatically
set on the remote pads, if any. As the format setting API is
subdev-specific, skip remote pads that belong to a non-subdev entity.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoZero structures before filling them
Laurent Pinchart [Wed, 19 May 2010 21:31:39 +0000 (23:31 +0200)]
Zero structures before filling them

The parse_format function fills a v4l2_mbus_framefmt structure but
doesn't zero it beforehand. This results in some fields being
uninitialized. Fix this.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoReturn -errno in functions returning a negative error code
Laurent Pinchart [Wed, 19 May 2010 21:11:34 +0000 (23:11 +0200)]
Return -errno in functions returning a negative error code

errno is a positive value, fix functions that return errno when they are
expected to return a negative error code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agoInitial import
Laurent Pinchart [Tue, 18 May 2010 22:15:52 +0000 (00:15 +0200)]
Initial import

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>