[XviD-devel] bframes scheduler

suxen_drol xvid-devel@xvid.org
Mon, 23 Dec 2002 23:01:48 +1100


hi,

currently the encode_encoder_bframes() function is fugly (beauty is in
the eye of the beholder..), and in desperate need of a cleanup. 

---
currently the scheduler queues frames, and makes the frame-type decision
(I/P/B-vop) just before we actually FrameCodeX() the frame.

the advantage: at the decision time, the reference frame has been
FrameCodeX'd and we know its motion vectors.

the disadvantage: its a bitch to implement as there are many states to
consider. the closed_gop constraint (aka dx50bvop compatibilty) is
awkward  to resolve.

---
radek has suggested a new design for the sceduler, which involves
performing the frame decision as each frame arrives.

the advantage: much easier to implement (read: no loops, gotos),
closed_gop can be handled ahead for time. radek also believes having the
un-compensated reference frame may help high-quantizer encoding.

the disadvantage: during frame-type decision we dont know what the
reference frame will look like after compensation, or its motion vectors.

-- pete; life is like a box of ammo