You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-4Lines changed: 23 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -20,16 +20,32 @@ AVIF image spec is still in evolve. And the current upstream AVIF codec is a sim
20
20
21
21
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 :)
22
22
23
-
## aom && dav1d
23
+
## aom && dav1d && rav1e
24
24
25
25
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.
26
26
27
+
### aom
28
+
27
29
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.
28
30
31
+
### dav1d (Decoding)
32
+
29
33
[dav1d](https://github.com/videolan/dav1d) is the new and next generation AV1 codec, focused on speed and correctness.
30
34
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
+
31
37
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.
32
38
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
+
33
49
## Requirements
34
50
35
51
+ iOS 8
@@ -41,17 +57,20 @@ From v0.3.0, libavif can built with dav1d. For CocoaPods user, you can simply us
41
57
42
58
#### CocoaPods
43
59
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:
45
61
46
62
```ruby
47
63
pod 'SDWebImageAVIFCoder'
48
64
```
49
65
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:
51
67
52
68
```ruby
53
69
pod 'SDWebImageAVIFCoder'
54
-
pod 'libavif/libdav1d'
70
+
pod 'libavif', :subpsecs => [
71
+
'libdav1d',
72
+
'librav1e'
73
+
]
55
74
```
56
75
57
76
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