Patent ID: 8610727

Claim:
An apparatus, comprising: a processing core performance monitoring module configured to receive an indication of a performance level of each of a plurality of processing cores, the plurality of processing cores comprising a central processing unit (CPU), a video accelerator, and a graphics accelerator; a CPU performance monitoring module configured to receive the indication of the performance level of the CPU; a video accelerator performance monitoring module configured to receive the indication of the performance level of the video accelerator; a graphics accelerator performance monitoring module configured to receive the indication of the performance level of the graphics accelerator; a processor core management module configured to: map a multimedia workload to one of a plurality of predetermined allocation policies based on i) a detected type of the multimedia workload, and ii) predetermined performance level thresholds associated with each of the video accelerator, the graphics accelerator, and the CPU, wherein each of the predetermined allocation policies identifies a selected one of the video accelerator, the graphics accelerator, and the CPU to receive the multimedia workload, and wherein the detected type is one of a plurality of types including at least two of a graphics workload, a video decoding workload, and a video encoding workload; and dynamically allocate pre-processing tasks and post-processing tasks of the multimedia workload to any one of the video accelerator, the graphics accelerator, and the CPU based on i) the one of the plurality of predetermined allocation policies, and ii) current performance levels of each of the video accelerator, the graphics accelerator, and the CPU; and a lookup table configured to correlate the predetermined allocation policies to the predetermined performance level thresholds.