[XviD-devel] pete cvs commits digest :-(

Edouard Gomez ed.gomez at free.fr
Wed May 14 16:22:58 CEST 2003


suxen_drol (suxen_drol at hotmail.com) wrote:
> On Tue, 13 May 2003 02:26:56 +0200 Edouard Gomez <ed.gomez at free.fr> wrote:

> > Hello,
> > 
> > Ok  i noticed  Pete comited  the "zones"  code. Good  but it  breaks all
> > usefull stuff  (ie xvid_encraw) :-(.   I splited the patch  into logical
> > changesets  in order  to  push  the changes  to  my local  tree/revision
> > control system.
> 
> please accept my  deepest sympathys ed. i had  modified xvid_encraw in
> my  local tree, however  it appears  CVS aborted  with a  "cvs [server
> aborted]:  received broken  pipe  signal" error  half-way through  the
> commit. in addition  to the examples dir, none of  my vfw changes were
> commited either.

No problem, i  was just surprised to see such a  great number of changes
and the cvs  tree left in an  unusable state.  Note that i  did not rant
you, i just provided my personal changelogs so everyone could undertsand
the changes a bit. 

Btw christoph and I are suffering the same problems with the cvs server.
It has even some problems  at serving the complete tree sometimes. Quite
annoying. Any news from our web/cvs admin ?

> > I think it would have been good  to detail a bit more the commit message
> > ("zones, profiles, vfw changes"),  as the changes are somewhat important
> > and  left the  tree in  a pity  state (did  not compile,  xvid_encraw is
> > broken, so  is vfw?).  My  last commit makes  the tree compiles,  but it
> > does not fix it (this change is part of my patch-35 changeset).
> 
> yep that was my bad. theres quite a few changes:
> 
> * addition of num_zones and zones fields in the xvid_enc_create_t struct.
> a zone specifies a frame number, mode, and increment/base value. the
> mode can either be XVID_ZONE_WEIGHT or XVID_ZONE_QUANT.
> - "weight" instructs the rate control process to apply more bitrate. ie.
> you might assign the majority of a video weighht=1.0, high action scenes
> weight=1.5 and the credits weight=0.3. the rate control process uses the
> weights to distribute bits appropriately, such to ensure the 
> target bitrate is acheived (for single pass and two pass).
> - "quant" instructs the rate control process to use a fixed quantizer.

ok

> * addition of profile field to xvid_enc_create_t. if the value is zero,
> the encoder does not write the VOSH header. if the value is non-zero,
> the encoder writes a VOSH header and given profile.
> xvid.h doesnt define the various profile at level values. they can be found
> in the mpeg-4 iso document, OR, are listed within the profiles[] table
> within vfw/src/config.c.
> 
> RFC: should we incoporate this static table with xvid.h, OR, should we
> develop some kind of profile listing functionality (e.g.
> XVID_GBL_PROFILES
> to return the structure of profiles), OR, leave profiles up to the
> encoding application.

teh table should be incorporated  to xvid but not in a header :) then we
should provide a way to specify the profile we would like to use.

In   a   larger  scope,   XviD   core   needs   a  config   library   to
check/validate/fix/set  flags according  to the  profile  (features) and
xvid  internals (motion flags).  The last  one is  mostly done  with the
CheckMotionFlags function.

> *    plugins/plugin_cbr.c    replaced   by    plugins/plugin_single.c;
> plugins/plugin_fixed.c removed  from build  filex.  as mentioned  in a
> previous email, i wanted to have two primary bitrate plugins (a single
> pass plugin and a 2pass plugin),  and use the zone concept to specifiy
> weights or a quantizers.
> 
> ed's  plugin_fixed.c  performs  precise  fixed  quant  encoding  (e.g.
> quant=2.45).  however  this precision  requires  a precomputed  table,
> which would have to be generated  for each bitrate zone. ed's code has
> not incorporated in plugin_{single,2pass1,2pass2} yet.

Yep, i noticed that (subtil) change (mv plugin_cbr.c plugin_single.c)
;-). Just kidding.

Well, my algorithm is not so hard, it tries to distribute quant packets
the more homogenous it can. I'm quite sure i can convert it to something
more flexible that: allocate quant array->fill it->use it. Th problem is
i lack time (lot of) because of school projects.

> vfw changes ...
> > Pete,  what about  fixing the  encoding loop  ?  It  has  probably a
> > higher priority if  we want to get good  quality and compare devapi4
> > with cvs_head.
> 
> i will work on a fix asap

Would be very  nice, THANK U... i was so desperate  about this code that
was so ... unfixable by my all my attempts.

-- 
Edouard Gomez-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://edu.bnhof.de/pipermail/xvid-devel/attachments/20030514/811a4d59/attachment.bin


More information about the XviD-devel mailing list