1. A method for decoding streaming data, comprising: dividing a process for decoding the streaming data into two or more tasks based on data dependencies between the two or more tasks; and executing the two or more tasks in parallel on three or more processors in a way that balances a processing load of executing the two or more tasks among the three or more processors by determining a section size for the streaming data, dividing a portion of the streaming data into two or more sections of the section size and processing the two or more sections in parallel on two or more processors, wherein the section size is chosen such that a hardware clock rate divided by a data transfer latency is greater than a data dependency frequency for the section.