[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