Skip to content

Commit 7d9e73f

Browse files
committed
Update the readme, about libavif codec choose for aom, rav1e, dav1d
1 parent a635cdc commit 7d9e73f

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,32 @@ AVIF image spec is still in evolve. And the current upstream AVIF codec is a sim
2020

2121
Since we rely on the external codec libavif. We may periodically update the dependency and bump version. Make sure you're using the latest version as possible as you can :)
2222

23-
## aom && dav1d
23+
## aom && dav1d && rav1e
2424

2525
libavif is a still image codec. But AVIF is based on the AV1 Video standard. So it need a AV1 codec for support. This relationship is just like HEIF(image) and HEVC(video) codec.
2626

27+
### aom
28+
2729
By default, libavif is built with [aom](https://aomedia.googlesource.com/aom/) codec support. aom is the first AV1 codec during the standard draft implementation.
2830

31+
### dav1d (Decoding)
32+
2933
[dav1d](https://github.com/videolan/dav1d) is the new and next generation AV1 codec, focused on speed and correctness.
3034

35+
See more about [explanation for why starting a new project but not improving aom](https://github.com/videolan/dav1d#why-do-you-not-improve-libaom-rather-than-starting-a-new-project)
36+
3137
From v0.3.0, libavif can built with dav1d. For CocoaPods user, you can simply use the subspec for this. Carthage for optional dav1d codec is not supported currently.
3238

39+
### rav1e (Encoding)
40+
41+
[rav1e](https://github.com/xiph/rav1e) is the fastest and safest AV1 encoder. Which use [Rust programming](https://www.rust-lang.org/) to provide fast and safe codec compared to aom. Its current form it is most suitable for cases where libaom (the reference encoder) is too slow.
42+
43+
See more about [performance](https://github.com/xiph/rav1e/issues/1248)
44+
45+
From v0.4.3, libavif can built with rav1e. For CocoaPods user, you can simply use the subspec for this. Carthage for optional rav1c codec is not supported currently.
46+
47+
Note rav1e currently only support iOS && macOS. watchOS and tvOS supports need Rust community upstream support.
48+
3349
## Requirements
3450

3551
+ iOS 8
@@ -41,17 +57,20 @@ From v0.3.0, libavif can built with dav1d. For CocoaPods user, you can simply us
4157

4258
#### CocoaPods
4359
SDWebImageAVIFCoder is available through [CocoaPods](https://cocoapods.org). To install
44-
it, simply add the following line to your Podfile:
60+
it with default aom AV1 codec, simply add the following line to your Podfile:
4561

4662
```ruby
4763
pod 'SDWebImageAVIFCoder'
4864
```
4965

50-
Note: From version 0.4.0, if you want to use dav1d instead aom for libavif which we dependent on, control the subspec of libavif instead:
66+
Note: From version 0.4.0, if you want to use rav1e or dav1e instead aom for faster AV1 codec, control the subspec of libavif instead:
5167

5268
```ruby
5369
pod 'SDWebImageAVIFCoder'
54-
pod 'libavif/libdav1d'
70+
pod 'libavif', :subpsecs => [
71+
'libdav1d',
72+
'librav1e'
73+
]
5574
```
5675

5776
Note: From version 0.2.0, the dependency libavif and libaom use the portable C implementation to works on Apple platforms. If you need the pre-built library with SIMD/AVX and assembly optimization, try the 0.1.0 version.

0 commit comments

Comments
 (0)