Decode from stream directly