Hi again, I just realized that I confused the terms here. Please replace "Processing Node" by "Processor Item" in my previous email. Sorry! Georg
On Saturday 10 January 2009, Georg Martius wrote: > Hi Francesco, > > You know that I am rather new to transcode so please keep this in mind when > reading my comments ;-) > I just want to say that I like the idea to have a sequence of processing > nodes with little streams between each node. > I would like to add that also the properties structures have to be > processed through the processing chain. What I mean is that every > processing node can change the frame-size, frame-color model and so on. > Each node just gets the structure information from the previous one, that's > it. I believe the meta information and the actual frame should be > dislinked. The meta data is not changing over the processing time and has > to be saved for each intermediate stream whereas the frame-data changes. > > I see the following: > > Processing Processing > -> Stream -> -> .... > Node1 Node 2 > > where Stream has a FIFO (sliding window type) for frames and meta-data. > Frame number or only valid within a stream. If we would limit the > multiprocessing to one thread per Processing Node then there is also not > problem with out-of-order frames. In the case we need more threads per Node > I suggest to have a small multithread wrapper around the particular Nodes > that need it. Nodes that might clone or skip frames might not be necessary > to run in parallel and have therefore less problems with framenumbers. > > Concerning the move to a new executeable I fear that if we share the same > modules we might block ourselves since we cannot change their interface. > I would make a change to the next major release (1.2.0). > > I see the scripting interface totally decoupled from the change in the core > architecture. The latter is a backend change and the scripting interface > is "just" a way to control things, so a frontend. > > Regards! > Georg >