A non-transitory computer-readable-medium storing instructions that, when executed by a processor of an image projector, cause the image projector to perform operations including receiving a first image data, determining a thermal state of the image projector based at least in part on a content of the first image data, generating a second image data based on the first image data and the thermal state; emitting light in response to the second image data, and projecting an image onto a screen based on the emitted light, wherein the first image data corresponds to a frame of a video, and the second image data corresponds to the frame of the video.