1. A method of processing a plurality of image processing routines on a particular processor using a cache of the particular processor, each routine in the plurality of routines processing at least one frame of video data, the method comprising: a) determining an initial list comprising a plurality of routine identifiers positioned in specific order which when executed by the particular processor according to the specific order produce a particular effect, the plurality of routine identifiers identifying the plurality of image processing routines, each routine identifier in the plurality of routine identifiers identifying a corresponding routine in the plurality of routines; b) grouping at least two routine identifiers of the plurality of routine identifiers into a set of routine identifiers that identify a set of routines; c) modifying the initial list of routine identifiers to indicate the grouping of the at least two routine identifiers to produce a modified ordering of the initial list of routine identifiers, wherein said grouping and said modifying are performed by a set of instructions executed by the particular processor; d) executing the routines identified in the modified ordering of routine identifiers by traversing the modified list of routine identifiers to produce the particular effect, wherein said executing comprises executing the identified routines in the modified ordering so that data stored in the cache from at least one previous routine is used for processing a subsequent routine that produces output stored back into the cache; and e) storing output of the routines to a computer-readable medium.