A short interview-style transcript where Tsahi Levent-Levi asks Philippe whether two encoders that implement the same video codec (e.g., H.264 or AV1) will produce identical outputs. Philippe explains they will not: codec standards define decoder behavior, while encoders choose how to spend bitrate and which tools to use, leading to different outputs. They note that encoder implementations improve over time (better use of tools) and become more powerful as CPU/GPU performance increases; thus current AV1 encoders are expected to be worse than future implementations.
Chapters
Here's a question for you, Philippe. Are there differences between the implementation of two encoders of the same video codec? Let's say I want to take H264. Can I assume immediately that two devices running an H264 encoder would give me the same results?
No, because we have defined video codecs always in terms of this is what the decoder needs to be able to decode and the encoder gets a target bitrate. The bitrate budget and how it is going to spend the bits on the different parts of the video is up to the encoder. As long as the decoder can decode it, it's fine. Which means that two different code implementations will generally produce very different results.
Yes. I think for me, when I look at the codec, I'd say that the codecs is a standard codec, is a set of tools that are part of the codec with the rules of how you decode a bitstream that you see. Now, how the encoder uses these set of tools, which tools it even uses to create the encoded bitstream, it's a bit more like art versus a specification of the standard of how the decoder needs to be to run and operate.
Yes, yes. For example, we have the screen content coding tools in AV1, which dramatically decreases the bitrate for screen content.
Yep. Yes. I remember going, I went 20 years ago for the first time that I went to hear about video codecs and how they work and how compression works in the course here. And the guy came and said, well, you know, there is H264. It was new at the time. And he said, if we look at H264 today versus five years from now, it's going to be a lot better. Not because someone is going to change the specification, but because we will know more about how to use and utilize the tools in H.264 as a codec, so that the end compression is going to be better for the exact same codec. We're just going to be better at using these tools with the encoders that we are going to create for this codec.
Yes, yes. Also, what helps is that CPUs and GPUs got faster, which means you can use the more expensive encoding tools now, which you couldn't back then.
And if we go back with this to AV1, we can say with a high level of confidence that Today's implementations of AV1 are worse than the implementations of AV1s that we will see two years from now, they will be a lot better. And they would produce better compression rates and better quality, okay?