将 Linux V4L2 VP9 编解码器的内核代码重新实现为 Rust 以增强内存安全性和稳定性

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

请求注释代码将 VP9 库代码移植到 Rust 中,并将 RKVDEC 和 Hantro 驱动程序代码转换为使用 Rust 版本。Fluendo 的 Fluster 测试表明,无论是使用 Rust 还是 C 版本的代码,结果都是一样的。

Almeida 对 RFC 补丁发表了评论:

“关于驱动程序,我们已经在不同场合谈了很多,我认为目前的共识是等待。因此,我提出了一种不同的方法:将我们的编解码器库移植到 Rust 中。

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

代码的第一点是它不包含任何绑定层。由于需要与 C 代码保持同步,这一点多次被指出是一个障碍。

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

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

猜你喜欢

秘密导航地址入口:探索隐秘网络的通道与安全性
秘密导航地址入口:探索隐秘网络的通道与安全性

秘密导航地址入口乃是通往隐秘网络之重要通道,众多用户因其提供之匿名性与安全性而趋之若鹜。此入口不仅能助人避开网络监控,更能畅游于各

晚上看B站直播APP:探索夜晚的娱乐新天地,享受多元文化与活动
晚上看B站直播APP:探索夜晚的娱乐新天地,享受多元文化与活动

晚上看B站直播APP者,夜幕低垂,余晖渐隐。众多年轻人聚集于此,陶冶于多元文化之中。弹幕飞舞,声音此起彼伏,犹如夜空中的繁星,璀璨夺目

51cg今日大瓜必吃大瓜:揭秘今日娱乐圈内外的精彩八卦与热议新闻
51cg今日大瓜必吃大瓜:揭秘今日娱乐圈内外的精彩八卦与热议新闻

51cg今日大瓜必吃大瓜为吾人呈现今日娱乐圈种种妨碍常理之事,诸多八卦纷至沓来,引人注目。无论是明星之绯闻,抑或影视作品之点评,总难掩

YS口红水蜜桃色T78FE:柔美色泽与时尚气息的完美融合
YS口红水蜜桃色T78FE:柔美色泽与时尚气息的完美融合

YS口红水蜜桃色T78FE,此款口红乃时尚界之新宠,凭其柔美色泽与持久效果,吸引万千爱美之士趋之若鹜。其色调如水蜜桃般清新自然,恰如其分

72个性动作画图片:探索情感与亲密关系的艺术表现
72个性动作画图片:探索情感与亲密关系的艺术表现

72个性动作画图片乃是展示人类亲密接触与情感沟通之尤佳方式,其画作以细腻之笔触描写众多性动作为主,通过视觉艺术表现出人与人之间的羁绊

97视频:当代视频分享平台的典范与未来发展的思考
97视频:当代视频分享平台的典范与未来发展的思考

97视频者,新时代视频分享之典范也。其内容丰富多样,聚众多用户共赏之乐。无论是娱乐、教育,抑或资讯,应有尽有。用户借助平台,传递思想

国精产品一码二码三M:深度解析国精产品一码二码三M的独特优势与市场前景
国精产品一码二码三M:深度解析国精产品一码二码三M的独特优势与市场前景

国精产品一码二码三M,为当今消费市场所广泛推崇之品牌,其独特之处在于心经历无数研发与市场考验,定能为消费者带来非凡之体验。此产品以

动漫美女与男生一起努力生猴子:探讨青春期伴侣关系的成长与挑战
动漫美女与男生一起努力生猴子:探讨青春期伴侣关系的成长与挑战

动漫美女与男生一起努力生猴子者,乃是当今青春题材创作之热门方向。彼时,男生与动漫美女携手,共同成长,犹如生猴子般之巧妙而生动,映射

国产伦精品一品二品三品哪个好:怎样选择适合自己的国产伦精品产品
国产伦精品一品二品三品哪个好:怎样选择适合自己的国产伦精品产品

国产伦精品一品二品三品哪个好在近期市场上引起众多消费者之关注。此类产品多样,涵盖范围广,消费者望而却步,不知从何选择。然品类众多,

动漫美女与男生一起努力生猴子:探讨和谐相处与共同成长之道
动漫美女与男生一起努力生猴子:探讨和谐相处与共同成长之道

动漫美女与男生一起努力生猴子,实乃一幕极具趣味之景,展现二者携手共进,欲欣其乐,共谋未来。而画中之美,正是合作所带来之力量与魅力。