Patent ID: 8634695

Claim:
A computer-readable storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for providing a video playback on a low-power device, the low-power device configured by a runtime, a video service, a system compositor, a shared surface to receive decoded video frames, and an application which has a video object and an application-specific manipulator, the process comprising the steps performed on the device of: the runtime handing the video object to the video service for rendering; the video service rendering the video object onto the shared surface in a frame buffer, the shared surface thus receiving decoded video frames; the application-specific manipulator manipulating the shared surface by at least one of the following manipulations: filtering, distorting, texture wrapping, animating; the system compositor compositing the manipulated shared surface with other data from outside the frame buffer to assemble an image in the frame buffer from the manipulated shared surface and the other data from outside the frame buffer, the system compositor and the application-specific manipulator being two items which have respective functionalities for composition and for manipulation, wherein the system compositor composition functionality operates on both the shared surface in the frame buffer and the other data from outside the frame buffer to assemble an image in the frame buffer, but the application-specific manipulator manipulation functionality operates on only the shared surface in the frame buffer and the application-specific manipulator manipulation functionality operates prior to operation of the system compositor composition functionality; and the device displaying attendant rendered, manipulated, and composited video frames; the foregoing process utilizing only a single copy of the shared surface in memory, and the surface being shared by the manipulator and the compositor as opposed to being divided into regions with the manipulator responsible for operating on pixels in one region and the compositor responsible for operating on pixels in another region.