[XviD-devel] "Autoselecting" IDCT for SimpleIDCT encodes

Edouard Gomez ed.gomez at free.fr
Mon Dec 29 16:33:56 CET 2003

Dirk Knop (dknop at stud.uni-goettingen.de) wrote:
> Since there are  a few bitstreams out there  with the bitstream number
> 009 (I think) we were thinking about adding an automatic pre-selection
> in bitstream.c (switch to simple if bitstream number is 009) - if that
> selection is wrong, the user still can select the idct from dshow.

Your input data is somewhat wrong, bitstream 0009 has been used for many
time in CVS, you  built a binary from it using this,  but i'm sure there
are 95% encodes with this BS version that is using Walken iDCT.

> Unfortunately this is a hack which only works because we statically link 
> xvid core into dshow. It would be more graceful if we'd extend the API 
> again.

That can be a solution, but only a decoder flag may be added.

> "(@sysKin): a flag in "frame" I guess - if flag is on && bitstream 
> version is 009 -> switch"
> Any objections? :)

As i said BS 0009 is covering a too big period of time, automatic
detection is probably not a good solution that way.

But extending the automatic detection scheme, you can do it:
 - check if your build used to have wrong VOL headers (signal type
   missing) Look at the changelog of xvid 1.0 to have an idea when i
   did ccommit a fix for that.
 - try to see if other bitstream signatures can help detecting the
   faulting version *only*

Btw  we  should also  add  automatic detection  of  edging  bug (old  BS
versions <--  this one is  easy to spot,  the bug is there  since... the
very early days :-)... which can cause more trouble than an iDCT drift.

Edouard Gomez

More information about the XviD-devel mailing list