[XviD-devel] todo/action list

peter ross xvid-devel@xvid.org
Sat, 31 Aug 2002 21:46:08 +1000


hello.

>Btw, i  remember you told me you  wanted the vbr lib  in xvidcore with
>some changes. What are they ? so i could work on them this week end.

my comments:

* where do we place 2pass? within the actual encoder() routines,
  or seperaly like, xvid_2pass() XVID_2PASS_CREATE, XVID_2PASS_DESTROY

  within encoder makes it simpler to use, however keeping it seperate
  makes the code easily available/portable to other projects.
  (e.g. ive been thinking about writing a 'nandubvfw' with 2pass)

* data passing. the original win32 2pass used struct passing, whilst
  ed's vbr lib used individual parameter passing.

  for xvid, i think using structs is better, because it simplifies
  the process for xvid frontends, and the struct can be extended to
  support new statistics in the future.

  xvid_encore(hEnc, XVID_ENC_ENCODE, &frame, &stats)
  xvid_2pass(hPass, XVID_2PASS_UPDATE, &stats)

  however, the current stats structure does specify the frame
  length. as part of the 2-pass-bframes & api update, i want the
  frame statistics to remain indepedant from the bitstream statistics.
  (sometimes there's more than one frame be bitstream).
  we cant do any of this until we tag the cvs.
  does anyone, besides me, want CVS_HEAD=dev ?

* byte order for non-intel cpus.
  nandub/xvid .stats are stored in little-endian format.
  ensure to bswap() all fields on big-endian machines.

hey maybe (and this is a big maybe), we could modifiy xvid such
that the xvid stats structure _is_ the nandub stats structure ?
this would make writing 1-pass stats rather easy.
  xvid_encore(..., pStats)
  fwrite(pStats, ... )

> > * permit different motion search algos to be selected at runtime
>
>SysKin's ME is able to do that, isn't it ?

correct

>I'll  add a  major modification  of the  bframe encoder  function. All
>these goto are very hard to  track and debugging that is simply really
>hard.  We should  try to  make it  simply linear,  calling  a flushing
>function etc  etc instead  of jumping to  the flushing section  of the
>function.

i agree there. it was a quick hack job.

-- pete

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx