In a video processing workflow, an encoder compresses a video stream—taking high-quality video as an input, and outputting smaller-sized versions—with as little loss as possible to the resulting picture quality. While this is a complicated task when working with pre-recorded video files, for live video it is made even more difficult as the video processing needs to work in real-time: the encoder must be powerful enough to produce exactly one second of video every second it runs without fail so that viewers see an uninterrupted video stream.