2012/6/27 Hans Verkuil <hverk...@xs4all.nl>:
> On Wed 27 June 2012 11:37:24 Scott Jiang wrote:
>> Hi Hans,
>>
>> I noticed there are two s_std ops in core and video for output. And
>> some drivers call video->s_std_out and then core->s_std in their S_STD
>> iotcl. Could anyone share me the story why we have
>> s_std_output/g_std_output/g_tvnorms_output ops in video instead of
>> making use of s_std/g_std in core?
>
> The core class is for common, often used ops. Setting the standard for
> capture devices is very common, so it is in core. Setting the standard
> for output devices is much less common (there aren't that many output
> devices in the kernel), so that stayed in the video class.
>
My question is why we can't reuse s_std/g_std for output device. We
use same VIDIOC_S_STD/VIDIOC_G_STD ioctl for both input and output.

> It is a bit arbitrary and I am not sure whether I would make the same
> choice now.
>
So I should ignore s_std/g_std  and use s_std_output/g_std_output in
encoder driver, right?

> There is no g_tvnorms_output, BTW.
>
It really exists.
struct v4l2_subdev_video_ops {
        int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32
output, u32 config);
        int (*s_crystal_freq)(struct v4l2_subdev *sd, u32 freq, u32 flags);
        int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std);
        int (*g_std_output)(struct v4l2_subdev *sd, v4l2_std_id *std);
        int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std);
        int (*g_tvnorms_output)(struct v4l2_subdev *sd, v4l2_std_id *std);
--
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

Reply via email to