Message ID | 20181030105328.0667ec68@coco.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [GIT,PULL,for,v4.20-rc1] new experimental media request API | expand |
On Tue, Oct 30, 2018 at 6:53 AM Mauro Carvalho Chehab <mchehab+samsung@kernel.org> wrote: > > For a new media API: the request API Ugh. I don't know how much being in staging matters - if people start using it, they start using it. "Staging" does not mean "regressions don't matter". But pulled, Linus
Hi Linus, Em Wed, 31 Oct 2018 11:05:09 -0700 Linus Torvalds <torvalds@linux-foundation.org> escreveu: > On Tue, Oct 30, 2018 at 6:53 AM Mauro Carvalho Chehab > <mchehab+samsung@kernel.org> wrote: > > > > For a new media API: the request API > > Ugh. I don't know how much being in staging matters - if people start > using it, they start using it. > > "Staging" does not mean "regressions don't matter". Yes, I know. This shouldn't affect normal cameras and generic V4L2 apps, as this is for very advanced use cases. So, we hope that people won't start using it for a while. The main interested party on this is Google CromeOS. We're working together with them in order to do upstream first. They are well aware that the API may change. So, I don't expect any complaints from their side if the API would require further changes. The point is that this API is complex and ensuring that it will work properly is not easy. We've been thinking about a solution for the Camera HAL 2 for a long time (I guess the first discussions were done back in 2008). The big problem is that V4L2 API was designed to work with a stream, while Google HAL API expects to have control for each individual frame. The Google API allows, for example that, inside a stream, the first frame would have a VGA resolution, the next one a 4K resolution (for example, when the user clicks on a camera button) and then returning back to VGA (it actually allows full control for every single frame). This is something that it is not possible to do with the "standard" V4L2 API without stopping and restarting a stream (with increases a lot the latency). Solving it is so complex that we decided to start with a completely new type of Linux media drivers (stateless decoders). In long term, the same API should be used by not only by decoders, but also for encoders and complex cameras (those with an image signal processor inside a SoC chipset). In order to be sure that it is possible to implement the way we did, We need to be able to add it to the Kernel somehow and to have enough drivers that will let us test all possible scenarios. That will allow to adapt a version of the camera HAL for testing and see if it behaves as expected. > But pulled, Thanks! Anyway, we'll try to rush the tests for this API in order to try sending any fixes that might be disruptive before the final release. Regards, Mauro
On Wed, Oct 31, 2018 at 11:05 AM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > But pulled, I have no idea how I missed this during the actual test compile after the pull (and yes, I'm sure I did one), but after doing a couple of more pulls I finally did notice. After the media pull I get this warning: ./usr/include/linux/v4l2-controls.h:1105: found __[us]{8,16,32,64} type without #include <linux/types.h> and sure enough, the recent changes to include/uapi/linux/v4l2-controls.h add those new structures use the "__uXY" types without including the header to define them. It's harmless in the short term and the kernel build itself obviously doesn't care apart from the warning, but please fix it. Linus
Em Wed, 31 Oct 2018 15:32:03 -0700 Linus Torvalds <torvalds@linux-foundation.org> escreveu: > On Wed, Oct 31, 2018 at 11:05 AM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > > > But pulled, > > I have no idea how I missed this during the actual test compile after > the pull (and yes, I'm sure I did one), but after doing a couple of > more pulls I finally did notice. > > After the media pull I get this warning: > > ./usr/include/linux/v4l2-controls.h:1105: found __[us]{8,16,32,64} > type without #include <linux/types.h> > > and sure enough, the recent changes to > > include/uapi/linux/v4l2-controls.h > > add those new structures use the "__uXY" types without including the > header to define them. > > It's harmless in the short term and the kernel build itself obviously > doesn't care apart from the warning, but please fix it. I also missed this one. Perhaps it depends on gcc version, or is it a new warning after some changes? I remember there was some patchsets floating around related to change some warnings. Anyway, I'll send you a fix for it soon. Thanks, Mauro
Hi! > Em Wed, 31 Oct 2018 11:05:09 -0700 > Linus Torvalds <torvalds@linux-foundation.org> escreveu: > > > On Tue, Oct 30, 2018 at 6:53 AM Mauro Carvalho Chehab > > <mchehab+samsung@kernel.org> wrote: > > > > > > For a new media API: the request API > > > > Ugh. I don't know how much being in staging matters - if people start > > using it, they start using it. > > > > "Staging" does not mean "regressions don't matter". > > Yes, I know. > > This shouldn't affect normal cameras and generic V4L2 apps, as this > is for very advanced use cases. So, we hope that people won't start > using it for a while. > > The main interested party on this is Google CromeOS. We're working > together with them in order to do upstream first. They are well aware > that the API may change. So, I don't expect any complaints from their > side if the API would require further changes. You may want to simply disable it in Kconfig... ChromeOS people can enable it easily, and if it never worked in the mainline, you get some wiggle room :-). Pavel
On 11/11/2018 09:28 PM, Pavel Machek wrote: > Hi! > >> Em Wed, 31 Oct 2018 11:05:09 -0700 >> Linus Torvalds <torvalds@linux-foundation.org> escreveu: >> >>> On Tue, Oct 30, 2018 at 6:53 AM Mauro Carvalho Chehab >>> <mchehab+samsung@kernel.org> wrote: >>>> >>>> For a new media API: the request API >>> >>> Ugh. I don't know how much being in staging matters - if people start >>> using it, they start using it. >>> >>> "Staging" does not mean "regressions don't matter". >> >> Yes, I know. >> >> This shouldn't affect normal cameras and generic V4L2 apps, as this >> is for very advanced use cases. So, we hope that people won't start >> using it for a while. >> >> The main interested party on this is Google CromeOS. We're working >> together with them in order to do upstream first. They are well aware >> that the API may change. So, I don't expect any complaints from their >> side if the API would require further changes. > > You may want to simply disable it in Kconfig... ChromeOS people can > enable it easily, and if it never worked in the mainline, you get some > wiggle room :-). > Pavel > For the record: there are no known issues with the Request API. The only outstanding issue is with a control introduced in the staging cedrus driver which will have to change since the method used to refer to MPEG reference frames is wrong. We're working on that and should have this fixed soon (patches have been posted and I'm waiting for test feedback). This control has nothing to do with the Request API, so I see no reason to put the Request API under a config option. Drivers needs to explicit enable support for the Request API anyway, so all existing drivers will return an error if userspace attempts to use this API. Regards, Hans