A method of buffering a video signal is disclosed. The method generally includes the steps of (A) storing a plurality of pictures decoded from the video signal having a first resolution in a memory space divided into a plurality of first buffers each having a first size, (B) dividing the memory space into a plurality of second buffers each having a second size in response to the pictures in the video signal changing to a second resolution, and (C) converting at least one unavailable buffer of the second buffers to an available condition by marking at least one unread picture of the pictures from the memory space as destroyed.
One embodiment disclosed relates to a method for encoding and decoding a video sequence in which a keyframe is used to bi-directionally predict frames in the sequence. The keyframe is coded independently of other frames in the sequence. Both a prior frame occurring before the keyframe and a subsequent frame occurring after the keyframe are predicted using data from the keyframe. Another embodiment disclosed relates to a method for allocating bits to a keyframe during video encoding. Effects of a plurality of keyframe bit allocations on quality of a predicted frame are measured. Said effects are used to determine a near optimal keyframe bit allocation.