Scalable Video Technology for AV1 Encoder
github.com
github.com
Edit: Feeling dumb, but confirmed, Intel is also in the license[3] :)
[1]: https://github.com/intel/SVT-HEVC
[2]: https://www.intel.com/content/www/us/en/cloud-computing/visu...
[3]: https://github.com/OpenVisualCloud/SVT-AV1/blob/master/LICEN...
This is an Intel project, showing off their work on AV1 encoding.
Anyway can't wait to test this. Right now my library still is mainly h264. Wanted to get everything to vp9 a while back which was too slow, then tried hevc which was faster, but not really satisfactorily either. Hope this will get down to vp9 encoding speed so that it's at least feasible...
It seems the mods changed the title again though, and reading the comments people seem to be surprised that this is Intel’s.
I was waiting for a good encoder to show up and this seems like a step in the right direction
Each stream could need:
- one source frame
- additional source frames for reordering (3-7 is pretty normal)
- additional source frames for rate control (x264's default is 40)
- recon for the frame being encoded
- reference frames (IIRC AV1 allows up to 8 to be stored)
Plus MVs, modes, maybe subpel caches, etc.
That's easily 50-60 frames per stream. Times maybe 112 streams for 6000 frames. Easily tunable of course, especially with even a little intra-segment parallelism.
From what I've seen AV1 breaks frames/segments up into a kd-tree and brute forces these leaves to find the transformation that looks the best with the smallest size. An over simplification obviously, but with everything that encoders are doing I still think it is naive to design them with such a simplistic view of concurrency that they have to be treated as a hundred small files for a hundred CPU cores.