Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性Collabora 的 Daniel Almeida 发布了 Linux 内核视频 4 Linux 2 V4L2 子系统中重写的 VP9 编解码器库代码 通过使用 Rust 而不是现有的 C 代码 这应该会产生更好的内存安全性 并能更好

大家好,欢迎来到IT知识分享网。

Collabora 的 Daniel Almeida 发布了 Linux 内核视频 4 Linux 2 (V4L2) 子系统中重写的 VP9 编解码器库代码。通过使用 Rust 而不是现有的 C 代码,这应该会产生更好的内存安全性,并能更好地抵御现有代码中的潜在问题。

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

请求注释”代码将 VP9 库代码移植到 Rust 中,并将 RKVDEC 和 Hantro 驱动程序代码转换为使用 Rust 版本。

Fluendo 的 Fluster 测试表明,无论是使用 Rust 还是 C 版本的代码,结果都是一样的。

Almeida 对 RFC 补丁发表了如下评论:

关于驱动程序,我们在不同场合已经说了很多,我觉得目前的共识是等待。这就是为什么我提出一种不同的方法:将我们的编解码器库移植到 Rust 中。

在我看来,这些组件可以从 Rust 中受益匪浅,因为它们实现了复杂的算法,同时还通过 V4L2 控制来处理从用户空间接收的数据。这些算法使用从用户空间接收的数据来索引大量数组,从而受益于 Rust 的内存安全性。

关于代码的第一件事是它不包含任何绑定层。

这里的 Rust 代码还为 C 驱动程序提供了一个 C API。这个 C API 是由 cbindgen 自动生成的,我已经提供了如何生成的说明。我们甚至可以同时使用 C 库和 Rust 库中的函数,因为 ABI 是相同的。

以上内容非常有用,因为这意味着我们可以在必要时逐段转换给定的代码库。C 驱动程序将通过 C API 正常工作,而任何新的 Rust 驱动程序都将受益于本地 Rust 接口。

他在补丁封面信中继续补充道:

最后,请注意这段代码只是一个概念验证,如果反响良好,我们可以推出一个正式的补丁(包括所有相关内容)”

感兴趣的人可以在内核邮件列表中找到这些 RFC 补丁,同时等待其他 Linux 内核上游利益相关者的反馈。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/166819.html

(0)
上一篇 2025-01-09 12:15
下一篇 2025-01-09 12:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信