Ignite/README.md
DataHoarder 883dad8b84
All checks were successful
continuous-integration/drone/push Build is passing
Add ffmpeg cli decoder, default env variables for VMAF_MODEL_PATH / FFMPEG_PATH
2023-11-04 15:13:39 +01:00

54 lines
3.4 KiB
Markdown

# Supported
* y4m pipes
* Frame tested support for 4:4:4, 4:2:2, 4:2:0. Probably 4:0:0 as well, untested.
* Frame tested support for 8, 10, 12 bit depth. Probably 14 and 16 as well, untested.
* VMAF tools
* IVF reader
* Frameserver
* TODO: make list per encoder and decoder.
## Bitdepth / subsampling Frame support matrix
| Depth/Sampling | 4:0:0 | 4:2:0 | 4:2:2 | 4:4:4 |
|:--------------:|:-----:|:-----:|:-----:|:-----:|
| 8-bit | ✅ | ✅ | ✅ | ✅ |
| 10-bit | ✅ | ✅ | ⚠️ | ⚠️ |
| 12-bit | ⚠️ | ⚠️ | ⚠️ | ✅ |
| 14-bit | ❔ | ❔ | ❔ | ❔ |
| 16-bit | ❔ | ❔ | ❔ | ❔ |
Legend:
✅ = supported, tested regularly
⚠️ = supported, tested sparsely/manually
❔ = probably supported, not tested
❌ = unsupported
## Formats supported
| Format | Decoder | Encoder | Notes |
|:-------------:|:-------:|:-------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **YUV4MPEG2** | ✅ | ❌ | Supports most bitdepth and chroma subsampling. Library limited, not format limited.</br>Decoding via [S.O.N.G/Ignite](https://git.gammaspectra.live/S.O.N.G/Ignite) |
| **H.264** | ❌ | ✅ | Supports 8-bit and 10-bit; 4:0:0, 4:2:0, 4:2:2, 4:4:4 chroma subsampling.</br>Encoding via [x264](https://code.videolan.org/videolan/x264) into .h264 bitstream. |
| **H.265** | ❌ | ❌ | |
| **VP9** | ❌ | ❌ | |
| **AV1** | ✅ | ✅ | Supports 8-bit, 10-bit and 12-bit; 4:0:0, 4:2:0, 4:2:2, 4:4:4 chroma subsampling.</br>Decoding via [dav1d](https://code.videolan.org/videolan/dav1d) from .ivf bitstream</br>Encoding via [libaom-av1](https://aomedia.googlesource.com/aom) into .ivf bitstream. |
Additionally, a safe command-line call to ffmpeg can be made to decode into compatible YUV4MPEG2 via the integrated ffmpeg decoder.
# TODO
* No SAR/PAR handling.
* No color primary / transfer / matrix coefficients handling.
## Build tags
Several Golang build tags exist to change which features are included in the project.
### disable_library_[library]
This tag disables support for the specified library dependencies.
Current implemented [library]: `libdav1d, libaom, libx264, libvmaf`.