Yet another BitmapData question

I am preparing small app in Flash where i will be able to do some basic modifications on BitmapData (rotate, scale, desaturate, etc). Whats the most efficient way to do couple of modyfications? Let’s say I want to downsize a BitmapData (using matrix perhaps) and then i want to rotate it 90 CCW and then apply a filter. After each action do I have to clone BitmapData or draw another one from a bmd from a previous state? Maby this would be more descriptive:

  1. Load jpeg into bmd1
  2. Apply transformation on bmd1
  3. Copy tranformed bmd1 content to a bmd2
  4. Apply filter on bmd2
  5. Copy filtered bmd2 content to a bmd3
  6. Save out bmd3.

ANY help would be apperciated.

Thanks a lot