1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struct v4l2_subdev_vbi_ops</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="mediadev.html#id-1.8.2" title="Video2Linux devices"><link rel="prev" href="API-struct-v4l2-subdev-video-ops.html" title="struct v4l2_subdev_video_ops"><link rel="next" href="API-struct-v4l2-subdev-sensor-ops.html" title="struct v4l2_subdev_sensor_ops"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct v4l2_subdev_vbi_ops</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-v4l2-subdev-video-ops.html">Prev</a> </td><th width="60%" align="center">Video2Linux devices</th><td width="20%" align="right"> <a accesskey="n" href="API-struct-v4l2-subdev-sensor-ops.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-v4l2-subdev-vbi-ops"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct v4l2_subdev_vbi_ops — 
2     Callbacks used when v4l device was opened in video mode via the vbi device node.
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting">
4struct v4l2_subdev_vbi_ops {
5  int (* decode_vbi_line) (struct v4l2_subdev *sd, struct v4l2_decode_vbi_line *vbi_line);
6  int (* s_vbi_data) (struct v4l2_subdev *sd, const struct v4l2_sliced_vbi_data *vbi_data);
7  int (* g_vbi_data) (struct v4l2_subdev *sd, struct v4l2_sliced_vbi_data *vbi_data);
8  int (* g_sliced_vbi_cap) (struct v4l2_subdev *sd, struct v4l2_sliced_vbi_cap *cap);
9  int (* s_raw_fmt) (struct v4l2_subdev *sd, struct v4l2_vbi_format *fmt);
10  int (* g_sliced_fmt) (struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format *fmt);
11  int (* s_sliced_fmt) (struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format *fmt);
12};  </pre></div><div class="refsect1"><a name="id-1.8.2.85.5"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">decode_vbi_line</span></dt><dd><p>
13   video decoders that support sliced VBI need to implement
14   this ioctl. Field p of the v4l2_sliced_vbi_line struct is set to the
15   start of the VBI data that was generated by the decoder. The driver
16   then parses the sliced VBI data and sets the other fields in the
17   struct accordingly. The pointer p is updated to point to the start of
18   the payload which can be copied verbatim into the data field of the
19   v4l2_sliced_vbi_data struct. If no valid VBI data was found, then the
20   type field is set to 0 on return.
21      </p></dd><dt><span class="term">s_vbi_data</span></dt><dd><p>
22   used to generate VBI signals on a video signal.
23   v4l2_sliced_vbi_data is filled with the data packets that should be
24   output. Note that if you set the line field to 0, then that VBI signal
25   is disabled. If no valid VBI data was found, then the type field is
26   set to 0 on return.
27      </p></dd><dt><span class="term">g_vbi_data</span></dt><dd><p>
28   used to obtain the sliced VBI packet from a readback register.
29   Not all video decoders support this. If no data is available because
30   the readback register contains invalid or erroneous data -EIO is
31   returned. Note that you must fill in the 'id' member and the 'field'
32   member (to determine whether CC data from the first or second field
33   should be obtained).
34      </p></dd><dt><span class="term">g_sliced_vbi_cap</span></dt><dd><p>
35   callback for VIDIOC_SLICED_VBI_CAP ioctl handler code.
36      </p></dd><dt><span class="term">s_raw_fmt</span></dt><dd><p>
37   setup the video encoder/decoder for raw VBI.
38      </p></dd><dt><span class="term">g_sliced_fmt</span></dt><dd><p>
39   retrieve the current sliced VBI settings.
40      </p></dd><dt><span class="term">s_sliced_fmt</span></dt><dd><p>
41   setup the sliced VBI settings.
42      </p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-v4l2-subdev-video-ops.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mediadev.html#id-1.8.2">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-struct-v4l2-subdev-sensor-ops.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct v4l2_subdev_video_ops</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">struct v4l2_subdev_sensor_ops</span></td></tr></table></div></body></html>
43