In this paper we address the problem of translating high-level stream programs, such as those written in MPEG's RVC-CAL dataflow language, into implementations in programmable hardware. Our focus is on two aspects: sufficient language coverage to make synthesis available for a large class of programs, and methodology and tool support providing analysis and guidance to improve and optimize an initial implementation. Our main results are (1) a synthesis tool that for the first time translates a complete and unmodified MPEG reference implementation into a working hardware description, and (2) a suite of profiling and analysis tools that analyze the structure of computation weighted by data obtained from the synthesis process, and accurately pinpoint parts of the program that are targets for optimization.