Patent ID: 8654842

Claim:
A method at least partially implemented by one or more processors of a computing device, the method comprising: receiving, by a video encoding acceleration service implemented by the one or more processors of the computing device, one or more queries from a video encoder to identify implementation specifics of acceleration hardware; responsive to receiving the one or more queries, the video encoding acceleration service: interfacing with the acceleration hardware to obtain the implementation specifics; responsive to receiving the implementation specifics, communicating the implementation specifics to the video encoder; and wherein the implementation specifics enable the video encoder during runtime to: determine whether one or more of speed and quality of software encoding operations associated with the video encoder can be increased with implementation of a particular encoding pipeline of one or more supported encoding pipeline configurations and capabilities, the particular encoding pipeline being designed to reduce dataflow transitions between busses and/or processors associated with the computing device and the acceleration hardware at least in part by causing data associated with the queries to remain in a memory associated with the acceleration hardware for successive stages of processing, the particular encoding pipeline performing one or more encoding operations in software and the one or more encoding operations in the acceleration hardware; and implement the particular encoding pipeline by interfacing with the video encoding acceleration service.