# 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.
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.
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.
Decoding via [dav1d](https://code.videolan.org/videolan/dav1d) from .ivf bitstream
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`.