工具与软件:
大家好、TI 专家:
有没有介绍编解码器波形驱动器和 V4L2之间数据流关系的文档吗?
BRS。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好、TI 专家:
有没有介绍编解码器波形驱动器和 V4L2之间数据流关系的文档吗?
BRS。
您好!
编解码器 WAVE5驱动程序是通过 GStreamer 应用层和 V4L2中间堆栈实现的。
对于更低级的 gstreamer、我建议您参阅 gstreamer 文档: https://gstreamer.freedesktop.org/documentation/additional/design/overview.html?gi-language=c。这将提供比我所能提供的更深入的解释。
对于编码器/解码器元素、gstreamer (应用/用户空间)通过 V4L2 IOCTL 调用与硬件编码器/解码器进行交互。 GStreamer 将有助于在流水线中的元素之间传递必要的缓冲区。 只看编码器上下文、gstreamer 将有两个队列、一个输出和捕获队列、将包含视频缓冲区。 每次接收到原始帧时、输出和捕获缓冲区对都将出队、并将原始帧放置在输出缓冲区中。 该配对随后会发送到内存到内存(M2M)调度程序、该调度程序负责调度 Linux M2M 设备驱动程序的作业。 则硬件编码器属于这一类。 缓冲器配对将授予驱动程序、其中编码器将从原始输出缓冲区中读取数据、并将结果放入空捕获缓冲区中。 然后、该过程会通知 M2M 调度程序作业已完成、缓冲区将传回给用户空间、以便 gstreamer 可以处理将它们共享到流水线中的下一个元素。
这是对 userspace 和 v4l2之间交互的非常简短和简化的解释。 如果您想了解更多详细信息、建议查看 V4L2 Linux 文档。
谢谢!
Sarabesh S.