[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

V4L-DVB Summit Day 2



Hi all,

A quick update on day 2 of the summit.

We started off with a discussion on the memory pool API. It was soon
obvious that we really should attempt to make this a global memory pool as
opposed to one pool per device. If it is global then we can do some really
fancy stuff that would be hard to do otherwise.

What also became clear quite soon is that a lot more research is needed in
how to allocate and keep track of the memory and how to handle caches etc.

We got some info from Samsung as well on how they solved this issue. We
will need to look at this in more detail. I will make two presentations
from Samsung available on my website later.

After discussing the memory pool API we continued with the Media Controller.

Some conclusions:

- Everyone likes that concept of the media controller.

- Nobody likes using sysfs for link enumeration and setting (sorry Mauro
:-) )

- We do need to introduce something like a group ID in the entity
information to group related entities together. The idea is that
application can use that ID to discover which video node is associated
with which audio node.

- In order to allow data to flow between two endpoints the dataformat
needs to be setup correctly. This needs to be set for both endpoints as
that is the most general solution. But in 99% if not all cases the
dataformat will be the same for both endpoints. So initially the API will
set the dataformat for both endpoints at the same time for ease of use.

- Currently the entity has a 'descr' field that contains what is
effectively tooltip-type information about the entity. This is better
handled as a string control of that entity.

- Rather than using the mc to select a 'target' subdev and pass ioctls on
to that, we decided that creating a node for each sub-device is better.
But only if there is anything to control for that sub-device.

- We agreed that the basic premise should be to keep the driver for a SoC
as simple as possible, and to move a lot of the intelligence in setting up
the SoC to SoC-specific userspace libraries. So the driver in the kernel
is responsible for programming the various sub-devices and buffer I/O,
while configuring the various sub-devices into a working pipeline is the
job of the userspace library. This prevents the kernel driver from
becoming a mess.

Obviously, nothing is final, but all of these points should appear in
future RFCs for further discussion on the mailinglists.

Regards,

         Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Linux Input]     [Video for Linux]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Photos]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Yosemite Backpacking]     [Linux Input]

Add to Google Powered by Linux