Hi Hans, On Monday 29 November 2010 11:36:03 Hans Verkuil wrote: > > On Monday 29 November 2010 08:34:06 Hans Verkuil wrote: [snip] > >> I *think* that what you are saying is that your hardware can have just a > >> single 'm2m' video instance and so you want to allow the user to switch > >> between the possible m2m functions (video encoder or decoder) > >> dynamically. > >> Is that right? > >> > >> If so, then I think creating a so-called 'private' control for your > >> hardware would be the best way to go. As an example of private controls > >> search for the V4L2_CID_MPEG_CX2341X_BASE define in videodev2.h. > > > > I would rely on formats. If the input format is YUV and the output format > > is MPEG, it's pretty obvious that the hardware should be encoding. If the > > formats are the other way around, then the hardware should be decoding. > > That doesn't work in the general case. Instead of video encoding/decoding > you may also have video effects, colorspace conversion or other fancy > transformations. For colorspace conversion we can rely on formats as well. For video effects controls will probably be needed. > That said, in this particular case your suggestion would work. If we think about the general case of a completely programmable system (think DSP), we will need a way to load the right firmware depending on the task at hand. The DSP would then become special purpose hardware, and V4L2 applications won't need to care much about how to select the desired operating mode. Whether the firmware selection/loading mechanism should be part of V4L2 or not is something to be discussed. -- Regards, Laurent Pinchart -- 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