Efficiency note: A single column of frames will have the best paging and caching behaviour. A row of frames would have the worst. A square image of frames would probably perform similarly to a row of frames.
If you use a column, where each row of pixels is stored adjacent in memory, than all rows in a single frame are adjacent. This should improve cache performance, and keep each image on a single page of memory if possible, or straddle adjacent pages of memory.
If you store a row of frames, then a row of pixels will straddle many frames, and so you can end up loading unneeded data into the cache. It also means you'll likely have to touch more memory pages. For a wide enough image, it could be a new page of memory for each row of pixels.