Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mpeg2] Re: MPEG encoder code (was: Kfir Mpeg2 to SVCD)



Hi Dan,
> Hey, I'm used to spending 26 hours encoding 45 minutes of 480x480 ntsc to
> mpeg2, so i'm not worried about practical limits. I just want the best
> quality possible ;)

Well,  IŽll guess youŽll be pleased to know that you can get to the point
where youŽre within a bit or two of optimal MC vectors a good deal faster
than by exhaustive search ;-).   Seriously,  the MC I've done was
specifically designed to get me to the point where it was a nonn-issue in
terms of coding quality.  Stuff like bit-allocation, filtering and GOP
structure are now the limiting factor.

IŽm 100% certain that my encoder has by far the best MC of the open-source
encoders.  Bit-rate control and quantisation are better than bbmpeg, sampeg
may have better there (I haven't looked at what Dirk did in detail) but
sampeg can't deal with interlaced source material well (no field encoding
and MC).

> What about the ones which feedback MC vectors as hints to the next
> frames, to reduce the search space?
The problems with hints are that's *all* they can be if you want high
quality encoding.  You cannnot exclude part of the search space a priori
without quite noticeable loss of quality statistically speaking.  I actually
tested this and gathered quite a lot of data on this. That convinced me it
was quite literally a waste of time if you want best quality.
> Speaking of no-source-code, have you seen
> http://rachmaninoff.ti.uni-mannheim.de/sampeg/ ?

Yes,  Dirk and I are in regular contact.   We may well be working together
on a more modular successor to sampeg that will cover MPEG-1/2 and 4.
Currently I'm trying to "properly finish off" the mjpegtools encoder by
completing the MC tuning for field sequences (field encoding for progressive
sequences is already done) and adding in stuff for variable GOP and
multi-threading.  IT'll probably go on a "bug fixes only" status then and a
lot of the algorithms and low-level routines will flow into son-of-sampeg
(if I have time ;-)).


Andrew





Home | Main Index | Thread Index