1. A method of performing rate control in a predictive video encoder, comprising: classifying pictures in a video sequence; estimating a first quantization parameter; calculating picture costs for each of the pictures in the video sequence based on the estimated quantization parameter; initializing rate control data; performing bit allocation and quantization parameter selection based on the picture costs and the rate control data; encoding the video sequence; and updating the rate control data.