wdq4587
17th May 2002, 13:18
A long time ago, I have read the AviSynth source. It's beautiful and it's works not like most other program. It's a recursive program like LISP and prolog language. One question is it not have a internal picture buffer, every frame is get when only request. It's efficiency but not good for IVTC purpose. A IVTC program need read ahead several frames to determine 3:2 pulldown sequence, and then generate output by detect. So a frame at least need read twice. Some source cannot read twice or rewind, like FlaskMPEG. And for other source like DVD2AVI read twice(with rewind) is also time consume (for I,B,P frame). So I think it's better add a SetBuffer(number,source) internal command for AviSynth to cache the frames recently readed. Buffer is store and access by frame number. Of course it's not very useful when randomize access. But when compress it's must be useful. Of course, not only for IVTC, frame cache buffer is also useful for other filters who need read more frames before output.
I don't know whether Decomb or GreedyHMA has it' internal frame buffer.(I notice Decomb output 3 frame fast and 1 frame slowly). But I guess DoubleWeave() must have a internal buffer(1 frame size) for it need combine fields from two frames to generate one frame.
BTW. I also want to know whether DoubleWeave() (combine with other command)can process TopField first and BottomField first both now? Since I have leave doom9 forum for about 1 year. In my last test it seems complementparity() not works for this purpose.
I don't know whether Decomb or GreedyHMA has it' internal frame buffer.(I notice Decomb output 3 frame fast and 1 frame slowly). But I guess DoubleWeave() must have a internal buffer(1 frame size) for it need combine fields from two frames to generate one frame.
BTW. I also want to know whether DoubleWeave() (combine with other command)can process TopField first and BottomField first both now? Since I have leave doom9 forum for about 1 year. In my last test it seems complementparity() not works for this purpose.