Re: [media-workshop] Barcelona Media Summit Report

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

 



On Sat December 29 2012 13:53:38 Mauro Carvalho Chehab wrote:
> Em Sat, 29 Dec 2012 10:08:13 -0200
> Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> escreveu:
> 
> > Hi Hans & others,
> > 
> > Sorry, only today I had time to dig into the Barcelona's media summit report.
> > 
> > I have a few comments for it below.
> > 
> > Regards,
> > Mauro
> > 
> > Em Fri, 16 Nov 2012 13:58:54 +0100
> > Hans Verkuil <hverkuil@xxxxxxxxx> escreveu:
> ...
> 
> Ok, as I'm about to add this at linuxtv website, I'm re-posting the final
> text after my review.
> 
> There's a small format change, as I paste it on Libreoffice, in order to
> make easier to convert to html, but the content should be the one written
> by Hans, with my reviews.

It might be useful to add a pointer to my second draft of the guidelines
for submitting patches:

http://lwn.net/Articles/529490/

Just a suggestion...

Regards,

	Hans

> 
> Regards,
> Mauro
> 
> -
> 
> Barcelona Media Summit Report
> 
> 1 Merging Process
> =================
> The morning was spent discussing the merging process. Basically the number of
>  patch submissions increased from 200 a month two years ago to 700 a month this
>  year. Mauro is unable to keep up with that flood and a solution needed to be
>  found.
> 
> Mauro explained the current merge process, and after that the floor was opened
>  for discussions.
> 
> One of the problems is that it can be difficult to categorize patches since
>  often they are just prefixed with [PATCH]. Depending on who mailed it that
>  might mean an urgent regression fix, a patch that's ready to be merged or a
>  patch that needs review. There is no reliable way of knowing that without
>  actually looking at the mail.
> 
> One thing that we want to improve is to make sure that the regular contributors
>  at least use well defined patch prefixes. That means that we need a standard
>  prefix for regression fixes that need to go into the current rcX kernel asap.
>  This will make it easy to recognize them. We also need a prefix for patches that
>  we want to have reviewed before a final git pull request is posted. Laurent will
>  work into extending patchwork to delegate patches to sub-maintainers when they
>  arrive there.
> 
> There is a distinction between RFC patches and patches you consider final (i.e.
>  ready for merging), but want people to look at. RFC patches will typically need
>  more work, but you want people to check it out and make sure you are going in
>  the right direction. Review patches are what you consider the final version, but
>  you want to give people a final chance to comment on them before posting the pull
>  request.
> 
> We also want to improve the MAINTAINERS file: it must be complete (with the
>  exception of RC keymaps and RC/V4L2/DVB core, where that doesn't make sense). 
> 
> A patch reviewed-by/acked-by from the actual person mentioned in the
>  MAINTAINERS file and that follows the submission rules can be considered
>  with enough review for its merge. Obviously, if someone
>  not responsible for the driver in question has good technical arguments why
>  it's wrong, then that should be taken into account.
> 
> In addition, the current list of media driver maintainers in that file needs
>  to be validated: are all emails still current, and is everyone still willing
>  to maintain their driver?
> 
> New drivers also must come with a MAINTAINERS entry.
> 
> In other words, the MAINTAINERS file will become more important.
> 
> The final decision we made was to appoint submaintainers of parts of the media
>  subsystem. Those submaintainers will take over Mauro's job for those parts
>  that they are responsible for, and make periodic pull requests to Mauro to
>  pull in the patches they have collected.
>  Mauro will still be doing a second review on such patches.
> 
> The submaintainers will be:
> 
> Mike Krufky: frontends/tuners/demodulators
> . In addition he'll be a reviewer for DVB core patches.
> Hans Verkuil: V4L2 drivers and video A/D and D/A subdev drivers (aka video
>  receivers and transmitters). In addition he'll be a reviewer for
>  V4L2 core patches.
> Laurent Pinchart: sensor subdev drivers
> Kamil Debski: codec (aka memory-to-memory) drivers
> Hans de Goede: non-UVC USB webcam drivers
> Guennadi Liakhovetski: soc-camera drivers
> 
> In addition, certain SoC vendors will remain responsible for their own drivers
>  (Samsung, TI) and will keep sending them straight to Mauro.
> 
> The first step is to get the MAINTAINERS file into shape and to improve
>  patchwork, after that we need to clearly document the new structure.
> 
> 2 Requirements for New V4L2 Drivers
> ===================================
> The next topic was to document the requirements for new drivers.
> 
> For the staging tree we want drivers to compile cleanly at the time of submission.
>  Typically, that is all it should take to be accepted into staging.
> It should be noticed though that a driver submitted for staging is a driver that are meant to be
>  promoted one day as a main driver, and someone will actively work on
>  them. So, drivers that can't be promoted to a main driver won't be
>  merged at staging (e. g. drivers for already supported hardware,
>  utterly bogus drivers, ...).
> 
> For inclusion of pure V4L2 drivers into the mainline kernel we require the following:
> 
> Use struct v4l2_device for bridge drivers, use struct v4l2_subdev for
>    sub-device drivers.
> Use the control framework for control handling.
> Use struct v4l2_fh if the driver supports events (implied by the use of
>  controls) or priority handling.
> Use videobuf2 for buffer handling. Mike Krufky will look into extending
>   vb2 to support DVB buffers.
> Must pass the v4l2-compliance tests.
> 
> The criteria for DVB and hybrid V4L2 and DVB drivers should be discussed
>   further at the ML
> 
> Those will be documented likely in Documentation/video4linux/SubmittingDrivers.txt.
> 3 V4L2 Ambiguities
> ==================
> 
> In San Diego we discussed a lot of V4L2 ambiguities and how to resolve them,
>  but we didn't have time to go through all of them. We finished it in Barcelona.
> 
> - What to do if the colorspace is unknown? This happens with UVC webcams that
>   do not report this. The decision was to make a V4L2_COLORSPACE_UNKNOWN. If
>  that is reported, then no colorspace conversion should be attempted by the
>  application.
> 
> - Pixel Aspect Ratio: currently this is only available from VIDIOC_CROPCAP,
>  which conflicts with the new selection API, and it doesn't really belong
>  there anyway.
> 
>   The decision was to implement the pixel aspect ratio as a control, which
>  implies adding a control type for fractions. This needs good documentation
>  and a code example.
> 
> - Should we add a QUERYCAP ioctl for subdevice nodes? The conclusion was that
>  we should add a VIDIOC_SUBDEV_QUERYCAP ioctl. Initially that just needs a
>  version field and some reserved fields and it can be handled in v4l2-subdev.c.
> 
> - Tuner ownership: how should the tuner ownership be handled? The proposal
>  I wrote for this was accepted, with the addition that the code to handle
>  tuner ownership should be shared between DVB and V4L2. I have my name
>  and Hans de Goede's name next to this topic, but I've forgotten what we
>    were supposed to do :-)
> 4 Transport Stream Muxer
> ========================
> 
> ST discussed how to design a driver for a hardware Transport Stream Muxer:
>  this hardware contains a number of DMA engines allowing many transport streams
>  (up to 8192, which is the theoretical maximum) to be muxed into a single big
>  transport stream.
> 
> Due to the large number of possible transport streams one cannot make a video
>  node for each of them. So the solution is to have one memory-to-memory device.
> Every time it is opened you make a new context (filehandle specific) and after
>  setting up the PID (and possibly other (meta) data) you can write the TS to it.
>  There is only one output stream, though. Perhaps we need a new /dev/tsmuxX
>  device node for this, that's still to be decided.
> 
> ST will make an RFC for this idea to discuss this further on the mailinglist.
> 5 DMABUF Testing
> ================
> 
> Progress had been made on this: Laurent showed UVC using DMABUF passing the buffer
> directly to the i915 GPU.
> 6 Asynchronous Loading for Device Tree
> The device tree patches posted by Guennadi were well received, but the part
>  dealing with async loading of devices led to a lot of discussion on the
>  mailinglist so we tried to come to a conclusion during the summit meeting.
> 
> The current patch uses a field in the platform_data of a subdevice to detect
>  whether the bridge driver was present. A better solution is to check for the
>  presence of required resources (e.g. a clock) instead: if not present, then
>  defer probing.
> 
> It was noted that the asynchronous behavior of the device tree will lead to
>  subdevices that are loaded in a random order. This might cause subtle problems
>  in the future if the order of device initialization matters for certain boards.
> It shouldn't matter, but theory and reality are different things. There is
>  nothing that can be done about it at the moment. Should this become a problem,
>  then that should be discussed with the DT developers since this is a DT problem
>  and is not specific to V4L2.
> 
> The 'group' idea in the async loading patches wasn't liked. Instead the suggestion
>  was to provide two different notification methods: a notification when the last
>  required subdev is loaded, and a notification for each loaded subdev. The latter
>  can be used when not all subdevs might be present. In that case the bridge driver
>  needs to be able to decide when sufficient subdevs were found in order to start up.
> 
> 
> 7 Conclusion
> ============
> We managed to get through all topics during this one-day summit, so it was very
>  productive. I'd like to thank all who were there, it's always a pleasure to meet
>  you all!
> 
--
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