RE: RFC: Problem of using v4l2 spec with codec function

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

 



Hello,

> From: Jonghun Han [mailto:jonghun.han@xxxxxxxxxxx]
> Sent: 06 December 2010 07:57
> 
> Hi,
> 
> If MFC(encoder/decoder) has a single node,
> how to know application's object before VIDIOC_S_FMT calling ?

You're right. No way to know that before.

> VIDIOC_S_CTRL can be called before VIDIOC_S_FMT.
> For example user wants to use MFC as an *encoder*,
> but user calls VIDIOC_S_CTRL with *decoder* command by mistake.
> In that case driver cannot return fail because it cannot know the
> purpose
> before VIDIOC_S_FMT calling. When VIDIOC_S_FMT is called to use MFC as
> an
> *encoder*
> after VIDIOC_S_CTRL, driver will be confused how to handle it.
> 
> But in two nodes solution
> decoder command via VIDIOC_S_CTRL will be failed on encoder device
> node.
> 
> 
> > -----Original Message-----
> > From: linux-media-owner@xxxxxxxxxxxxxxx [mailto:linux-media-
> > owner@xxxxxxxxxxxxxxx] On Behalf Of Pawel Osciak
> > Sent: Sunday, December 05, 2010 7:55 AM
> > Hi all,
> > I would side with Laurent on this. Judging by formats seems to be
> > enough for this driver and it has great, in my opinion, advantages of
> > a) not overcomplicating things for applications b) not adding new
> > pieces to the API...

We've had a discussion here with Sylwester Nawrocki and Marek Szyprowski.

I suppose the application has to detect which video node is MFC anyway,
for example by looking through /sys/class/video4linux or adding rules to
udev. Same way it can choose which of the two node to use, so I don't
think it going to be such a problem. In case of FIMC functionality -
camera capture and m2m transformations are divided between two video
nodes.

In case of differentiating by format, I agree that it is feasible, but
in my opinion it will overcomplicate the driver. When two nodes are used,
there are going to be separate videobuf2 ops. Those functions that can be
reused, would be reused, otherwise there would be two versions - one for
encoding and one for decoding. Without that most functions would have to
check what the context is doing and act appropriately. This means more
complex code.

What API changes have you had in mind that would be required when using
two video nodes?

Best regards
-- 
Kamil Debski
Linux Platform Group
Samsung Poland R&D Center

--
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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux