Patent ID: 8879636

Claim:
An adaptive video encoder, comprising: a counter configured to measure an elapsed length of time for encoding a first sequence of macroblocks of a frame comprising an initial macroblock of the frame, a check progress macroblock, and macroblocks between the initial macroblock and the check progress macroblock, the check progress macroblock placed between the initial macroblock and a final macroblock of the frame; and a processor configured to: encode the first sequence of macroblocks using a first set of video encoding tools, each video encoding tool implementing a video processing algorithm; determine whether the measured elapsed time is shorter than or equal to a predetermined time, the predetermined time representing an expected elapsed time for encoding the first sequence of macroblocks; responsive to determining that the measured elapsed time is shorter than or equal to the predetermined time, use the first set of video encoding tools for encoding a second sequence of macroblocks of the frame subsequent to the first sequence of macroblocks; and responsive to determining that the measured elapsed time is longer than the predetermined time, use a second set of video encoding tools for encoding the second sequence of macroblocks of the frame, the second set of video encoding tools implementing at least one video processing algorithm different from the first set of video tools.