1. A method comprising: calculating a complexity value for each segment or version of multimedia content, the multimedia content having multiple versions associated with common content and different encoding parameters, each version divided into segments; and adaptively streaming the multimedia content to a client device based on at least some of the calculated complexity values, wherein adaptively streaming the multimedia content comprises: streaming a first version of the multimedia content to the client device; and switching to streaming a second version of the multimedia content to the client device based on a power status of the client device; wherein the complexity value for each segment or version is calculated by summing multiple operation complexity values defining complexities of operations for decoding the segment or version.