[MPlayer-dev-eng] [PATCH] autoq support for control()

Michael Niedermayer michaelni at gmx.at
Sun Feb 10 22:38:02 CET 2002


Hi

On Sunday 10 February 2002 21:42, Arpi wrote:
> Hi,
>
> > [...]
> >
> > > > i could try to implement the aan dct (=ffmpeg c dct) in mmx ... but
> > > > its less accurate than the current one
> > >
> > > 	Nopes..... AAN is much inaccurate for me :)
> >
> > really? i know its less accurate, but i didt know its that bad
> > btw there was a permutation bug in the c dct, perhaps that was why it
> > looked bad, should be fixed though
> > imho if u can see a difference between the c & mmx dct than there is a
> > bug somewhere
>
> hmm. mpeg I-only encoding is somewhat special case, it allows even big
> inaccurate things, as it doesn't drift the error, each frame is built from
> scratch. probably as a fast mode (some new option or flag) we could try it.
dct output isnt that critical
for non intra the encoding works as follows
--encoder--
dct -> quantize -> encode 
                -> dequantize -> IDCT -> store for MC of following frames
-----------

--decoder--
       decode   -> dequantize -> IDCT -> store for MC of following frames
-----------
so errors in the DCT will be identical in the encoder & decoder and wont 
accumulate

>
> > > 	Yes. But since we use the same core for every coder we don't have much
> > > choice. Maybe some of them could be avoided.
>
> What about something like the template stuff in rgb/yuv/postprocess code?
> I mean common code like encoder_core_template.c containing all coders with
> ifdefs, and including it many times only enabling a single codec.
> it could save us from if()'s over the inner loops, while avoid having
> redundant source code.
yes :) but that is a big change ...
we could allso get rid of the unnecesary function calls and inline them...
but there would be tons of version than 
(MMX, MMX2, 3DNOW, C)*(MPEG4, MPEG1, H263, MSMPEG4, RV10, intel-H263, ?)
24 version .... that will take some time to compile...

>
> > > 	BTW I'm starting to hack a new bit rate control if you could test
> > > libavcodec to see if I ain't broke anything, it seems not but I'm
> > > commiting often to avoid getting behind like with the RTP callbacks.
> >
> > ill tell u if i notice anything strange, but i only use the decoder part
> > normally so i wont notice any encoder bugs ...
>
> i'm using the mpeg1 I-only encoder, and many users with DVB or DXR3 cards
> use it. as cards with basic mpeg decoding abilities are cheap nowdays, many
> users need fast mpeg encoders.
agree

so here is a quick TODO list...
- sliced mode like libmpeg2 (for both encoding & decoding)
- try the AAN DCT in MMX as alternative fast but inaccurate choice
- optimize the bitstream writer
- template stuff to avoid a few if()

Michael



More information about the MPlayer-dev-eng mailing list