Patent ID: 8615039

Claim:
A method to be executed at least in part in a computing device for optimizing video encoding allocations in a multi-core processor system, the method comprising: estimating a complexity of macroblocks within a current frame based on macroblocks of a previous frame based on a motion content and a color composition of each macroblock; dividing the current frame into slices of distinct shapes based on the estimated complexity of the macroblocks such that processing time at respective processor cores is substantially evenly distributed and overall processing for the current frame is optimized, wherein each slice comprises a sequence of macroblocks; employing the slices using a growth rate, a direction, and a position of a cycle used to one of: grow and shrink the slices over the current frame; if a number of slices within the current frame is equal to a number of available processor cores, submitting the macroblocks for the slices in the current frame to the available processor cores for processing; else continuing to divide the current frame into slices until the number of slices within the current frame is equal to the number of available processor cores.