Eclipse: A Heterogeneous Multiprocessor Architecture for Flexible Media Processing