Re: LibV4L2 and CREATE_BUFS issues

2014-12-15 Thread Hans de Goede

Hi,

On 14-12-14 15:24, Nicolas Dufresne wrote:


Le 2014-12-14 04:49, Hans de Goede a écrit :

Ah yes I see, so I assume that if libv4l where to return a failure for
CREATE_BUFS when conversion is used, that gstreamer will then fallback to
a regular REQUEST_BUFS call ?

Then that indeed seems the best solution, can you submit patch for this ?


Exactly, that should work. My concern with application side workaround would 
that the day someone implements CREATE_BUF support in v4l2 this application 
won't benefit without patching. I'll see if I can find time, disabling it seems 
faster then implementing support for it, specially that current experiment show 
that the jpeg code is really fragile. Current state is that libv4l2 is causing 
a buffer overflow, so it is harmful library in that sense.


Hmm, is that jpeg overflow still there with my recent (aprok 2-3 weeks ago) fix
for this?


This raise a concern, it would mean that USERPTR, DMABUF, CREATE_BUFS will now 
be lost (in most cases) when enabling libv4l2.


Yes, which is not good.


This is getting a bit annoying. Specially that we are pushing forward having 
m2m decoders to only be usable through libv4l2 (HW specific parsers). Is there 
a long term plan or are we simply pushing the dust toward libv4l2 ?


I think that trying to bold support for all of this into libv4l2 is not 
necessarily
a good idea. Then again if we're going to use libv4l2 plugins to do things like
media-controller pipeline setups for apps which are not media-controller aware,
maybe it is ...

libv4l2 was mostly created to get the then current generation of v4l2 apps to 
work
with webcams which have funky formats without pushing fmt conversion into the 
kernel
as several out of tree drivers were doing.

It may be better to come up with a better API for libv4lconvert, and let apps 
which
want to do advanced stuff deal with conversion themselves, while keeping all the
conversion code in a central place, but that does leave the media-controller 
issue.

Note that I've aprox. 0 time to work on libv4l now a days ...

What we really need is an active libv4l maintainer. Do not get me wrong, Gregor
has been doing a great job at maintaining it, but if we want to do some 
architectural
rework (or just a complete rewrite) I think we need someone who knows the v4l2 
API,
media-controller, etc. a lot better.

Regards,

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


Re: LibV4L2 and CREATE_BUFS issues

2014-12-14 Thread Hans de Goede

Hi,

On 13-12-14 17:15, Nicolas Dufresne wrote:


Le 2014-12-13 05:41, Hans de Goede a écrit :

I think making CREATE_BUFS fail when doing conversion is probably best,
note that gstreamer should be able to tell which formats will lead to doing
conversion, and that it can try to avoid those.


Those format indeed have a flag. The problem is for HW specific format, like 
few bayers format, which we can't avoid if we need to use such camera.


Ah yes I see, so I assume that if libv4l where to return a failure for
CREATE_BUFS when conversion is used, that gstreamer will then fallback to
a regular REQUEST_BUFS call ?

Then that indeed seems the best solution, can you submit patch for this ?

Regards,

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


Re: LibV4L2 and CREATE_BUFS issues

2014-12-14 Thread Nicolas Dufresne


Le 2014-12-14 04:49, Hans de Goede a écrit :

Ah yes I see, so I assume that if libv4l where to return a failure for
CREATE_BUFS when conversion is used, that gstreamer will then fallback to
a regular REQUEST_BUFS call ?

Then that indeed seems the best solution, can you submit patch for this ? 


Exactly, that should work. My concern with application side workaround 
would that the day someone implements CREATE_BUF support in v4l2 this 
application won't benefit without patching. I'll see if I can find time, 
disabling it seems faster then implementing support for it, specially 
that current experiment show that the jpeg code is really fragile. 
Current state is that libv4l2 is causing a buffer overflow, so it is 
harmful library in that sense.


This raise a concern, it would mean that USERPTR, DMABUF, CREATE_BUFS 
will now be lost (in most cases) when enabling libv4l2. This is getting 
a bit annoying. Specially that we are pushing forward having m2m 
decoders to only be usable through libv4l2 (HW specific parsers). Is 
there a long term plan or are we simply pushing the dust toward libv4l2 ?


cheers,
Nicolas

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


Re: LibV4L2 and CREATE_BUFS issues

2014-12-13 Thread Hans de Goede

Hi,

On 10-12-14 17:27, Nicolas Dufresne wrote:

Hi,

we recently fixed our CREATE_BUFS support in GStreamer master. It works
nicely with UVC drivers. The problem is that libv4l2 isn't aware of it,
and endup taking terribly decision the least quickly lead to crash.

I'm not sure what that right approach. It seems non-trivial to support
it, at least it would require a bit more knowledge of the converter code
and memory model. Maybe we should at least make sure that CREATE_BUF
fails if we are doing conversion ? Some input on that would be appreciated.


I think making CREATE_BUFS fail when doing conversion is probably best,
note that gstreamer should be able to tell which formats will lead to doing
conversion, and that it can try to avoid those.

Regards,

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


Re: LibV4L2 and CREATE_BUFS issues

2014-12-13 Thread Nicolas Dufresne


Le 2014-12-13 05:41, Hans de Goede a écrit :

I think making CREATE_BUFS fail when doing conversion is probably best,
note that gstreamer should be able to tell which formats will lead to 
doing
conversion, and that it can try to avoid those. 


Those format indeed have a flag. The problem is for HW specific format, 
like few bayers format, which we can't avoid if we need to use such camera.


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


LibV4L2 and CREATE_BUFS issues

2014-12-10 Thread Nicolas Dufresne
Hi,

we recently fixed our CREATE_BUFS support in GStreamer master. It works
nicely with UVC drivers. The problem is that libv4l2 isn't aware of it,
and endup taking terribly decision the least quickly lead to crash.

I'm not sure what that right approach. It seems non-trivial to support
it, at least it would require a bit more knowledge of the converter code
and memory model. Maybe we should at least make sure that CREATE_BUF
fails if we are doing conversion ? Some input on that would be appreciated.

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