/linux/include/media/ |
H A D | v4l2-event.h | 19 struct v4l2_fh; 75 struct v4l2_fh *fh; 91 int v4l2_event_dequeue(struct v4l2_fh *fh, struct v4l2_event *event, 121 void v4l2_event_queue_fh(struct v4l2_fh *fh, const struct v4l2_event *ev); 139 int v4l2_event_pending(struct v4l2_fh *fh); 154 int v4l2_event_subscribe(struct v4l2_fh *fh, 164 int v4l2_event_unsubscribe(struct v4l2_fh *fh, 171 void v4l2_event_unsubscribe_all(struct v4l2_fh *fh); 186 struct v4l2_fh *fh, 195 int v4l2_src_change_event_subscribe(struct v4l2_fh *fh, [all …]
|
H A D | v4l2-fh.h | 42 struct v4l2_fh { struct 70 void v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev); 80 void v4l2_fh_add(struct v4l2_fh *fh); 105 void v4l2_fh_del(struct v4l2_fh *fh); 119 void v4l2_fh_exit(struct v4l2_fh *fh); 143 int v4l2_fh_is_singular(struct v4l2_fh *fh);
|
H A D | v4l2-ctrls.h | 22 struct v4l2_fh; 1304 int v4l2_ctrl_subscribe_event(struct v4l2_fh *fh, 1452 int v4l2_s_ctrl(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl, 1497 int v4l2_s_ext_ctrls(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl, 1511 int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev *sd, struct v4l2_fh *fh,
|
/linux/Documentation/driver-api/media/ |
H A D | v4l2-fh.rst | 6 struct v4l2_fh provides a way to easily keep file handle specific 10 New drivers must use struct v4l2_fh 23 In many cases the struct v4l2_fh will be embedded in a larger 38 struct v4l2_fh fh; 66 struct v4l2_fh *fh = file->private_data; 79 (:c:type:`fh <v4l2_fh>`, :c:type:`vdev <video_device>`) 87 (:c:type:`fh <v4l2_fh>`) 93 (:c:type:`fh <v4l2_fh>`) 99 (:c:type:`fh <v4l2_fh>`) 110 - This allocates a struct v4l2_fh, initializes it and adds it to [all …]
|
H A D | v4l2-event.rst | 7 The driver must use :c:type:`v4l2_fh` to be able to support V4L2 events. 14 The :c:type:`v4l2_fh` struct has a list of subscribed events on its 18 struct is added to :c:type:`v4l2_fh`\ ``.subscribed``, one for every 36 list of the :c:type:`v4l2_fh` struct so :ref:`VIDIOC_DQEVENT` will 47 - struct v4l2_fh has two lists: one of the ``subscribed`` events, 96 (:c:type:`fh <v4l2_fh>`, :c:type:`sub <v4l2_event_subscription>` , 133 (:c:type:`fh <v4l2_fh>`, :c:type:`sub <v4l2_event_subscription>`) 149 (:c:type:`fh <v4l2_fh>`) 159 can use :c:type:`v4l2_fh`->wait (a wait_queue_head_t) as the argument for
|
/linux/Documentation/translations/zh_CN/video4linux/ |
H A D | v4l2-framework.txt | 86 结构体保存 V4L2 设备节点的数据;将来 v4l2_fh 结构体将跟踪文件句柄 771 v4l2_fh 结构体 778 v4l2_fh 的用户(位于 V4l2 框架中,并非驱动)可通过测试 783 v4l2_fh 结构体作为驱动自身文件句柄结构体的一部分被分配,且驱动在 794 struct v4l2_fh fh; 832 以下是 v4l2_fh 函数使用的简介: 839 void v4l2_fh_add(struct v4l2_fh *fh) 851 清理文件句柄。在清理完 v4l2_fh 后,相关内存会被释放。 854 如果 v4l2_fh 不是嵌入在其他结构体中的,则可以用这些辅助函数: 864 v4l2_fh 并释放空间。 [all …]
|
/linux/drivers/media/v4l2-core/ |
H A D | v4l2-fh.c | 21 void v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev) in v4l2_fh_init() 44 void v4l2_fh_add(struct v4l2_fh *fh) in v4l2_fh_add() 58 struct v4l2_fh *fh = kzalloc(sizeof(*fh), GFP_KERNEL); in v4l2_fh_open() 69 void v4l2_fh_del(struct v4l2_fh *fh) in v4l2_fh_del() 80 void v4l2_fh_exit(struct v4l2_fh *fh) in v4l2_fh_exit() 93 struct v4l2_fh *fh = filp->private_data; in v4l2_fh_release() 105 int v4l2_fh_is_singular(struct v4l2_fh *fh) in v4l2_fh_is_singular()
|
H A D | v4l2-event.c | 89 struct v4l2_fh *fh, u32 type, u32 id) in v4l2_event_subscribed() 102 static void __v4l2_event_queue_fh(struct v4l2_fh *fh, in __v4l2_event_queue_fh() 155 struct v4l2_fh *fh; in v4l2_event_queue() 184 int v4l2_event_pending(struct v4l2_fh *fh) in v4l2_event_pending() 192 struct v4l2_fh *fh; in v4l2_event_wake_all() 209 struct v4l2_fh *fh = sev->fh; in __v4l2_event_unsubscribe() 223 int v4l2_event_subscribe(struct v4l2_fh *fh, in v4l2_event_subscribe() 277 void v4l2_event_unsubscribe_all(struct v4l2_fh *fh) in v4l2_event_unsubscribe_all() 300 int v4l2_event_unsubscribe(struct v4l2_fh *fh, in v4l2_event_unsubscribe() 359 int v4l2_src_change_event_subscribe(struct v4l2_fh *fh, in v4l2_src_change_event_subscribe() [all …]
|
H A D | v4l2-ctrls-priv.h | 58 void new_to_cur(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl, u32 ch_flags); 61 void send_initial_event(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl); 62 void send_event(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl, u32 changes); 72 int try_or_set_cluster(struct v4l2_fh *fh, struct v4l2_ctrl *master, 79 int try_set_ext_ctrls_common(struct v4l2_fh *fh, 89 int try_set_ext_ctrls_request(struct v4l2_fh *fh,
|
H A D | v4l2-mem2mem.c | 1007 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_get_unmapped_area() 1374 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_reqbufs() 1383 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_create_bufs() 1392 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_remove_bufs() 1407 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_querybuf() 1416 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_qbuf() 1425 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_dqbuf() 1434 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_prepare_buf() 1443 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_expbuf() 1452 struct v4l2_fh *fh = file->private_data; in v4l2_m2m_ioctl_streamon() [all …]
|
H A D | v4l2-ctrls-api.c | 555 int try_set_ext_ctrls_common(struct v4l2_fh *fh, in try_set_ext_ctrls_common() 690 static int try_set_ext_ctrls(struct v4l2_fh *fh, in try_set_ext_ctrls() 719 int v4l2_s_ext_ctrls(struct v4l2_fh *fh, in v4l2_s_ext_ctrls() 779 static int set_ctrl(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl, u32 ch_flags) in set_ctrl() 808 static int set_ctrl_lock(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl, in set_ctrl_lock() 822 int v4l2_s_ctrl(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl, in v4l2_s_ctrl() 1208 struct v4l2_fh *vfh = file->private_data; in v4l2_ctrl_log_status() 1280 int v4l2_ctrl_subscribe_event(struct v4l2_fh *fh, in v4l2_ctrl_subscribe_event() 1289 int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev *sd, struct v4l2_fh *fh, in v4l2_ctrl_subdev_subscribe_event() 1303 struct v4l2_fh *fh = file->private_data; in v4l2_ctrl_poll()
|
/linux/drivers/media/platform/chips-media/wave5/ |
H A D | wave5-vpu.h | 47 static inline struct vpu_instance *wave5_to_vpu_inst(struct v4l2_fh *vfh) in wave5_to_vpu_inst() 49 return container_of(vfh, struct vpu_instance, v4l2_fh); in wave5_to_vpu_inst() 76 v4l2_m2m_get_vq(inst->v4l2_fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); in wave5_vpu_both_queues_are_streaming() 78 v4l2_m2m_get_vq(inst->v4l2_fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE); in wave5_vpu_both_queues_are_streaming()
|
H A D | wave5-helper.c | 40 if (inst->v4l2_fh.vdev) { in wave5_cleanup_instance() 41 v4l2_fh_del(&inst->v4l2_fh); in wave5_cleanup_instance() 42 v4l2_fh_exit(&inst->v4l2_fh); in wave5_cleanup_instance() 58 v4l2_m2m_ctx_release(inst->v4l2_fh.m2m_ctx); in wave5_vpu_release_device() 126 int wave5_vpu_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub) in wave5_vpu_subscribe_event() 212 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in wave5_return_bufs()
|
H A D | wave5-vpu-dec.c | 187 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in wave5_handle_src_buffer() 306 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in start_decode() 355 v4l2_event_queue_fh(&inst->v4l2_fh, &vpu_event_eos); in send_eos_event() 361 struct v4l2_fh *fh = &inst->v4l2_fh; in handle_dynamic_resolution_change() 1808 v4l2_fh_init(&inst->v4l2_fh, vdev); in wave5_vpu_open_dec() 1809 filp->private_data = &inst->v4l2_fh; in wave5_vpu_open_dec() 1810 v4l2_fh_add(&inst->v4l2_fh); in wave5_vpu_open_dec() 1815 inst->v4l2_fh.m2m_ctx = in wave5_vpu_open_dec() 1817 if (IS_ERR(inst->v4l2_fh.m2m_ctx)) { in wave5_vpu_open_dec() 1818 ret = PTR_ERR(inst->v4l2_fh.m2m_ctx); in wave5_vpu_open_dec() [all …]
|
H A D | wave5-vpu-enc.c | 150 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in start_encode() 250 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in wave5_vpu_enc_finish_encode() 305 v4l2_event_queue_fh(&inst->v4l2_fh, &vpu_event_eos); in wave5_vpu_enc_finish_encode() 623 struct v4l2_m2m_ctx *m2m_ctx = inst->v4l2_fh.m2m_ctx; in wave5_vpu_enc_encoder_cmd() 1552 v4l2_fh_init(&inst->v4l2_fh, vdev); in wave5_vpu_open_enc() 1553 filp->private_data = &inst->v4l2_fh; in wave5_vpu_open_enc() 1554 v4l2_fh_add(&inst->v4l2_fh); in wave5_vpu_open_enc() 1559 inst->v4l2_fh.m2m_ctx = in wave5_vpu_open_enc() 1561 if (IS_ERR(inst->v4l2_fh.m2m_ctx)) { in wave5_vpu_open_enc() 1562 ret = PTR_ERR(inst->v4l2_fh.m2m_ctx); in wave5_vpu_open_enc() [all …]
|
H A D | wave5-helper.h | 23 int wave5_vpu_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub);
|
/linux/drivers/media/test-drivers/visl/ |
H A D | visl.h | 141 struct v4l2_fh fh; 169 static inline struct visl_ctx *visl_v4l2fh_to_ctx(struct v4l2_fh *v4l2_fh) in visl_v4l2fh_to_ctx() argument 171 return container_of(v4l2_fh, struct visl_ctx, fh); in visl_v4l2fh_to_ctx()
|
/linux/drivers/media/usb/uvc/ |
H A D | uvc_metadata.c | 28 struct v4l2_fh *vfh = file->private_data; in uvc_meta_v4l2_querycap() 44 struct v4l2_fh *vfh = file->private_data; in uvc_meta_v4l2_get_format() 62 struct v4l2_fh *vfh = file->private_data; in uvc_meta_v4l2_try_format() 83 struct v4l2_fh *vfh = file->private_data; in uvc_meta_v4l2_set_format() 112 struct v4l2_fh *vfh = file->private_data; in uvc_meta_v4l2_enum_formats()
|
/linux/drivers/staging/media/rkvdec/ |
H A D | rkvdec.h | 101 struct v4l2_fh fh; 110 static inline struct rkvdec_ctx *fh_to_rkvdec_ctx(struct v4l2_fh *fh) in fh_to_rkvdec_ctx()
|
/linux/drivers/media/platform/ti/omap3isp/ |
H A D | ispstat.h | 136 struct v4l2_fh *fh, 139 struct v4l2_fh *fh,
|
/linux/drivers/media/platform/mediatek/vcodec/encoder/ |
H A D | mtk_vcodec_enc_drv.h | 133 struct v4l2_fh fh; 220 static inline struct mtk_vcodec_enc_ctx *fh_to_enc_ctx(struct v4l2_fh *fh) in fh_to_enc_ctx()
|
/linux/drivers/media/platform/mediatek/vcodec/decoder/ |
H A D | mtk_vcodec_dec_drv.h | 183 struct v4l2_fh fh; 310 static inline struct mtk_vcodec_dec_ctx *fh_to_dec_ctx(struct v4l2_fh *fh) in fh_to_dec_ctx()
|
/linux/drivers/media/platform/mediatek/mdp3/ |
H A D | mtk-mdp3-m2m.h | 32 struct v4l2_fh fh;
|
/linux/drivers/media/platform/xilinx/ |
H A D | xilinx-dma.c | 474 struct v4l2_fh *vfh = file->private_data; in xvip_dma_querycap() 496 struct v4l2_fh *vfh = file->private_data; in xvip_dma_enum_format() 510 struct v4l2_fh *vfh = file->private_data; in xvip_dma_get_format() 570 struct v4l2_fh *vfh = file->private_data; in xvip_dma_try_format() 580 struct v4l2_fh *vfh = file->private_data; in xvip_dma_set_format()
|
/linux/drivers/media/test-drivers/vivid/ |
H A D | vivid-vid-common.h | 36 int vidioc_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub);
|