the same time memory used to store intermediate data is also reduced because the data does not need to be stored in memory as an immediate result the performance is improved referring now to fig4 a method of deblocking consecutive available macroblocks in accordance with another embodiment of the present technology is shown the method begins at 405 when a routine for deblocking macroblocks is called at 330 as discussed above with regard to fig3 at 410 the nth macroblock in the frame is deblocked and other macroblocks that are eligible for deblocking are identified after the current macroblock other consecutive macroblocks may also be deblocked the other eligible macroblocks are retrieved from storage and may be deblocked using one or more auxiliary fpus in one implementation the macroblock m 1 that immediately follows the current macroblock m in encoding order can also be deblocked if macroblock m 1 has previously been decoded but not deblocked and stored once macroblock m 1 is deblocked the macroblock m 2 that immediately follows macroblock m 1 in encoded order can be deblocked if it has been previously decoded but not deblocked stored and so on in one implementation each macroblock that is eligible for deblocking is flagged in a macroblock array in one implementation the current macroblock m is the last macroblock in the frame if m is the largest mb_id in the frame in one implementation the information about the nth macroblock and other consecutive macroblocks that were stored at 345 as discussed above with regard to fig3 is accessed at 415 an identifier of the current macroblock is incremented if the current value of the identifier of the current macroblock is greater than the macroblock number of the last.