/linux-6.3-rc2/drivers/media/pci/ivtv/ |
A D | ivtv-vbi.c | 302 u32 lines = itv->vbi.count; in compress_raw_buf() 349 vbi.p = p + 4; in compress_sliced_buf() 350 v4l2_subdev_call(itv->sd_video, vbi, decode_vbi_line, &vbi); in compress_sliced_buf() 351 if (vbi.type && !(lines & (1 << vbi.line))) { in compress_sliced_buf() 352 lines |= 1 << vbi.line; in compress_sliced_buf() 353 itv->vbi.sliced_data[line].id = vbi.type; in compress_sliced_buf() 354 itv->vbi.sliced_data[line].field = vbi.is_second_field; in compress_sliced_buf() 355 itv->vbi.sliced_data[line].line = vbi.line; in compress_sliced_buf() 356 memcpy(itv->vbi.sliced_data[line].data, vbi.p, 42); in compress_sliced_buf() 386 itv->vbi.frame++; in ivtv_process_vbi_data() [all …]
|
A D | ivtv-controls.c | 19 if (fmt && itv->vbi.sliced_mpeg_data[0] == NULL) { in ivtv_s_stream_vbi_fmt() 24 itv->vbi.sliced_mpeg_data[i] = kmalloc(2049, GFP_KERNEL); in ivtv_s_stream_vbi_fmt() 25 if (itv->vbi.sliced_mpeg_data[i] == NULL) { in ivtv_s_stream_vbi_fmt() 27 kfree(itv->vbi.sliced_mpeg_data[i]); in ivtv_s_stream_vbi_fmt() 28 itv->vbi.sliced_mpeg_data[i] = NULL; in ivtv_s_stream_vbi_fmt() 35 itv->vbi.insert_mpeg = fmt; in ivtv_s_stream_vbi_fmt() 37 if (itv->vbi.insert_mpeg == 0) { in ivtv_s_stream_vbi_fmt() 41 if (ivtv_get_service_set(itv->vbi.sliced_in) == 0) { in ivtv_s_stream_vbi_fmt() 43 itv->vbi.sliced_in->service_set = V4L2_SLICED_CAPTION_525; in ivtv_s_stream_vbi_fmt() 45 itv->vbi.sliced_in->service_set = V4L2_SLICED_WSS_625; in ivtv_s_stream_vbi_fmt() [all …]
|
A D | ivtv-streams.c | 386 v4l2_subdev_call(itv->sd_video, vbi, s_raw_fmt, &itv->vbi.in.fmt.vbi); in ivtv_vbi_setup() 388 v4l2_subdev_call(itv->sd_video, vbi, s_sliced_fmt, &itv->vbi.in.fmt.sliced); in ivtv_vbi_setup() 396 lines = itv->vbi.count * 2; in ivtv_vbi_setup() 403 itv->vbi.enc_size = lines * (raw ? itv->vbi.raw_size : itv->vbi.sliced_size); in ivtv_vbi_setup() 412 data[2] = raw ? 4 : 4 * (itv->vbi.raw_size / itv->vbi.enc_size); in ivtv_vbi_setup() 432 data[6] = (raw ? itv->vbi.raw_size : itv->vbi.sliced_size); in ivtv_vbi_setup() 456 itv->vbi.fpi = data[0]; in ivtv_vbi_setup() 457 if (!itv->vbi.fpi) in ivtv_vbi_setup() 458 itv->vbi.fpi = 1; in ivtv_vbi_setup() 461 itv->vbi.enc_start, data[1], itv->vbi.fpi); in ivtv_vbi_setup() [all …]
|
A D | ivtv-driver.c | 777 itv->vbi.sliced_in = &itv->vbi.in.fmt.sliced; in ivtv_init_struct1() 958 itv->vbi.raw_decoder_line_size = 1444; in ivtv_load_and_init_modules() 959 itv->vbi.raw_decoder_sav_odd_field = 0x20; in ivtv_load_and_init_modules() 961 itv->vbi.sliced_decoder_line_size = 272; in ivtv_load_and_init_modules() 977 itv->vbi.raw_decoder_line_size = 1443; in ivtv_load_and_init_modules() 978 itv->vbi.raw_decoder_sav_odd_field = 0x25; in ivtv_load_and_init_modules() 980 itv->vbi.sliced_decoder_line_size = 51; in ivtv_load_and_init_modules() 986 itv->vbi.raw_decoder_line_size = 1443; in ivtv_load_and_init_modules() 989 itv->vbi.sliced_decoder_line_size = 51; in ivtv_load_and_init_modules() 1170 itv->vbi.raw_size = 1456; in ivtv_probe() [all …]
|
A D | ivtv-fileops.c | 71 itv->vbi.insert_mpeg && !ivtv_raw_vbi(itv)) { in ivtv_claim_stream() 221 buf = &itv->vbi.sliced_mpeg_buf; in ivtv_get_buffer() 279 int idx = itv->vbi.inserted_frame % IVTV_VBI_FRAMES; in ivtv_setup_sliced_vbi_buf() 281 itv->vbi.sliced_mpeg_buf.buf = itv->vbi.sliced_mpeg_data[idx]; in ivtv_setup_sliced_vbi_buf() 282 itv->vbi.sliced_mpeg_buf.bytesused = itv->vbi.sliced_mpeg_size[idx]; in ivtv_setup_sliced_vbi_buf() 283 itv->vbi.sliced_mpeg_buf.readpos = 0; in ivtv_setup_sliced_vbi_buf() 294 !ivtv_raw_vbi(itv) && buf != &itv->vbi.sliced_mpeg_buf) { in ivtv_copy_buf_to_user() 384 if (buf != &itv->vbi.sliced_mpeg_buf) { in ivtv_read() 388 int idx = itv->vbi.inserted_frame % IVTV_VBI_FRAMES; in ivtv_read() 389 itv->vbi.sliced_mpeg_size[idx] = 0; in ivtv_read() [all …]
|
/linux-6.3-rc2/drivers/media/test-drivers/vivid/ |
A D | vivid-vbi-out.c | 140 struct v4l2_vbi_format *vbi = &f->fmt.vbi; in vidioc_g_fmt_vbi_out() local 147 vbi->offset = 24; in vidioc_g_fmt_vbi_out() 148 vbi->samples_per_line = 1440; in vidioc_g_fmt_vbi_out() 152 vbi->count[0] = vbi->count[1] = is_60hz ? 12 : 18; in vidioc_g_fmt_vbi_out() 154 vbi->reserved[0] = 0; in vidioc_g_fmt_vbi_out() 155 vbi->reserved[1] = 0; in vidioc_g_fmt_vbi_out() 231 switch (vbi->id) { in vivid_sliced_vbi_out_process() 235 dev->vbi_out_cc[!!vbi->field][0] = vbi->data[0]; in vivid_sliced_vbi_out_process() 236 dev->vbi_out_cc[!!vbi->field][1] = vbi->data[1]; in vivid_sliced_vbi_out_process() 241 vbi->field == 0 && vbi->line == 23) { in vivid_sliced_vbi_out_process() [all …]
|
A D | vivid-vbi-cap.c | 70 vbi->sampling_rate = 27000000; in vivid_g_fmt_vbi_cap() 71 vbi->offset = 24; in vivid_g_fmt_vbi_cap() 72 vbi->samples_per_line = 1440; in vivid_g_fmt_vbi_cap() 76 vbi->count[0] = vbi->count[1] = is_60hz ? 12 : 18; in vivid_g_fmt_vbi_cap() 78 vbi->reserved[0] = 0; in vivid_g_fmt_vbi_cap() 79 vbi->reserved[1] = 0; in vivid_g_fmt_vbi_cap() 84 struct v4l2_vbi_format vbi; in vivid_raw_vbi_cap_process() local 241 struct v4l2_vbi_format *vbi = &f->fmt.vbi; in vidioc_g_fmt_vbi_cap() local 267 memset(vbi->service_lines, 0, sizeof(vbi->service_lines)); in vivid_fill_service_lines() 268 memset(vbi->reserved, 0, sizeof(vbi->reserved)); in vivid_fill_service_lines() [all …]
|
A D | vivid-vbi-gen.c | 109 void vivid_vbi_gen_raw(const struct vivid_vbi_gen_data *vbi, in vivid_vbi_gen_raw() argument 115 const struct v4l2_sliced_vbi_data *data = vbi->data + idx; in vivid_vbi_gen_raw() 245 void vivid_vbi_gen_sliced(struct vivid_vbi_gen_data *vbi, in vivid_vbi_gen_sliced() argument 248 struct v4l2_sliced_vbi_data *data0 = vbi->data; in vivid_vbi_gen_sliced() 249 struct v4l2_sliced_vbi_data *data1 = vbi->data + 1; in vivid_vbi_gen_sliced() 252 memset(vbi->data, 0, sizeof(vbi->data)); in vivid_vbi_gen_sliced() 299 vivid_vbi_gen_set_time_of_day(vbi->time_of_day_packet); in vivid_vbi_gen_sliced() 302 data1->data[0] = vbi->time_of_day_packet[frame * 2]; in vivid_vbi_gen_sliced() 303 data1->data[1] = vbi->time_of_day_packet[frame * 2 + 1]; in vivid_vbi_gen_sliced()
|
A D | Makefile | 2 vivid-objs := vivid-core.o vivid-ctrls.o vivid-vid-common.o vivid-vbi-gen.o \ 5 vivid-rds-gen.o vivid-sdr-cap.o vivid-vbi-cap.o vivid-vbi-out.o \
|
A D | vivid-vbi-gen.h | 16 void vivid_vbi_gen_sliced(struct vivid_vbi_gen_data *vbi, 18 void vivid_vbi_gen_raw(const struct vivid_vbi_gen_data *vbi,
|
/linux-6.3-rc2/drivers/media/pci/cx18/ |
A D | cx18-vbi.c | 98 u32 lines = cx->vbi.count * 2; in compress_raw_buf() 162 vbi.p = p + 4; in compress_sliced_buf() 163 v4l2_subdev_call(cx->sd_av, vbi, decode_vbi_line, &vbi); in compress_sliced_buf() 164 if (vbi.type) { in compress_sliced_buf() 165 cx->vbi.sliced_data[line].id = vbi.type; in compress_sliced_buf() 166 cx->vbi.sliced_data[line].field = vbi.is_second_field; in compress_sliced_buf() 167 cx->vbi.sliced_data[line].line = vbi.line; in compress_sliced_buf() 168 memcpy(cx->vbi.sliced_data[line].data, vbi.p, 42); in compress_sliced_buf() 211 cx->vbi.frame++; in _cx18_process_vbi_data() 232 if (cx->vbi.insert_mpeg) in _cx18_process_vbi_data() [all …]
|
A D | cx18-controls.c | 32 cx->vbi.insert_mpeg = V4L2_MPEG_STREAM_VBI_FMT_NONE; in cx18_s_stream_vbi_fmt() 38 if (cx->vbi.sliced_mpeg_data[0] == NULL) { in cx18_s_stream_vbi_fmt() 42 cx->vbi.sliced_mpeg_data[i] = in cx18_s_stream_vbi_fmt() 44 if (cx->vbi.sliced_mpeg_data[i] == NULL) { in cx18_s_stream_vbi_fmt() 46 kfree(cx->vbi.sliced_mpeg_data[i]); in cx18_s_stream_vbi_fmt() 47 cx->vbi.sliced_mpeg_data[i] = NULL; in cx18_s_stream_vbi_fmt() 49 cx->vbi.insert_mpeg = in cx18_s_stream_vbi_fmt() 57 cx->vbi.insert_mpeg = fmt; in cx18_s_stream_vbi_fmt() 64 if (cx18_get_service_set(cx->vbi.sliced_in) == 0) { in cx18_s_stream_vbi_fmt() 66 cx->vbi.sliced_in->service_set = in cx18_s_stream_vbi_fmt() [all …]
|
A D | cx18-av-vbi.c | 246 struct v4l2_decode_vbi_line *vbi) in cx18_av_decode_vbi_line() argument 250 struct vbi_anc_data *anc = (struct vbi_anc_data *)vbi->p; in cx18_av_decode_vbi_line() 261 vbi->line = vbi->type = 0; in cx18_av_decode_vbi_line() 294 vbi->type = err ? 0 : sdid; in cx18_av_decode_vbi_line() 295 vbi->line = err ? 0 : l; in cx18_av_decode_vbi_line() 296 vbi->is_second_field = err ? 0 : (did == sliced_vbi_did[1]); in cx18_av_decode_vbi_line() 297 vbi->p = p; in cx18_av_decode_vbi_line()
|
A D | cx18-fileops.c | 74 if (cx->vbi.insert_mpeg && !cx18_raw_vbi(cx)) in cx18_claim_stream() 195 mdl = &cx->vbi.sliced_mpeg_mdl; in cx18_get_mdl() 246 struct cx18_mdl *mdl = &cx->vbi.sliced_mpeg_mdl; in cx18_setup_sliced_vbi_mdl() 247 struct cx18_buffer *buf = &cx->vbi.sliced_mpeg_buf; in cx18_setup_sliced_vbi_mdl() 250 buf->buf = cx->vbi.sliced_mpeg_data[idx]; in cx18_setup_sliced_vbi_mdl() 251 buf->bytesused = cx->vbi.sliced_mpeg_size[idx]; in cx18_setup_sliced_vbi_mdl() 255 mdl->bytesused = cx->vbi.sliced_mpeg_size[idx]; in cx18_setup_sliced_vbi_mdl() 358 buf != &cx->vbi.sliced_mpeg_buf) in cx18_copy_buf_to_user() 448 if (mdl != &cx->vbi.sliced_mpeg_mdl) { in cx18_read() 456 cx->vbi.sliced_mpeg_size[idx] = 0; in cx18_read() [all …]
|
A D | cx18-streams.c | 545 cx->vbi.count = 12; in cx18_vbi_setup() 546 cx->vbi.start[0] = 10; in cx18_vbi_setup() 547 cx->vbi.start[1] = 273; in cx18_vbi_setup() 549 cx->vbi.count = 18; in cx18_vbi_setup() 550 cx->vbi.start[0] = 6; in cx18_vbi_setup() 551 cx->vbi.start[1] = 318; in cx18_vbi_setup() 556 v4l2_subdev_call(cx->sd_av, vbi, s_raw_fmt, &cx->vbi.in.fmt.vbi); in cx18_vbi_setup() 558 v4l2_subdev_call(cx->sd_av, vbi, s_sliced_fmt, &cx->vbi.in.fmt.sliced); in cx18_vbi_setup() 569 lines = cx->vbi.count * 2; in cx18_vbi_setup() 813 cx->vbi.frame = 0; in cx18_start_v4l2_encode_stream() [all …]
|
A D | cx18-ioctl.c | 162 struct v4l2_vbi_format *vbifmt = &fmt->fmt.vbi; in cx18_g_fmt_vbi_cap() 168 vbifmt->start[0] = cx->vbi.start[0]; in cx18_g_fmt_vbi_cap() 169 vbifmt->start[1] = cx->vbi.start[1]; in cx18_g_fmt_vbi_cap() 170 vbifmt->count[0] = vbifmt->count[1] = cx->vbi.count; in cx18_g_fmt_vbi_cap() 313 ret = v4l2_subdev_call(cx->sd_av, vbi, s_raw_fmt, &fmt->fmt.vbi); in cx18_s_fmt_vbi_cap() 318 cx->vbi.sliced_in->service_set = 0; in cx18_s_fmt_vbi_cap() 319 cx->vbi.in.type = V4L2_BUF_TYPE_VBI_CAPTURE; in cx18_s_fmt_vbi_cap() 351 memcpy(cx->vbi.sliced_in, vbifmt, sizeof(*cx->vbi.sliced_in)); in cx18_s_fmt_sliced_vbi_cap() 599 cx->vbi.count = cx->is_50hz ? 18 : 12; in cx18_s_std() 600 cx->vbi.start[0] = cx->is_50hz ? 6 : 10; in cx18_s_std() [all …]
|
/linux-6.3-rc2/drivers/media/pci/cx23885/ |
A D | cx23885-vbi.c | 41 f->fmt.vbi.sampling_rate = 27000000; in cx23885_vbi_fmt() 42 f->fmt.vbi.samples_per_line = VBI_LINE_LENGTH; in cx23885_vbi_fmt() 43 f->fmt.vbi.sample_format = V4L2_PIX_FMT_GREY; in cx23885_vbi_fmt() 44 f->fmt.vbi.offset = 0; in cx23885_vbi_fmt() 45 f->fmt.vbi.flags = 0; in cx23885_vbi_fmt() 48 f->fmt.vbi.start[0] = V4L2_VBI_ITU_525_F1_START + 9; in cx23885_vbi_fmt() 49 f->fmt.vbi.start[1] = V4L2_VBI_ITU_525_F2_START + 9; in cx23885_vbi_fmt() 50 f->fmt.vbi.count[0] = VBI_NTSC_LINE_COUNT; in cx23885_vbi_fmt() 51 f->fmt.vbi.count[1] = VBI_NTSC_LINE_COUNT; in cx23885_vbi_fmt() 56 f->fmt.vbi.count[0] = VBI_PAL_LINE_COUNT; in cx23885_vbi_fmt() [all …]
|
/linux-6.3-rc2/drivers/media/pci/cx88/ |
A D | cx88-vbi.c | 28 f->fmt.vbi.samples_per_line = VBI_LINE_LENGTH; in cx8800_vbi_fmt() 29 f->fmt.vbi.sample_format = V4L2_PIX_FMT_GREY; in cx8800_vbi_fmt() 30 f->fmt.vbi.offset = 244; in cx8800_vbi_fmt() 34 f->fmt.vbi.sampling_rate = 28636363; in cx8800_vbi_fmt() 35 f->fmt.vbi.start[0] = 10; in cx8800_vbi_fmt() 36 f->fmt.vbi.start[1] = 273; in cx8800_vbi_fmt() 37 f->fmt.vbi.count[0] = VBI_LINE_NTSC_COUNT; in cx8800_vbi_fmt() 38 f->fmt.vbi.count[1] = VBI_LINE_NTSC_COUNT; in cx8800_vbi_fmt() 42 f->fmt.vbi.sampling_rate = 35468950; in cx8800_vbi_fmt() 45 f->fmt.vbi.count[0] = VBI_LINE_PAL_COUNT; in cx8800_vbi_fmt() [all …]
|
/linux-6.3-rc2/drivers/media/pci/bt8xx/ |
A D | bttv-vbi.c | 314 return try_fmt(&frt->fmt.vbi, tvnorm, crop_start); in bttv_try_fmt_vbi_cap() 347 end = max(frt->fmt.vbi.start[0], start1) * 2 + 2; in bttv_s_fmt_vbi_cap() 349 mutex_lock(&fh->vbi.vb_lock); in bttv_s_fmt_vbi_cap() 351 fh->vbi_fmt.fmt = frt->fmt.vbi; in bttv_s_fmt_vbi_cap() 355 mutex_unlock(&fh->vbi.vb_lock); in bttv_s_fmt_vbi_cap() 371 frt->fmt.vbi = fh->vbi_fmt.fmt; in bttv_g_fmt_vbi_cap() 386 frt->fmt.vbi.sampling_rate = tvnorm->Fsc; in bttv_g_fmt_vbi_cap() 391 new_start = frt->fmt.vbi.start[i] in bttv_g_fmt_vbi_cap() 396 frt->fmt.vbi.count[i] = in bttv_g_fmt_vbi_cap() 397 min((__s32) frt->fmt.vbi.count[i], in bttv_g_fmt_vbi_cap() [all …]
|
/linux-6.3-rc2/drivers/media/i2c/cx25840/ |
A D | cx25840-vbi.c | 216 int cx25840_decode_vbi_line(struct v4l2_subdev *sd, struct v4l2_decode_vbi_line *vbi) in cx25840_decode_vbi_line() argument 219 u8 *p = vbi->p; in cx25840_decode_vbi_line() 224 vbi->line = vbi->type = 0; in cx25840_decode_vbi_line() 257 vbi->type = err ? 0 : id2; in cx25840_decode_vbi_line() 258 vbi->line = err ? 0 : l; in cx25840_decode_vbi_line() 259 vbi->is_second_field = err ? 0 : (id1 == 0x55); in cx25840_decode_vbi_line() 260 vbi->p = p; in cx25840_decode_vbi_line()
|
/linux-6.3-rc2/drivers/media/common/saa7146/ |
A D | saa7146_fops.c | 112 struct saa7146_dmaqueue *q, int vbi) in saa7146_buffer_next() argument 133 if( 0 != vbi ) { in saa7146_buffer_next() 468 struct v4l2_vbi_format *vbi; in saa7146_vv_init() local 550 vbi = &vv->vbi_fmt; in saa7146_vv_init() 551 vbi->sampling_rate = 27000000; in saa7146_vv_init() 552 vbi->offset = 248; /* todo */ in saa7146_vv_init() 553 vbi->samples_per_line = 720 * 2; in saa7146_vv_init() 557 vbi->start[0] = 5; in saa7146_vv_init() 558 vbi->count[0] = 16; in saa7146_vv_init() 559 vbi->start[1] = 312; in saa7146_vv_init() [all …]
|
/linux-6.3-rc2/drivers/media/pci/saa7164/ |
A D | saa7164-vbi.c | 399 f->fmt.vbi.samples_per_line = 1440; in saa7164_vbi_fmt() 400 f->fmt.vbi.sampling_rate = 27000000; in saa7164_vbi_fmt() 401 f->fmt.vbi.sample_format = V4L2_PIX_FMT_GREY; in saa7164_vbi_fmt() 402 f->fmt.vbi.offset = 0; in saa7164_vbi_fmt() 403 f->fmt.vbi.flags = 0; in saa7164_vbi_fmt() 404 f->fmt.vbi.start[0] = 10; in saa7164_vbi_fmt() 405 f->fmt.vbi.count[0] = 18; in saa7164_vbi_fmt() 406 f->fmt.vbi.start[1] = 263 + 10 + 1; in saa7164_vbi_fmt() 407 f->fmt.vbi.count[1] = 18; in saa7164_vbi_fmt() 408 memset(f->fmt.vbi.reserved, 0, sizeof(f->fmt.vbi.reserved)); in saa7164_vbi_fmt()
|
/linux-6.3-rc2/Documentation/userspace-api/media/v4l/ |
A D | dev-sliced-vbi.rst | 17 :ref:`raw VBI interface <raw-vbi>`. The data is passed as short 23 interfaces, the default function of a ``/dev/vbi`` device is *raw* VBI 51 .. _sliced-vbi-format-negotitation: 334 captured from, or shall be inserted at. See :ref:`vbi-525` and 383 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>` 387 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>` 393 :ref:`V4L2_CID_MPEG_STREAM_VBI_FMT <v4l2-mpeg-stream-vbi-fmt>` 413 :ref:`V4L2_MPEG_STREAM_VBI_FMT_NONE <v4l2-mpeg-stream-vbi-fmt>` 497 .. _v4l2-mpeg-vbi-fmt-ivtv-magic: 580 .. _v4l2-mpeg-vbi-itv0-1: [all …]
|
A D | devices.rst | 18 dev-raw-vbi 19 dev-sliced-vbi
|
/linux-6.3-rc2/drivers/media/usb/cx231xx/ |
A D | cx231xx-video.c | 1416 f->fmt.vbi.sampling_rate = 6750000 * 4; in vidioc_g_fmt_vbi_cap() 1418 f->fmt.vbi.sample_format = V4L2_PIX_FMT_GREY; in vidioc_g_fmt_vbi_cap() 1419 f->fmt.vbi.offset = 0; in vidioc_g_fmt_vbi_cap() 1426 f->fmt.vbi.count[1] = f->fmt.vbi.count[0]; in vidioc_g_fmt_vbi_cap() 1427 memset(f->fmt.vbi.reserved, 0, sizeof(f->fmt.vbi.reserved)); in vidioc_g_fmt_vbi_cap() 1438 f->fmt.vbi.sampling_rate = 6750000 * 4; in vidioc_try_fmt_vbi_cap() 1440 f->fmt.vbi.sample_format = V4L2_PIX_FMT_GREY; in vidioc_try_fmt_vbi_cap() 1441 f->fmt.vbi.offset = 0; in vidioc_try_fmt_vbi_cap() 1442 f->fmt.vbi.flags = 0; in vidioc_try_fmt_vbi_cap() 1449 f->fmt.vbi.count[1] = f->fmt.vbi.count[0]; in vidioc_try_fmt_vbi_cap() [all …]
|