![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2.2.5《Linux Media Document》
文章平均质量分 84
https://download.csdn.net/download/u012906122/87743030?spm=1001.2014.3001.5503
vimer-hz
书是越读越薄的
展开
-
2.2.18 V4L2 Media Controller functions and data structures
const struct v4l2_pix_format_mplane *pix_mp_fmt:指向要用作模型的 struct v4l2_pix_format_mplane 的指针。struct v4l2_pix_format_mplane *pix_mp_fmt:指向要填充的 struct v4l2_pix_format_mplane 的指针。const struct v4l2_mbus_framefmt *mbus_fmt:指向要用作模板的 struct v4l2_mbus_framefmt 的指针。翻译 2023-07-30 11:52:05 · 234 阅读 · 0 评论 -
2.2.17 V4L2 flash functions and data structures
struct v4l2_flash_config *config:用于 V4L2 闪光灯子设备的初始化数据。struct v4l2_flash_config *config:用于 V4L2 闪光灯子设备的初始化数据。struct led_classdev_flash *fled_cdev:要包装的 LED 闪光灯类设备。struct v4l2_flash *v4l2_flash:要释放的 V4L2 闪光灯子设备。intensity_to_led_brightness:以特定设备的方式将光强转化为亮度。翻译 2023-07-22 21:34:02 · 87 阅读 · 0 评论 -
2.2.16 V4L2 DV Timings functions
它接收一个指向v4l2_dv_timings结构体的指针、一个指向v4l2_dv_timings_cap能力结构体的指针、一个用于限制t->pixelclock和待考虑时序结构体之间最大差距的参数、一个用于检查给定时序结构体是否可行的回调函数(可以为NULL),以及一个传递给回调函数的句柄。它接收一个指向v4l2_dv_timings结构体的指针、一个指向v4l2_dv_timings_cap能力结构体的指针、一个用于检查该时序参数是否可行的回调函数(可以为NULL),以及一个传递给回调函数的句柄。翻译 2023-07-15 12:08:36 · 544 阅读 · 0 评论 -
2.2.15 V4L2 videobuf2 functions and data structures
驱动程序可以实现v4l2_ioctl_ops.vidioc_reqbufs和v4l2_ioctl_ops.vidioc_create_bufs函数,并在调用vb2_ioctl_reqbufs()或vb2_ioctl_create_bufs()之前调用vb2_queue_change_type(),从而“锁定”缓冲区类型,直到缓冲区被释放。此函数将等待,直到所有已通过vb2_ops->buf_queue提交给驱动程序的缓冲区都被使用vb2_buffer_done()重新返回给vb2。翻译 2023-07-09 21:52:03 · 484 阅读 · 0 评论 -
2.2.14 Videobuf Framework
典型的驱动程序`read()`实现将启动捕获引擎,在调用上述函数之前,然后在返回之前停止引擎(尽管更智能的实现可能会预期在不久的将来发生另一个`read()`调用,并保持引擎运行一段时间)。例如,对于`VIDIOC_REQBUFS`调用,将转换为对驱动程序的`vidioc_reqbufs()`回调函数的调用,该回调通常只需要找到正确的`struct videobuf_queue`指针并将其传递给`videobuf_reqbufs()`函数。第一步是在`open()`函数中初始化`videobuf`队列。翻译 2023-06-24 16:48:25 · 154 阅读 · 0 评论 -
2.2.13.17 v4l2_ctrl functions and data structures
描述:与v4l2_ctrl_new_std()相同,但由于p_def字段的支持,支持复合控件。13. is_ptr:如果设置,则该控件是一个数组和/或具有类型>=V4L2_CTRL_COMPOUND_TYPES和/或类型V4L2_CTRL_TYPE_STRING。v4l2_ctrl_handler_init(hdl, nr_of_controls_hint)是一个辅助函数,用于创建一个静态的struct lock_class_key并调用v4l2_ctrl_handler_init_class()。翻译 2023-06-18 11:33:49 · 263 阅读 · 0 评论 -
2.2.13.10 Handling autogain/gain-type Controls with Auto Clusters
最后,对于自动控件,应设置V4L2_CTRL_FLAG_UPDATE,因为更改该控件会影响手动控件的控制标志。使用v4l2_ctrl_add_handler将一个控制处理程序添加到另一个处理程序时,默认情况下,一个处理程序的所有控件会合并到另一个处理程序中。你也可以提供一个前缀。如果你想让一个处理程序(例如一个收音机设备节点)拥有另一个处理程序(例如一个视频设备节点)的子集,那么你应该先将控件添加到第一个处理程序中,将其他控件添加到第二个处理程序中,最后将第一个处理程序添加到第二个处理程序中。翻译 2023-06-11 10:49:08 · 70 阅读 · 0 评论 -
2.2.13.4 Inheriting Sub-device Controls
当通过调用v4l2_device_register_subdev()向V4L2驱动程序注册子设备并设置v4l2_subdev和v4l2_device的ctrl_handler字段时,子设备的控件将自动在V4L2驱动程序中可用。如果它们不是,将不会在控件更改时生成V4L2_EVENT_CTRL_CH_VALUE。通常最好调用此函数。这里发生的是,v4l2_device_register_subdev()调用v4l2_ctrl_add_handler(),将子设备的控件添加到v4l2_device的控件中。翻译 2023-06-04 16:53:45 · 142 阅读 · 0 评论 -
2.2.13 V4L2 Controls
v4l2_ctrl_new_std_menu_items()函数与v4l2_ctrl_new_std_menu非常相似,但还取一个额外的参数qmenu,它是用于定义驱动程序特定菜单项的标准菜单控件。它与v4l2_ctrl_new_std_menu不同之处在于它没有掩码参数,而是将最后一个参数作为64位有符号整数数组,形成精确的菜单项列表。控件的当前值将设置为默认值。v4l2_ctrl_new_std()函数返回指向新控件的v4l2_ctrl指针,但如果您不需要在控件操作之外访问指针,则没有必要存储它。翻译 2023-05-27 08:32:02 · 243 阅读 · 0 评论 -
2.2.12 V4L2 events
中断上下文的执行需要尽可能地快速完成,以便将控制返回到被中断的程序。这个函数用于实现video_device->ioctl_ops->vidioc_subscribe_event,但是驱动程序必须首先检查驱动程序是否能够生成指定事件ID的事件,然后应该调用v4l2_event_subscribe()来订阅该事件。• 如果struct v4l2_subscribed_event与特定对象相关联,则该对象将具有struct v4l2_subscribed_event的内部列表,以便它知道谁向该对象订阅了事件。翻译 2023-05-27 08:26:44 · 536 阅读 · 0 评论 -
2.2.11 V4L2 sub-device functions and data structures
返回时,实际设备工作参数和状态将被返回。函数是一个V4L2子设备驱动中的辅助函数,用于调用struct v4l2_subdev_pad_config->try_fmt函数来获取指定pad的当前尝试格式。该函数将使用给定的`v4l2_subdev_ops`结构体填充`v4l2_subdev`结构体中的`ops`字段,以便V4L2框架可以调用驱动程序提供的V4L2子设备操作。该函数将会调用struct v4l2_subdev_pad_config结构体中的try_fmt函数,尝试获取该pad的当前尝试格式。翻译 2023-05-20 21:16:38 · 287 阅读 · 0 评论 -
2.2.8 V4L2 sub-device userspace API
VIDIOC_QUERYCTRL、VIDIOC_QUERYMENU、VIDIOC_G_CTRL、VIDIOC_S_CTRL、VIDIOC_G_EXT_CTRLS、VIDIOC_S_EXT_CTRLS和VIDIOC_TRY_EXT_CTRLS:这些控件IOCTL与V4L2中定义的控件相同。为所有使用V4L2_SUBDEV_FL_HAS_DEVNODE标记注册的子设备创建一个只读设备节点,v4l2_device驱动程序应调用v4l2_device_register_ro_subdev_nodes()。翻译 2023-05-15 21:43:01 · 169 阅读 · 0 评论 -
2.2.7 V4L2 sub-devices
如果子设备驱动程序实现了接收端口,子设备驱动程序可以设置v4l2_subdev_pad_ops中的link_validate字段,以提供自己的链接验证函数。这三个回调都是可选的。`v4l2_async_register_subdev_sensor()`是一个助手函数,用于传感器驱动程序注册自己的异步子设备,但它还会注册通知程序,并为固件中找到的镜头和闪光灯设备进一步注册异步子设备。这种配置的示例是基于设备树的系统,其中与子设备相关的信息独立于桥接设备提供系统,例如,在DT中将子设备定义为I2C设备节点时。翻译 2023-05-14 20:31:58 · 434 阅读 · 0 评论 -
2.2.6 V4L2 File handlers
v4l2_fh的用户(在V4L2框架中,而不是驱动程序中)通过测试video_device->flags中的V4L2_FL_USES_V4L2_FH位来确定驱动程序是否将v4l2_fh用作其file->private_data指针。注意:新的驱动程序必须使用struct v4l2_fh,因为它也用于实现优先处理(ioctl VIDIOC_G_PRIORITY,VIDIOC_S_PRIORITY)。• 初始化文件句柄。2)在release()中调用v4l2_fh_del()和v4l2_fh_exit()。翻译 2023-05-14 13:17:00 · 126 阅读 · 0 评论 -
2.2.5 V4L2 device instance
该函数会遍历v4l2_dev->subdevs列表,检查每个子设备的标志,如果包含V4L2_SUBDEV_FL_HAS_DEVNODE标志,则会调用v4l2_subdev_create_v4l2_devnode()函数为其创建设备节点并将其添加到系统的/dev目录中。描述:该函数调用__v4l2_device_register_subdev_nodes()函数,以不受限制的方式为所有在V4L2设备中标记了V4L2_SUBDEV_FL_HAS_DEVNODE标志的子设备注册相应的设备节点。翻译 2023-05-14 12:17:32 · 144 阅读 · 0 评论 -
2.2.4 Video device‘s internal representation
如果您使用v4l2_ioctl_ops,则应该在v4l2_file_operations结构中将video_device->unlocked_ioctl设置为video_ioctl2()。在这种情况下,如果您不关心无法选择指定的设备节点号的警告,则可以调用video_register_device_no_warn()函数。如果注册失败,则需要调用video_device_release()来释放分配的video_device结构体,或者释放您自己的结构体,如果video_device嵌入在其中。翻译 2023-05-13 13:09:32 · 239 阅读 · 0 评论 -
2.2 Video4Linux devices
这个框架与驱动程序结构非常相似:它有一个v4l2_device结构体来表示设备实例数据,一个v4l2_subdev结构体来引用子设备实例,video_device结构体用于存储V4L2设备节点的数据,而v4l2_fh结构体用于跟踪文件句柄实例。它是一个PCI捕获卡的骨架驱动程序,并演示了如何使用V4L2驱动程序框架。V4L2驱动程序往往非常复杂,这是由于硬件的复杂性造成的:大多数设备都有多个IC,导出/dev下的多个设备节点,还创建了非V4L2设备,例如DVB、ALSA、FB、I2C和输入(IR)设备。翻译 2023-05-11 22:24:46 · 138 阅读 · 0 评论 -
2 MEDIA SUBSYSTEM KERNEL INTERNAL API
例如,如果您正在对drivers/media下的驱动程序进行大规模的清理更改,则请发送一个单独的补丁用于drivers/media/pci下的所有驱动程序,另一个补丁用于drivers/media/usb等。对于核心更改,尽可能多的多媒体维护者进行审核。新提交可以随时发送,但是如果它们打算在下一个合并窗口中纳入,则应在-rc5之前发送,并在-linux-media分支中通过-rc6稳定。只要您的补丁在https://patchwork.linuxtv.org上,它迟早会被处理,因此您不需要重新提交补丁。翻译 2023-05-10 21:41:09 · 182 阅读 · 0 评论 -
1.1.6.23 The Virtual Video Test Driver (vivid)
该驱动程序模拟各种类型的vedio4linux硬件:视频捕获、视频输出、vbi捕获和输出、元数据捕获和输出、无线电接收器和发射器、触摸捕获和软件定义的无线电接收器。此外,还提供了一个简单的帧缓冲设备,用于测试捕获和输出叠加层。最多可以创建64个vivid实例,每个实例最多具有16个输入和16个输出。每个输入可以是网络摄像头、电视捕获设备、S-Video捕获设备或HDMI捕获设备。每个输出可以是S-Video输出设备或HDMI输出设备。这些输入和输出的行为与真实硬件设备完全一样。这使您可以将此驱动程序用作翻译 2023-05-10 21:28:19 · 901 阅读 · 0 评论 -
1.1.6.22 The Virtual Media Controller Driver (vimc)
需要配置拓扑结构,以便将每个链接的子设备的配置与通过管道流传输帧的配置匹配。v4l-utils软件包是一组用户空间应用程序,带有可用于配置vimc配置的media-ctl和v4l2-ctl。vimc-scaler:将图像调整大小以满足源接口的分辨率。例如:如果sync接口配置为360x480,并且源接口为1280x720,则会拉伸图像以适应源分辨率。拓扑结构是硬编码的,尽管您可以在vimc-core中修改它并重新编译驱动程序以实现自己的拓扑结构。根据子设备的不同,实体可以具有多个类型为源或接收器的接口。翻译 2023-05-07 22:25:20 · 222 阅读 · 0 评论 -
1.1.6.20 The Silicon Labs Si4713 FM Radio Transmitter Driver
所有属性也可以通过v4l2扩展控件接口访问,使用v4l2-subdev调用(g_ext_ctrls、s_ext_ctrls)即可。struct si4713_rnl和SI4713_IOC_MEASURE_RNL在include/linux/platform_data/media/si4713.h中定义。基本上,它是I2C设备驱动程序的包装器。• acomp_release_time - 设置音频动态范围控制的释放时间。处理这个设备有两个模块,一个是I2C设备驱动程序,另一个是平台驱动程序。翻译 2023-05-07 21:35:15 · 365 阅读 · 0 评论 -
1.1.6.19 The Silicon Labs Si470x FM Radio Receivers driver
加载模块后,您仍可以在sysfs挂载下的/sys/module/radio_si470x/parameters中访问其中的一些。它将具有用于通过硬件功能(如radio-si470x)或通过实现每个提到的程序中目前正在使用的函数来进行频率搜索的函数。可以在网站http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx下载有关这些的更多信息。有一个RDS中断模式。为了处理RDS信息,正在进行一个名为http://rdsd.berlios.de/的项目。翻译 2023-05-07 21:27:34 · 289 阅读 · 0 评论 -
1.1.6.17 Rockchip Image Signal Processor (rkisp1)
缓冲区格式由struct rkisp1_stat_buffer定义,用户空间应将V4L2_META_FMT_RK_ISP1_STAT_3A设置为数据格式。可以在UAPI中的枚举rkisp1_cif_isp_version中找到修订版本,并且可以通过ioctl MEDIA_IOC_DEVICE_INFO返回的struct media_device_info中的hw_revision字段读取运行SoC中ISP的版本。在下面的示例中,“rkisp1_isp”的pad 0连接的传感器是imx219。翻译 2023-05-07 18:44:02 · 946 阅读 · 2 评论 -
1.1.6.15 Qualcomm Camera Subsystem driver
MIPI RAW10(10位打包Bayer RAW格式 - V4L2_PIX_FMT_SBGGR10P/V4L2_PIX_FMT_SGBRG10P/V4L2_PIX_FMT_SGRBG10P/V4L2_PIX_FMT_SRGGB10P/V4L2_PIX_FMT_Y10P);*YUYV/UYVY/YVYU/VYUY(打包的YUV 4:2:2格式 - V4L2_PIX_FMT_YUYV/V4L2_PIX_FMT_UYVY/V4L2_PIX_FMT_YVYU/V4L2_PIX_FMT_VYUY),翻译 2023-05-07 14:26:31 · 1147 阅读 · 0 评论 -
1.1.6.14 Philips webcams (pwc driver)
每个缓冲区占用460 KB的内存,因此除非您有大量内存,否则将其设置为大于4的值是绝对浪费。该选项可以是“sqcif”、“qsif”、“qcif”、“sif”、“cif”或“vga”,分别对应于图像尺寸为128x96、160x120、176x144、320x240、352x288和640x480(当然,仅针对支持这些分辨率的相机)。摄像机由其类型(摄像机型号中的数字,如PCA645、PCVC750VC等)指定,可选地包括序列号(在/sys/kernel/debug/usb/devices中可见)。翻译 2023-05-07 14:18:50 · 156 阅读 · 0 评论 -
1.1.6.11 Vaio Picturebook Motion Eye Camera Driver
制造商已根据NDA向开发人员提供了规格(允许GPL驱动程序的开发),但事情发展得不太快(请参见http://r-engine.sourceforge.net/)(PCI供应商/设备为0x10cf / 0x2011)。它利用Media Controller框架2,并且继承了OMAP3 ISP驱动程序的大部分代码(位于drivers/media/platform/omap3isp/*下),但现在不需要IOMMU来进行ISS缓冲区内存映射。最初的驱动程序由德州仪器编写,但自那以后,在Nokia进行了两次重写。翻译 2023-05-07 11:04:49 · 317 阅读 · 0 评论 -
1.1.6.10 The ivtv driver
一旦您使用此设备调谐收音机,请使用/dev/video24读取原始pcm流或使用/dev/video0获取带有黑色视频的mpeg2流。因此,在/dev/video16上播放录像时,您可以从/dev/vbi8读取嵌入的VBI数据。2)“普通”的电视应用程序无法与此驱动程序一起使用,您需要一个可以处理MPEG输入的应用程序,例如mplayer,xine,MythTV等。它仅适用于支持视频输出的卡。请注意,如果第一张卡没有某个功能(例如没有解码器,因此没有video16),则第二张卡仍将使用video17。翻译 2023-05-07 11:00:11 · 262 阅读 · 0 评论 -
1.1.6.9 Intel Image Processing Unit 3 (IPU3) Imaging Unit (ImgU) driver
在此语境中,输入节点是用于捕获原始图像流的节点,输出节点是用于生成处理后的图像流的节点,取景器节点允许用户查看正在捕获的图像流。有关IPU3特定的Bayer格式的详细信息,请参见V4L2_PIX_FMT_IPU3_SBGGR10(“ip3b”),V4L2_PIX_FMT_IPU3_SGBRG10(“ip3g”),V4L2_PIX_FMT_IPU3_SGRBG10(“ip3G”),V4L2_PIX_FMT_IPU3_SRGGB10(“ip3r”)。捕获的帧被用作ImgU驱动程序的输入。翻译 2023-05-06 22:48:33 · 671 阅读 · 0 评论 -
1.1.6.8 i.MX7 Video Capture Driver
该实体具有一个接收端口,从csi-mux实体接收数据,并具有一个单一的源端口,可将视频帧直接路由到内存缓冲区。为了帮助配置,并向后兼容V4L2应用程序,这些应用程序仅从视频设备节点访问控制,因此捕获设备接口继承当前管道中活动实体的控件,因此可以直接从子设备或活动捕获设备界面访问控件。对于图像捕获,i.MX7有三个单元:-CMOS传感器接口(CSI)-视频多路复用器-MIPI CSI-2接收器。它有两个接收端口,可以从具有并行接口的任一相机传感器或MIPI CSI-2虚拟通道0中进行选择。翻译 2023-05-04 22:53:23 · 227 阅读 · 0 评论 -
1.1.6.7 i.MX Video Capture Driver
IDMAC源接口的IDMAC通道还支持不带运动补偿的简单交错,如果源接口的场类型为顺序自上而下或自下而上,并且请求的捕获接口场类型设置为隔行(t-b、b-t或未限定的隔行),则激活该功能。但是,请注意,如果在管道中包含ipuX_vdic(ipuX_ic_prp从ipuX_vdic接收),则无法在ipuX_ic_prpvf中使用交织,因为ipuX_vdic已经进行了去隔行(带有运动补偿),因此ipuX_vdic的场类型输出只能是none(逐行扫描)类型。直接汇接口从ipuX_csiY的直接接口接收。翻译 2023-05-03 22:37:56 · 813 阅读 · 0 评论 -
1.1.6.2 The cafe_ccic driver
支持使用VENC的LCD面板显示。目前,该patch的基本驱动程序是存在的,对外部编码器和显示的支持将成为下一个patch系列的一部分。如果将驱动程序构建为可加载的内核模块(`CONFIG_VIDEO_SAMSUNG_S5P_FIMC=m`),则会创建两个模块(除了核心v4l2模块之外):s5p-fimc.ko和可选的s5p-csis.ko(MIPI-CSI接收器子设备)。当连接外部编码器/ LCD面板时,从特定于板的表中检索特定标准/预设的定时,然后使用这些值在venc中设置定时,使用非标准定时模式。翻译 2023-05-01 11:58:01 · 237 阅读 · 0 评论 -
1.1.6 Video4Linux (V4L) driver-specifific documentation
仲裁器的决策锁定不考虑FRAME的状态,因为它不知道何时会断言FRAME信号(通常-每个发起者都会在GNT信号后的一个周期断言FRAME信号)。这是可以接受的,因为视频将更频繁地请求总线访问。但是,根据模型不同,内核可能需要有关硬件的其他信息,因为设备可能无法直接向内核提供此类信息。关于声音问题(例如“立体声无法工作”)的报告没有包含关于您的硬件和您所在国家(或至少生活的国家)使用的电视声音方案的详细信息是毫无意义的。如果您遇到稳定性问题,可以尝试这些选项中的一个,看看它是否能使您的设备稳定工作。翻译 2023-05-01 11:51:31 · 362 阅读 · 0 评论 -
1.1.5.2 PCI drivers
Linux内核驱动程序抽象层支持为I2C总线内的每个组件实现不同的驱动程序,就像总线对主系统板可见一样。I2C设备的问题之一是有时相同的设备可能使用不同的I2C硬件工作。在上面的示例中,第一张卡使用saa7134驱动程序,具有与1131:7133相等的供应商/设备PCI ID和与1461:f01d相等的PCI子系统ID(参见Saa7134卡列表)。不幸的是,有时不同的产品会使用相同的PCI子系统ID。因此,几个媒体驱动程序允许传递card=参数,以设置与特定板卡的正确设置匹配的卡号。翻译 2023-04-30 21:56:21 · 282 阅读 · 0 评论 -
1.1.5 Cards List
因此,几个媒体驱动程序允许传递card=参数,以设置与特定产品类型的正确设置匹配的卡号。旧的相机和电视USB设备使用USB供应商类别:每个供应商都定义了访问设备的自己的方式。特定于平台的驱动程序通常存在于嵌入式系统中,或者得到主板的支持。媒体子系统提供对许多PCI和USB驱动程序以及特定于平台的驱动程序的支持。较新的相机设备使用标准的方式通过USB视频类别暴露它们自己,这些相机通过uvc驱动程序自动支持。USB板卡是通过称为USB ID的标识符进行识别的。以获取有关支持的卡的更多详细信息。翻译 2023-04-29 22:02:41 · 87 阅读 · 0 评论 -
1.1.4 Digital TV
模拟电视卡产生的数字数据流是由卡上的电路生成的,并且通常以未压缩的形式呈现。一些用于 PC 的模拟电视卡配备了内置的 MPEG2 编码器,可允许原始数字数据流以编码和压缩的形式呈现给 PC,类似于数字电视中使用的形式。由于信号已经被数字化,所以可以轻松地将此数据流传递到 PC 数据总线上,只需要进行最少量的附加处理,然后提取数字视频和音频数据流,并将它们传输到适当的软件或硬件进行解码和播放。同时,一些应用程序,如kaffeine,有其自己的代码来扫描服务,因此您不需要使用外部应用程序获得这样的列表。翻译 2023-04-29 20:06:55 · 413 阅读 · 0 评论 -
1.1.3 Infrared remote control support in video4linux drivers
ir-keytable 工具非常适合进行故障排除,例如检查输入设备是否真正存在,确定它是哪个设备,检查按遥控器键是否会产生事件等。遥控器模块会将遥控器注册为键盘在Linux输入层中进行识别,也就是说,您可以将遥控器的按键看作普通的按键(如果启用了CONFIG_INPUT_KEYBOARD)。• ir-keytable:提供一种查询遥控器、列出其支持的协议、启用内核中的 IR 解码器支持或切换协议以及测试扫描代码接收的方式;扫描代码模式下的遥控器支持是由标准的 Linux 输入层提供的。翻译 2023-04-28 22:53:36 · 69 阅读 · 0 评论 -
1.1.2 Building support for a media device
HDMI CEC RC integration”选项启用了HDMI CEC与Linux的集成,允许通过HDMI CEC接收数据,就像它是由直接连接到机器上的遥控器产生的一样。除非您确切知道自己在做什么,或者想要为SoC平台构建驱动程序,否则强烈建议保持“自动选择辅助驱动程序”选项打开,因为它将自动选择所需的I2C辅助驱动程序。“支持附加到lirc设备的eBPF程序”选项允许使用特殊的程序(称为eBPF),这些程序将允许应用程序向Linux内核添加额外的远程控制器解码功能。翻译 2023-04-28 22:48:28 · 197 阅读 · 0 评论 -
1 MEDIA SUBSYSTEM ADMIN AND USER GUIDE
这一部分包含了有关媒体子系统及其支持的驱动程序的使用信息。• 提供有关驱动程序开发信息和用于媒体设备的内核API。• Video4Linux请求API(实验性);• 数字电视API(也称为DVB API)。• 用于媒体设备上使用的用户空间API。• HDMI消费电子控制(CEC);• 个人电脑和笔记本电脑摄像头;• 嵌入式硬件中的复杂相机;• 音频和视频采集设备;• 多点触控输入设备;• 媒体控制器API;• 模拟和数字电视;翻译 2023-04-27 22:53:25 · 82 阅读 · 0 评论 -
Linux Media Documentation
Linux媒体文档是涉及到Linux内核中的媒体子系统的一系列文档,旨在帮助开发人员和用户理解和使用该子系统。2. 设备驱动程序文档:提供有关特定设备的信息,例如数字电视卡、摄像头等,以便开发人员能够正确地编写设备驱动程序。1. 媒体子系统文档:详细说明媒体子系统的体系结构、编解码器、设备驱动程序、API、架构实现等方面。5. 示例代码:提供实现不同功能的示例代码,有助于开发人员更好地理解和使用媒体子系统。3. API文档:描述与媒体子系统相关的API函数和数据结构,并提供示例代码。翻译 2023-04-26 23:22:07 · 98 阅读 · 0 评论