Dav2d

Hacker News Top 工具

摘要

VideoLAN社区宣布了dav2d,这是一个针对新型AV2视频编码器的高效软件解码器,旨在为实际应用提供可移植且高性能的解码功能。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/31 13:34

# 让 dav2d 诞生——Jean-Baptiste Kempf 来源:https://jbkempf.com/blog/2026/dav2d/ ## dav2d *一种编解码器,直到人人都能解码它才算真正存在。* 今天,我们发布了 dav2d(https://code.videolan.org/videolan/dav2d),一款面向全新 AV2(https://jbkempf.com/tags/av2/) 编解码器的快速解码器,由 VideoLAN(https://www.videolan.org/) 社区的成员们共同开发。 几周前,我们开源了仓库并开始公开开发。此后,AV2 自身也发布了首个正式规范版本,这正是一个好时机来解释 dav2d 是什么、我们为何启动该项目,以及当前进展如何。 dav2d(https://jbkempf.com/tags/dav2d/) 是我们从 dav1d(https://code.videolan.org/videolan/dav1d)(我们的 AV1 解码器)开始的工作的延续。 目标相似:提供一个轻量、快速、可移植且正确的解码器,适用于真实应用、媒体播放器、浏览器、测试工具和操作系统。 ## AV2 AV2(https://jbkempf.com/tags/av2/) 是 AV1(https://jbkempf.com/tags/av1/) 的继任者,也是开放媒体联盟(Alliance for Open Media)(https://aomedia.org/) 最新的免版税视频编解码器。 规范现已公开发布,地址为: - https://av2.aomedia.org/ - https://github.com/AOMediaCodec/av2-spec AV1 于 2018 年定稿,成为有史以来部署最成功的视频编解码器之一。如今,它已广泛应用于全球的浏览器、移动设备、操作系统、电视、流媒体服务和视频应用中。 AV2 在此基础上更进一步。该编解码器在预测、变换、熵编码、滤波和色度处理方面引入了新编码工具,同时继续追求提高压缩效率。 报告的增益因测试条件而异,但与 AV1 相比,通常能看到约 25% 的改进,部分评估甚至报告了更大的增益。 AV2 解码的复杂度大约是 AV1 的 *五倍*。实际上,这意味着没有经过精心、特定架构优化的软件,在当今硬件上很难实时解码 AV2。 这就是我们提前启动 dav2d 的原因——而不是等到规范稳定下来再动手。 ## 从 dav1d 到 dav2d dav2d(https://jbkempf.com/tags/dav2d/) 的起源要追溯到 dav1d(https://jbkempf.com/tags/dav1d/) 的早期。 当 AV1 临近定稿时,我们坚持推动一款快速软件解码器,因为我们不相信硬件解码能足够快地在足够多的设备上普及。 并非所有人都同意这一判断。AOM 社区的一些成员认为,硬件实现和参考解码器就足够了。 但我们不这么认为。浏览器、媒体播放器、操作系统和移动设备,早在专用硬件普及之前就需要一个生产级解码器。 最终,AOM 自身资助了部分早期开发工作,联盟的部分成员后来也加入了这一努力。 结果就是 dav1d。 事后看来,对快速软件解码器的需求比许多人预想的要大得多。 如今,dav1d 是部署最广泛的 AV1 软件解码器。 它被用于 VLC(https://www.videolan.org/vlc/)、FFmpeg(https://ffmpeg.org/)、mpv(https://mpv.io/)、Firefox、Chrome、Safari、Android、Windows、Linux 以及许多其他应用和平台。 该项目也已成为许多从事 AV1 部署、测试和优化工作的开发者的参考 AV1 解码器实现。 你可以在这个博客上阅读 dav1d 的完整历史:介绍 dav1d(https://jbkempf.com/blog/Introducing-dav1d/)、走向首个版本之路(https://jbkempf.com/blog/dav1d-toward-the-first-release/)、首个版本(https://jbkempf.com/blog/First-release-of-dav1d/)、dav1d 1.2(https://jbkempf.com/blog/2023/dav1d-1.2.0/) 和 1.5 “Sonic”(https://jbkempf.com/blog/2025/dav1d-1.5/)。 对于 AV2,我们尝试更早地启动这项工作。 编解码器规范固然重要,但这还不够。开发者需要一个可以编译、测试、基准测试、集成并与其他实现进行比较的解码器。 这就是 dav2d 旨在提供的东西。 ## 当前状态 当前的 dav2d 代码仓库已包含一个功能完整的 AVM v15 解码器,支持 8 位和 10 位解码。 编解码器的大部分主要部分已经实现,并且正在进行优化,包括: - 比特流解析; - 帧和序列头部; - 熵解码和 CDF 处理; - 帧内预测; - 帧间预测和参考运动向量; - 变换; - CCTX 和 CfL; - 去块效应滤波; - CDEF; - 维纳滤波; - 胶片颗粒合成。 这仍然是早期工作,AV2 生态系统本身也还年轻,但解码器已经可用,远不止是一个空的公告仓库。 越来越多的工作现在集中在正确性、一致性、优化和平台支持上。 项目进展如此迅速的一个原因是,dav2d 并非从零开始。AV2 与 AV1 共享许多概念,而 dav1d 已经在线程化、SIMD 组织、测试、可移植性和 API 设计等架构问题上积累了经验。 虽然 AV2 需要大量新的解码器代码,但 dav1d 多年开发中积累的许多经验可以直接迁移到 dav2d 上。 ## 性能优化工作 性能优化工作已经开始。 在 x86 上,dav2d 已经包含了针对多种逆变换尺寸的 AVX2 代码,以及涉及 CCTX、去块效应、帧内预测和 CfL 相关路径的工作。 在 ARM 上,已经有针对 AArch64 NEON 的熵解码、SAD、帧内预测、调色板预测、DC 预测器、平滑预测器和运动相关函数的工作。一些 arm32 的工作也已开始。 还有早期的 RISC-V 工作,主要是重新启用和适配现有的帧内预测和运动补偿汇编代码。 这与我们在 dav1d 中的进展方式相同:首先是干净的 C 实现,然后是验证基础设施,接着是针对最重要热点的特定架构优化代码。 ## checkasm 与 dav1d 早期相比,一个重要的不同是工具链。 在 dav1d 开发期间,我们创建了 checkasm(https://code.videolan.org/videolan/checkasm),这是一个用于验证和基准测试优化实现与 C 等效实现对比的框架。 dav2d 从第一天起就受益于这一基础设施。 结合从 dav1d 获得的架构经验,这使得项目的进展比 dav1d 在类似阶段快得多。 当前代码仓库已经包含多个领域的 checkasm 覆盖,包括逆变换、运动补偿、胶片颗粒、CfL 和参考运动向量代码。 这应该会使未来的优化工作更快、更安全。 ## 开源 与之前的 dav1d 一样,dav2d 作为一个开源项目开发。 解码器采用与 dav1d 相同的 BSD 风格许可证发布,使其易于集成到开源和专有应用中。 与大多数 VideoLAN(https://jbkempf.com/tags/videolan/) 项目一样,开发从第一天起在公开环境下进行: - 仓库:https://code.videolan.org/videolan/dav2d - 问题跟踪:https://code.videolan.org/videolan/dav2d/-/issues - 合并请求:https://code.videolan.org/videolan/dav2d/-/merge_requests 我们相信,开源实现对新媒体技术的健康部署至关重要。它们提供了互操作性、对规范的独立验证、更便捷的实验环境,以及整个生态系统的共同基础。 ## 未来计划 前方还有大量工作要做。 我们需要继续跟踪 AV2 规范,改进一致性,扩展测试覆盖范围,进一步优化 x86 和 ARM,推进 RISC-V 工作,提升高位深度性能,改进线程化,减少内存占用,并准备未来的版本。 但基础已经就位:工具链、架构以及从 dav1d 积累的经验,并辅以额外的改进。 dav1d 帮助 AV1 在硬件支持普及之前很久就变得实用。 我们打算为 AV2 做同样的事。 *让 dav2d 诞生。来自 VideoLAN,满载热爱。*

相似文章

AV2 v1.0.0 规范

Lobsters Hottest

开放媒体联盟(Alliance for Open Media)发布了 AV2 v1.0.0 规范,这是一种新一代视频编码标准,为流媒体、广播和实时视频会议提供卓越的压缩效率。

AdaCodec:面向视频多模态大模型的预测性视觉编码

Hugging Face Daily Papers

AdaCodec 通过仅在场景预测失败时传输完整视觉标记,否则使用紧凑的帧间变化描述,从而减少多模态大模型中的视频编码冗余。在匹配的标记预算下,它优于逐帧 RGB 基线,并且在使用显著更少标记的情况下取得更好或相当的结果,将首令牌延迟从 9.26 秒降至 1.62 秒。

LLaVA-OneVision-2:迈向下一代感知智能

Hugging Face Daily Papers

LLaVA-OneVision-2 引入了编解码流分词和窗口注意力机制以实现高效的视频理解,在包括视频、空间和跟踪任务在内的多个多模态基准测试中取得了最先进的性能。

自回归视频生成的投机解码

Hugging Face Daily Papers

SDVG 将投机解码引入自回归视频扩散,通过图像质量路由器在 MovieGenVideoBench 上实现最高 2.09× 加速,同时保留 95.7% 质量。