1. An optimizing video processing system comprising: a video processing module for processing an input of a video stream, said video processing module comprising architectural parameters for identifying an order of cascaded video functions and determining a bit precision between data of any consecutive cascaded functions according to an associated complexity level which correlates with a value of available computational resources; an optimizer module for optimizing processing of said video stream, said optimizer module being in communication with said video processing module, said optimizer module comprising a plurality of optimization engines each having an associated complexity level, said optimizer module includes means for selecting an optimization engine according to a complexity level which correlates with said value of available computational resources; and an Object Image Quality (OIQ) evaluator module for evaluating an image quality of an output of said video stream from said video processing module, said OIQ evaluator comprising a plurality of objective image quality metrics having an associated complexity level, and said OIQ evaluator module includes means for selecting a metric from said plurality of objective metrics according to a correlation factor R and a complexity level for said value of available computation resources.