1. An apparatus comprising: a first memory configured to store a list comprising a plurality of read requests, wherein said read requests (i) correspond to a plurality of blocks of a reference picture and (ii) are used to decode a current picture in a bitstream carrying video; and a circuit configured to (i) rearrange said read requests in said list based on at least one of (a) a size of a buffer in a second memory and (b) a width of a data bus of said second memory and (ii) copy a portion of said reference picture from said second memory to a third memory using one or more direct memory access transfers in response to said list.