Jump to content

Draft:Dav1d: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Trudluc (talk | contribs)
m moar references!
Trudluc (talk | contribs)
m eve moar references
Line 21: Line 21:
}}
}}


'''dav1d''' is a [[Free and open-source software|free and open-source]] [[Library (computing)|software library]] and a [[Command-line interface|command-line]] utility to decode video streams in the [[AV1]] [[video coding format]]. It is developed by the [[VideoLAN]] and [[FFmpeg]] communities and sponsored by the [[Alliance for Open Media]].<ref>{{Cite web |title=dav1d - dav1d is an AV1 decoder - VideoLAN |url=https://www.videolan.org/projects/dav1d.html |access-date=2024-04-26 |website=www.videolan.org}}</ref><ref>{{Cite web |title=Content Providers & Distributors |url=https://aomedia.org/providers/ |access-date=2024-07-17 |website=Alliance for Open Media |language=en}}</ref> It is designed to be fast, small, [[Cross-platform software|cross-platform]] and [[Multi-threaded programming|multithreaded]].<ref>{{Cite web |title=Introducing dav1d: a new AV1 decoder - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/Introducing-dav1d/ |access-date=2024-04-26 |website=jbkempf.com}}</ref><ref name=":0">{{Cite journal |last=Grunnau |first=Janne |last2=Kempf |first2=Jean-Baptiste |last3=Storsjo |first3=Martin |last4=Arumugam |first4=Jeeva Raj |last5=Patankar |first5=Kaustubh |last6=Srinivasan |first6=Mukund |last7=Bultje |first7=Ronald |last8=Gramner |first8=Henrik |last9=Trudeau |first9=Luc |last10=Le Couviour Tuffet |first10=Victorien |last11=Lei |first11=Zhijun |last12=Katsavounidis |first12=Ioannis |last13=Ronca |first13=David |date=2022-10-03 |editor-last=Tescher |editor-first=Andrew G. |editor2-last=Ebrahimi |editor2-first=Touradj |title=Benchmarking and analysis of AV1 software decoding on Android devices |url=https://www.spiedigitallibrary.org/conference-proceedings-of-spie/12226/2633692/Benchmarking-and-analysis-of-AV1-software-decoding-on-Android-devices/10.1117/12.2633692.full |journal=Applications of Digital Image Processing XLV |publisher=SPIE |pages=27 |doi=10.1117/12.2633692 |isbn=978-1-5106-5436-5}}</ref>
'''dav1d''' is a [[Free and open-source software|free and open-source]] [[Library (computing)|software library]] and a [[Command-line interface|command-line]] utility to decode video streams in the [[AV1]] [[video coding format]]. It is developed by the [[VideoLAN]] and [[FFmpeg]] communities and sponsored by the [[Alliance for Open Media]].<ref>{{Cite web |title=dav1d - dav1d is an AV1 decoder - VideoLAN |url=https://www.videolan.org/projects/dav1d.html |access-date=2024-04-26 |website=www.videolan.org}}</ref><ref>{{Cite web |title=Content Providers & Distributors |url=https://aomedia.org/providers/ |access-date=2024-07-17 |website=Alliance for Open Media |language=en}}</ref> It is designed to be fast, small, [[Cross-platform software|cross-platform]] and [[Multi-threaded programming|multithreaded]].<ref>{{Cite web |title=Introducing dav1d: a new AV1 decoder - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/Introducing-dav1d/ |access-date=2024-04-26 |website=jbkempf.com}}</ref><ref name=":0">{{Cite journal |last=Grunnau |first=Janne |last2=Kempf |first2=Jean-Baptiste |last3=Storsjo |first3=Martin |last4=Arumugam |first4=Jeeva Raj |last5=Patankar |first5=Kaustubh |last6=Srinivasan |first6=Mukund |last7=Bultje |first7=Ronald |last8=Gramner |first8=Henrik |last9=Trudeau |first9=Luc |last10=Le Couviour Tuffet |first10=Victorien |last11=Lei |first11=Zhijun |last12=Katsavounidis |first12=Ioannis |last13=Ronca |first13=David |date=2022-10-03 |editor-last=Tescher |editor-first=Andrew G. |editor2-last=Ebrahimi |editor2-first=Touradj |title=Benchmarking and analysis of AV1 software decoding on Android devices |url=https://www.spiedigitallibrary.org/conference-proceedings-of-spie/12226/2633692/Benchmarking-and-analysis-of-AV1-software-decoding-on-Android-devices/10.1117/12.2633692.full |journal=SPIE OPTICAL ENGINEERING + APPLICATIONS |publisher=SPIE |volume=Applications of Digital Image Processing XLV |pages=27 |doi=10.1117/12.2633692 |isbn=978-1-5106-5436-5}}</ref>


The name ''dav1d'' is derived from a combination of factors. Pronounced "David", it merges the [[recursive acronym]] "dav1d is an AV1 decoder" with the [[Leet|leetspeak]] transformation of the name David, where the "i" is replaced by a "1" due to the visual similarity of their [[Glyph|glyphs]]. This playful adaptation captures both the essence of the project as an AV1 decoder and pays homage to the [[hacker culture]], where recursive acronyms and leetspeak are common occurrences.
The name ''dav1d'' is derived from a combination of factors. Pronounced "David", it merges the [[recursive acronym]] "dav1d is an AV1 decoder" with the [[Leet|leetspeak]] transformation of the name David, where the "i" is replaced by a "1" due to the visual similarity of their [[Glyph|glyphs]]. This playful adaptation captures both the essence of the project as an AV1 decoder and pays homage to the [[hacker culture]], where recursive acronyms and leetspeak are common occurrences.
Line 32: Line 32:
In October 2018, Ronald Bultje and Jean-Baptiste Kempf announced dav1d at the VideoLAN Developer Days 2018 conference.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=UhIgBdrKyNM |title=Video Dev Days 2018: Dav1d: a fast new AV1 decoder |language=en |access-date=2024-04-29 |via=www.youtube.com}}</ref> The goal of the project being to develop a fast AV1 software decoder to jumpstart the AV1 ecosystem and act as a [[stopgap]] solution until AV1 hardware decoders are common place.
In October 2018, Ronald Bultje and Jean-Baptiste Kempf announced dav1d at the VideoLAN Developer Days 2018 conference.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=UhIgBdrKyNM |title=Video Dev Days 2018: Dav1d: a fast new AV1 decoder |language=en |access-date=2024-04-29 |via=www.youtube.com}}</ref> The goal of the project being to develop a fast AV1 software decoder to jumpstart the AV1 ecosystem and act as a [[stopgap]] solution until AV1 hardware decoders are common place.


The first usable version of dav1d, called 0.1.0 Gazelle, was released in December 2018.<ref>{{Cite web |title=First release of dav1d, the AV1 decoder - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/First-release-of-dav1d/ |access-date=2024-04-29 |website=jbkempf.com}}</ref> Releases 0.1.0 to 0.7.1 were primarily dedicated to [[Color depth|low-bitdepth]] [[Single instruction, multiple data|SIMD]] optimizations, aimed at enhancing decoding efficiency on x86 and ARM.<ref>{{Cite web |title=dav1d 0.7.1 - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/dav1d-0.7.1/ |access-date=2024-04-29 |website=jbkempf.com}}</ref> In 2019, [[Benchmark (computing)|benchmarks]] showed that dav1d 0.5 was the fastest AV1 decoder in comparison to libgav1 and libaom.<ref>{{Cite web |last=Hoeven |first=Ewout ter |date=2019-10-10 |title=AV1 is ready for prime time Part 2: Decoding performance |url=https://medium.com/@ewoutterhoeven/av1-is-ready-for-prime-time-part-2-decoding-performance-d3428221313 |access-date=2024-04-29 |website=Medium |language=en}}</ref> Subsequent releases, from 0.7.1 to 1.0, shifted focus to high-bitdepth SIMD optimizations.<ref>{{Cite web |title=dav1d 0.9.1: a ton of asm - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/2021/dav1d-0.9.1-a-ton-of-asm/ |access-date=2024-04-29 |website=jbkempf.com}}</ref> In 2022, more exhaustive benchmarks were published showing that real-time AV1 playback of 720p 30fps at 2 Mbps was possible for low-end android devices and 1080p 30 fps at 4 Mbps was possible mid-range and high-end android devices. <ref name=":0" />
The first usable version of dav1d, called 0.1.0 Gazelle, was released in December 2018.<ref>{{Cite web |title=First release of dav1d, the AV1 decoder - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/First-release-of-dav1d/ |access-date=2024-04-29 |website=jbkempf.com}}</ref><ref>{{Cite web |title=DAV1D v0.1 AV1 Video Decoder Released |url=https://www.phoronix.com/news/DAV1D-AV1-0.1-Released |access-date=2024-07-17 |website=www.phoronix.com |language=en}}</ref> Releases 0.1.0 to 0.7.1 were primarily dedicated to [[Color depth|low-bitdepth]] [[Single instruction, multiple data|SIMD]] optimizations, aimed at enhancing decoding efficiency on x86 and ARM.<ref>{{Cite web |title=dav1d 0.7.1 - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/dav1d-0.7.1/ |access-date=2024-04-29 |website=jbkempf.com}}</ref> In 2019, [[Benchmark (computing)|benchmarks]] showed that dav1d 0.5 was the fastest AV1 decoder in comparison to libgav1 and libaom.<ref>{{Cite web |last=Hoeven |first=Ewout ter |date=2019-10-10 |title=AV1 is ready for prime time Part 2: Decoding performance |url=https://medium.com/@ewoutterhoeven/av1-is-ready-for-prime-time-part-2-decoding-performance-d3428221313 |access-date=2024-04-29 |website=Medium |language=en}}</ref> Subsequent releases, from 0.7.1 to 1.0, shifted focus to high-bitdepth SIMD optimizations.<ref>{{Cite web |title=dav1d 0.9.1: a ton of asm - Jean-Baptiste Kempf's Website |url=https://jbkempf.com/blog/2021/dav1d-0.9.1-a-ton-of-asm/ |access-date=2024-04-29 |website=jbkempf.com}}</ref> In 2022, more exhaustive benchmarks were published showing that real-time AV1 playback of 720p 30fps at 2 Mbps was possible for low-end android devices and 1080p 30 fps at 4 Mbps was possible mid-range and high-end android devices. <ref name=":0" />


From the beginning, dav1d was designed to be multithreaded, allowing for a combination of both frame-level [[Parallelism (computing)|parallelism]] and tile-level parallelism. The 1.0.0 release introduced a [[thread pool]] design, where each component in the decoding loop runs as a generic task with a simple dependency management mechanism.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=a4uretCJh_4 |title=Ronald S. Bultje - Low-level wizardry in dav1d |language=en |access-date=2024-05-03 |via=www.youtube.com}}</ref> In this design, worker threads iterate over a list of available tasks, allowing for a more resource-efficient parallel decoding scheme that is independent of bitstream features like tiles.
From the beginning, dav1d was designed to be multithreaded, allowing for a combination of both frame-level [[Parallelism (computing)|parallelism]] and tile-level parallelism. The 1.0.0 release introduced a [[thread pool]] design, where each component in the decoding loop runs as a generic task with a simple dependency management mechanism.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=a4uretCJh_4 |title=Ronald S. Bultje - Low-level wizardry in dav1d |language=en |access-date=2024-05-03 |via=www.youtube.com}}</ref> In this design, worker threads iterate over a list of available tasks, allowing for a more resource-efficient parallel decoding scheme that is independent of bitstream features like tiles.
Line 49: Line 49:
In February 2020, [[Netflix]] stated that their [[Android (operating system)|Android]] app relied on dav1d to decode 10-bit AV1 content.<ref>{{Cite web |last=Blog |first=Netflix Technology |date=2020-02-05 |title=Netflix Now Streaming AV1 on Android |url=https://netflixtechblog.com/netflix-now-streaming-av1-on-android-d5264a515202 |access-date=2024-05-07 |website=Medium |language=en}}</ref>
In February 2020, [[Netflix]] stated that their [[Android (operating system)|Android]] app relied on dav1d to decode 10-bit AV1 content.<ref>{{Cite web |last=Blog |first=Netflix Technology |date=2020-02-05 |title=Netflix Now Streaming AV1 on Android |url=https://netflixtechblog.com/netflix-now-streaming-av1-on-android-d5264a515202 |access-date=2024-05-07 |website=Medium |language=en}}</ref>


In February 2023, [[Meta (Company)|Meta]] reported using dav1d to decode AV1 content for [[Facebook]] Reels and [[Instagram]] Reels in their [[iOS]] app.<ref>{{Cite web |date=2023-02-21 |title=How Meta brought AV1 to Reels |url=https://engineering.fb.com/2023/02/21/video-engineering/av1-codec-facebook-instagram-reels/ |access-date=2024-05-07 |website=Engineering at Meta |language=en-US}}</ref>
In February 2023, [[Meta (Company)|Meta]] reported using dav1d to decode AV1 content for [[Facebook]] Reels and [[Instagram]] Reels in their [[iOS]] app.<ref>{{Cite web |date=2023-02-21 |title=How Meta brought AV1 to Reels |url=https://engineering.fb.com/2023/02/21/video-engineering/av1-codec-facebook-instagram-reels/ |access-date=2024-05-07 |website=Engineering at Meta |language=en-US}}</ref><ref>{{Cite journal |last=Lei |first=Ryan Zhijun |last2=Zhou |first2=Chenguang |last3=Chen |first3=Haoteng |last4=Shi |first4=Cheng |last5=Stejerean |first5=Cosmin |last6=Shi |first6=Haixia |last7=Zhang |first7=Juehui |last8=Gera |first8=Abhishek |date=2023-10-04 |editor-last=Tescher |editor-first=Andrew G. |editor2-last=Ebrahimi |editor2-first=Touradj |title=Best practices of mixed-codec adaptive bitrate streaming |url=https://www.spiedigitallibrary.org/conference-proceedings-of-spie/12674/2673195/Best-practices-of-mixed-codec-adaptive-bitrate-streaming/10.1117/12.2673195.full |journal=SPIE OPTICAL ENGINEERING + APPLICATIONS |publisher=SPIE |volume=Applications of Digital Image Processing XLVI |pages=16 |doi=10.1117/12.2673195 |isbn=978-1-5106-6562-0}}</ref>


In April 2024, [[Google]] announced that Android switched from gav1 to dav1d for software decoder to allow AV1 on all devices running Android 12 or higher via a software update.<ref>{{Cite web |last=Schoon |first=Ben |date=2024-04-19 |title=Android adds new software-based AV1 decoder to most devices, YouTube uses it |url=https://9to5google.com/2024/04/19/android-av1-software-decoder/ |access-date=2024-05-08 |website=9to5Google |language=en-US}}</ref> Prior to this, Android developers had to incorporate dav1d into their apps and patch ExoPlayer in order to use dav1d to decode AV1 in their apps.
In April 2024, [[Google]] announced that Android switched from gav1 to dav1d for software decoder to allow AV1 on all devices running Android 12 or higher via a software update.<ref>{{Cite web |last=Schoon |first=Ben |date=2024-04-19 |title=Android adds new software-based AV1 decoder to most devices, YouTube uses it |url=https://9to5google.com/2024/04/19/android-av1-software-decoder/ |access-date=2024-05-08 |website=9to5Google |language=en-US}}</ref> Prior to this, Android developers had to incorporate dav1d into their apps and patch ExoPlayer in order to use dav1d to decode AV1 in their apps.
Line 55: Line 55:
A [[reverse engineering]] report from April 2024 indicates that the [[Safari (web browser)|Safari]] web browser uses dav1d to decode AV1.<ref>{{Cite web |title=Does CVE-2024-1580 affect my app? {{!}} Apple Developer Forums |url=https://developer.apple.com/forums/thread/750335 |access-date=2024-05-08 |website=developer.apple.com}}</ref>
A [[reverse engineering]] report from April 2024 indicates that the [[Safari (web browser)|Safari]] web browser uses dav1d to decode AV1.<ref>{{Cite web |title=Does CVE-2024-1580 affect my app? {{!}} Apple Developer Forums |url=https://developer.apple.com/forums/thread/750335 |access-date=2024-05-08 |website=developer.apple.com}}</ref>


As for source code reuse, the ARM and x86 optimized SIMD functions from dav1d have been imported into rav1e, an AV1 encoder by [[Xiph.Org Foundation]].<ref>{{Cite web |title=rav1e/doc/STRUCTURE.md at c7c72b5530e391211c5d5f32b16394d1c7dc00cc · xiph/rav1e |url=https://github.com/xiph/rav1e/blob/c7c72b5530e391211c5d5f32b16394d1c7dc00cc/doc/STRUCTURE.md |access-date=2024-05-08 |website=GitHub |language=en}}</ref> Optimized SIMD functions from dav1d have also been imported into SVT-AV1.<ref>{{Cite web |date=2024-03-13 |title=CHANGELOG.md · master · Alliance for Open Media / SVT-AV1 · GitLab |url=https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/CHANGELOG.md?ref_type=heads |access-date=2024-05-08 |website=GitLab |language=en}}</ref> Additionally, the dav1d source code was [[Transpiled|transpilled]] to the [[Rust (programming language)|Rust programming language]], which served as the starting point for the rav1d project, an AV1 decoder by the [[Internet Security Research Group]].<ref>{{Cite web |last=Group |first=Internet Security Research |date=2023-03-09 |title=A Safer High Performance AV1 Decoder |url=https://www.memorysafety.org/blog/safer-av1-decoder/ |access-date=2024-05-08 |website=www.memorysafety.org}}</ref>
As for source code reuse, the ARM and x86 optimized SIMD functions from dav1d have been imported into rav1e, an AV1 encoder by [[Xiph.Org Foundation]].<ref>{{Cite web |title=rav1e/doc/STRUCTURE.md at c7c72b5530e391211c5d5f32b16394d1c7dc00cc · xiph/rav1e |url=https://github.com/xiph/rav1e/blob/c7c72b5530e391211c5d5f32b16394d1c7dc00cc/doc/STRUCTURE.md |access-date=2024-05-08 |website=GitHub |language=en}}</ref><ref>{{Cite journal |last=Barbato |first=Luca |last2=Barr |first2=David M. |last3=Molodetskikh |first3=Ivan |last4=Montgomery |first4=Christopher |last5=S.P. |first5=Shreevari |last6=Zumer |first6=Raphaël A. |last7=Egge |first7=Nathan E. |date=2019-09-06 |editor-last=Tescher |editor-first=Andrew G. |editor2-last=Ebrahimi |editor2-first=Touradj |title=Rust AV1 encoder (rav1e) project |url=https://www.spiedigitallibrary.org/conference-proceedings-of-spie/11137/2529592/Rust-AV1-encoder-rav1e-project/10.1117/12.2529592.full |publisher=SPIE |pages=21 |doi=10.1117/12.2529592 |isbn=978-1-5106-2967-7}}</ref> Optimized SIMD functions from dav1d have also been imported into SVT-AV1.<ref>{{Cite web |date=2024-03-13 |title=CHANGELOG.md · master · Alliance for Open Media / SVT-AV1 · GitLab |url=https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/CHANGELOG.md?ref_type=heads |access-date=2024-05-08 |website=GitLab |language=en}}</ref> Additionally, the dav1d source code was [[Transpiled|transpilled]] to the [[Rust (programming language)|Rust programming language]], which served as the starting point for the rav1d project, an AV1 decoder by the [[Internet Security Research Group]].<ref>{{Cite web |last=Group |first=Internet Security Research |date=2023-03-09 |title=A Safer High Performance AV1 Decoder |url=https://www.memorysafety.org/blog/safer-av1-decoder/ |access-date=2024-05-08 |website=www.memorysafety.org}}</ref>


== References ==
== References ==

Revision as of 18:29, 17 July 2024

  • Comment: The effort in creating this article is commendable, but it lacks reliable sources. Please review WP:RS and WP:V and add the necessary citations accordingly. Hitro talk 13:57, 21 May 2024 (UTC)

dav1d
Developer(s)VideoLAN and FFmpeg communities
Repositorycode.videolan.org/videolan/dav1d.git
Written inAssembly language
C99
TypeVideo decoder
LicenseBSD 2-clause "Simplified" License
Websitewww.videolan.org/projects/dav1d.html

dav1d is a free and open-source software library and a command-line utility to decode video streams in the AV1 video coding format. It is developed by the VideoLAN and FFmpeg communities and sponsored by the Alliance for Open Media.[1][2] It is designed to be fast, small, cross-platform and multithreaded.[3][4]

The name dav1d is derived from a combination of factors. Pronounced "David", it merges the recursive acronym "dav1d is an AV1 decoder" with the leetspeak transformation of the name David, where the "i" is replaced by a "1" due to the visual similarity of their glyphs. This playful adaptation captures both the essence of the project as an AV1 decoder and pays homage to the hacker culture, where recursive acronyms and leetspeak are common occurrences.

dav1d is released under the BSD 2-clause "Simplified" License,[5] a distinction from the Copyleft licensing favored by projects like FFmpeg and VideoLAN. This strategic choice of a more permissive license was made to encourage wider adoption of AV1. The decision to adopt a permissive license model for dav1d finds its roots in the Vorbis project, where similar licensing strategies were employed to promote adoption and prevent the entrenchment of proprietary formats.[6]

History

The Alliance for Open Media released AV1 in March 2018[7] with a production grade and SIMD optimized software decoder called aomdec as part of libaom. A widespread opinion was that the libaom software implementation was slow[8] both in terms of encoding and decoding speeds. The VideoLAN and FFmpeg communities, who had previously written faster software decoders for both VP8[9] and VP9[10] video formats, saw this as a barrier to entry for AV1 and decided to resolve this by writing a faster software decoder.

In October 2018, Ronald Bultje and Jean-Baptiste Kempf announced dav1d at the VideoLAN Developer Days 2018 conference.[11] The goal of the project being to develop a fast AV1 software decoder to jumpstart the AV1 ecosystem and act as a stopgap solution until AV1 hardware decoders are common place.

The first usable version of dav1d, called 0.1.0 Gazelle, was released in December 2018.[12][13] Releases 0.1.0 to 0.7.1 were primarily dedicated to low-bitdepth SIMD optimizations, aimed at enhancing decoding efficiency on x86 and ARM.[14] In 2019, benchmarks showed that dav1d 0.5 was the fastest AV1 decoder in comparison to libgav1 and libaom.[15] Subsequent releases, from 0.7.1 to 1.0, shifted focus to high-bitdepth SIMD optimizations.[16] In 2022, more exhaustive benchmarks were published showing that real-time AV1 playback of 720p 30fps at 2 Mbps was possible for low-end android devices and 1080p 30 fps at 4 Mbps was possible mid-range and high-end android devices. [4]

From the beginning, dav1d was designed to be multithreaded, allowing for a combination of both frame-level parallelism and tile-level parallelism. The 1.0.0 release introduced a thread pool design, where each component in the decoding loop runs as a generic task with a simple dependency management mechanism.[17] In this design, worker threads iterate over a list of available tasks, allowing for a more resource-efficient parallel decoding scheme that is independent of bitstream features like tiles.

Software that uses dav1d

In December 2018, the 3.0.5 release of the VLC media player switched from aomdec to dav1d as the default AV1 decoder.[18]

In March 2019, Chromium, the open-source project behind Google Chrome and also Microsoft Edge, disabled libaom in favor of dav1d as the default AV1 decoder.[19] This change was subsequently released in April 2019 as part of Chrome 74.[20]

In May 2019, Mozilla announced that Firefox switched from libaom to dav1d as the default AV1 decoder on all desktop platforms (Windows, OSX and Linux) for both 32-bit and 64-bit systems.[21]

In June 2019, Cisco demonstrated a live video conferencing call in Webex that relied on dav1d for AV1 decoding.[22][23] This was the first demonstration of AV1 and dav1d for real time applications.

Support for dav1d in ffmpeg as been available since the release of version 4.2 "Ada", in August 2019.[24]

In February 2020, Netflix stated that their Android app relied on dav1d to decode 10-bit AV1 content.[25]

In February 2023, Meta reported using dav1d to decode AV1 content for Facebook Reels and Instagram Reels in their iOS app.[26][27]

In April 2024, Google announced that Android switched from gav1 to dav1d for software decoder to allow AV1 on all devices running Android 12 or higher via a software update.[28] Prior to this, Android developers had to incorporate dav1d into their apps and patch ExoPlayer in order to use dav1d to decode AV1 in their apps.

A reverse engineering report from April 2024 indicates that the Safari web browser uses dav1d to decode AV1.[29]

As for source code reuse, the ARM and x86 optimized SIMD functions from dav1d have been imported into rav1e, an AV1 encoder by Xiph.Org Foundation.[30][31] Optimized SIMD functions from dav1d have also been imported into SVT-AV1.[32] Additionally, the dav1d source code was transpilled to the Rust programming language, which served as the starting point for the rav1d project, an AV1 decoder by the Internet Security Research Group.[33]

References

  1. ^ "dav1d - dav1d is an AV1 decoder - VideoLAN". www.videolan.org. Retrieved 2024-04-26.
  2. ^ "Content Providers & Distributors". Alliance for Open Media. Retrieved 2024-07-17.
  3. ^ "Introducing dav1d: a new AV1 decoder - Jean-Baptiste Kempf's Website". jbkempf.com. Retrieved 2024-04-26.
  4. ^ a b Grunnau, Janne; Kempf, Jean-Baptiste; Storsjo, Martin; Arumugam, Jeeva Raj; Patankar, Kaustubh; Srinivasan, Mukund; Bultje, Ronald; Gramner, Henrik; Trudeau, Luc; Le Couviour Tuffet, Victorien; Lei, Zhijun; Katsavounidis, Ioannis; Ronca, David (2022-10-03). Tescher, Andrew G.; Ebrahimi, Touradj (eds.). "Benchmarking and analysis of AV1 software decoding on Android devices". SPIE OPTICAL ENGINEERING + APPLICATIONS. Applications of Digital Image Processing XLV. SPIE: 27. doi:10.1117/12.2633692. ISBN 978-1-5106-5436-5.
  5. ^ "COPYING · master · VideoLAN / dav1d · GitLab". GitLab. 2019-03-01. Retrieved 2024-07-17.
  6. ^ "LWN.net: RMS on the Ogg Vorbis license". lwn.net. Retrieved 2024-04-29.
  7. ^ "The Alliance for Open Media Kickstarts Video Innovation Era with AV1 Release". Alliance for Open Media. 2018-03-28. Retrieved 2024-07-17.
  8. ^ Ozer, Jan (2018-08-31). "AV1: A First Look".
  9. ^ "Diary Of An x264 Developer » Announcing the world's fastest VP8 decoder: ffvp8". 2010-08-11. Archived from the original on 2010-08-11. Retrieved 2024-05-03.
  10. ^ "The world's fastest VP9 decoder: ffvp9 | Ronald S. Bultje". Retrieved 2024-05-03.
  11. ^ Video Dev Days 2018: Dav1d: a fast new AV1 decoder. Retrieved 2024-04-29 – via www.youtube.com.
  12. ^ "First release of dav1d, the AV1 decoder - Jean-Baptiste Kempf's Website". jbkempf.com. Retrieved 2024-04-29.
  13. ^ "DAV1D v0.1 AV1 Video Decoder Released". www.phoronix.com. Retrieved 2024-07-17.
  14. ^ "dav1d 0.7.1 - Jean-Baptiste Kempf's Website". jbkempf.com. Retrieved 2024-04-29.
  15. ^ Hoeven, Ewout ter (2019-10-10). "AV1 is ready for prime time Part 2: Decoding performance". Medium. Retrieved 2024-04-29.
  16. ^ "dav1d 0.9.1: a ton of asm - Jean-Baptiste Kempf's Website". jbkempf.com. Retrieved 2024-04-29.
  17. ^ Ronald S. Bultje - Low-level wizardry in dav1d. Retrieved 2024-05-03 – via www.youtube.com.
  18. ^ "How to use AV1 with open source tools - Jean-Baptiste Kempf's Website". jbkempf.com. Retrieved 2024-05-07.
  19. ^ "Diff - ede4345734371ac35b4e50cea7ef3332dabd54d5^! - chromium/src.git - Git at Google". chromium.googlesource.com. Retrieved 2024-05-07.
  20. ^ Hoeven, Ewout ter (2019-05-17). "dav1d 0.3.0 Sailfish: ARMed to the teeth". Medium. Retrieved 2024-05-07.
  21. ^ "Firefox brings you smooth video playback with the world's fastest AV1 decoder – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog. Retrieved 2024-05-07.
  22. ^ BigAppleVideo (2019-06-25). BAV2019 - AV1 in video collaboration. Retrieved 2024-05-07 – via Vimeo.
  23. ^ "The AV1 video codec comes to Webex!". blog.webex.com. 2020-12-15. Retrieved 2024-05-07.
  24. ^ "FFmpeg 4.2 Released With AV1 Decoding Support, GIF Parser". www.phoronix.com. Retrieved 2024-05-07.
  25. ^ Blog, Netflix Technology (2020-02-05). "Netflix Now Streaming AV1 on Android". Medium. Retrieved 2024-05-07.
  26. ^ "How Meta brought AV1 to Reels". Engineering at Meta. 2023-02-21. Retrieved 2024-05-07.
  27. ^ Lei, Ryan Zhijun; Zhou, Chenguang; Chen, Haoteng; Shi, Cheng; Stejerean, Cosmin; Shi, Haixia; Zhang, Juehui; Gera, Abhishek (2023-10-04). Tescher, Andrew G.; Ebrahimi, Touradj (eds.). "Best practices of mixed-codec adaptive bitrate streaming". SPIE OPTICAL ENGINEERING + APPLICATIONS. Applications of Digital Image Processing XLVI. SPIE: 16. doi:10.1117/12.2673195. ISBN 978-1-5106-6562-0.
  28. ^ Schoon, Ben (2024-04-19). "Android adds new software-based AV1 decoder to most devices, YouTube uses it". 9to5Google. Retrieved 2024-05-08.
  29. ^ "Does CVE-2024-1580 affect my app? | Apple Developer Forums". developer.apple.com. Retrieved 2024-05-08.
  30. ^ "rav1e/doc/STRUCTURE.md at c7c72b5530e391211c5d5f32b16394d1c7dc00cc · xiph/rav1e". GitHub. Retrieved 2024-05-08.
  31. ^ Barbato, Luca; Barr, David M.; Molodetskikh, Ivan; Montgomery, Christopher; S.P., Shreevari; Zumer, Raphaël A.; Egge, Nathan E. (2019-09-06). Tescher, Andrew G.; Ebrahimi, Touradj (eds.). "Rust AV1 encoder (rav1e) project". SPIE: 21. doi:10.1117/12.2529592. ISBN 978-1-5106-2967-7. {{cite journal}}: Cite journal requires |journal= (help)
  32. ^ "CHANGELOG.md · master · Alliance for Open Media / SVT-AV1 · GitLab". GitLab. 2024-03-13. Retrieved 2024-05-08.
  33. ^ Group, Internet Security Research (2023-03-09). "A Safer High Performance AV1 Decoder". www.memorysafety.org. Retrieved 2024-05-08. {{cite web}}: |last= has generic name (help)