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