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

Arpi arpi at thot.banki.hu
Sun Feb 10 23:02:40 CET 2002


Hi,

> > 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
it's only true WHILE we're using the same decoder as for encoding.
as soon as user play the file with another program/codec, it will be buggy

> 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...
hmm. yes...

> 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()

i think the bitstream writer optim should be the first, as it's relative
simple, and doesn't need architectural changes.

instead of doing template stuff, we may could try to localize most critical
if()'s, and try to separate only them. yes, it isn't 100% solution yet, but
may help a bit without big mess.

as Juanjo alerady did with MC slices, we could do the same to quant/DCT,
i mean doing DCT for whole slice/frame first, and then doing quantization.
maybe detecting and skipping black blocks also help a bit.
(or even combining with partial intra refresh, so do not re-code all blocks
at every frame, just teh changed blocks. dunno if it's allowed by mpeg1, but
may help in both output bitrate and coding speed)


A'rpi / Astral & ESP-team

--
"I don't RTFM? Wow. What's the meaning of this? It's new for me."
	-- Martin Baum, a tipical MPlayer user...



More information about the MPlayer-dev-eng mailing list