[XviD-devel] b-frames motion estimation commited

Edouard Gomez xvid-devel@xvid.org
Sun, 28 Jul 2002 11:09:30 +0200


Christoph Lampert (chl@math.uni-bonn.de) wrote:
> I'd say, either leave it as it is in the main structure, but then we have
> to change  EncParam.global  to another name, maybe EncParam.bframe_flags 
> or include the stuff in the normal "general" flags field. 
> 

There's still room for the 3 global flags into the general one. So keepthe general flag have this 3 new flags and remove the global flag.

> also, I would really like to see a value of 0 in all new fields to produce
> exact the same behaviour as without B-frames, not max_bframes=-1 
> as it is at the moment. 
> 

I agree,  -1 means 'default value  hardcoded in the codec'  for lot of
XVID_ENC_PARAM members.  It would be logical that  bframe members obey
to the "same rule".

> Alternatively, we could switch to an extensions field (e.g. copy the one
> from DivX5), but maybe this is more work than simply increasing API
> version to 3.
> 

As i  said before,  it would be  great to  add an extension  field for
features that are  in dev stage.  When a new  feature needs a struture
member   in  XVID_ENC_PARAM   we  add   a  field   in   the  extension
structure. This is a clean solution, so developers know what is in the
'stable'  release  (XVID_ENC_PARAM  normal  fields) and  what  is  not
(XVID_ENC_PARAM->extension fields).   When a new stable  release is on
the way, then we move the extensions fields to the normal structure...
Major version ensure  the XVID_ENC_PARAM members do not  change at all
and  Minor  versions tell  just  what  the codec  has  to  use in  the
extension member (as  suxen_drol said, we just add  new fields without
removing old ones).

-- 
Edouard Gomez