Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
1st July 2004, 13:10 | #1 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
feature request: interlacedinterleaving
I want to interleave 3 (or more, it should be arbitary) clips in the following way:
frame of clip 1 : XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX frame of clip 2 : YYYYYYYYYY YYYYYYYYYY YYYYYYYYYY frame of clip 3 : ZZZZZZZZZZ ZZZZZZZZZZ ZZZZZZZZZZ result of interlacedinterleave XXXXXXXXXX YYYYYYYYYY ZZZZZZZZZZ XXXXXXXXXX YYYYYYYYYY ZZZZZZZZZZ XXXXXXXXXX YYYYYYYYYY ZZZZZZZZZZ i don't know any instructions to achive that in avisynth...
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
1st July 2004, 16:32 | #3 | Link |
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
Scharfi,
If you would have a serious application for such a plugin, I could easily make one. Actually I would divide the job into two filters. The first one, like the builtin Interleave, interleaves an arbitrary number of clips sequentially (i.e. the number of frames is multiplied). This is zero cost filter. The second, a generalisation of the classical weave, weaves a fixed number of frames vertically, like the classical weave with two frames. This filter is no more zero cost, but very fast (bitblt speed). |
2nd July 2004, 00:52 | #5 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
okay, then I will precise my request:
I need: an arbitary weave() and an arbitary separatefields() so, I could select, for example, every fifth line starting with the seconde one of the picture... meaning lines 1,6,11,16,17 this would be really really great, if someone could do such a filter.
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
2nd July 2004, 11:35 | #6 | Link |
Registered User
Join Date: Oct 2002
Posts: 167
|
Assuming no general solution is needed you could
achieve the result when preparing some bmps masking out (un)wanted lines and combine output with overlay. And it is possible to create these bmps/masks with avisynth. Simply verticalstack some alternating white/black blankclips to desired height. |
2nd July 2004, 11:41 | #7 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
vion11, that wont work.
I need to: - cut out every 4th line of a clip, so the resulting clip is 3/4 height. - reinsert after some processing that missing line.
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
2nd July 2004, 18:00 | #8 | Link |
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
multi line weave
Scharfi,
here you can download the multi line weave. Usage: Weave(int "frames"). frames=2 is the default. It then behaves like the builtin weave. The number of frames and the frame rate is adjusted. Strangely, the builtin weave works only with field based video. It should be just the opposite: input frame based and output field based, but who cares? I have added the filter Extract(clip, start,period) to the plugin. Extract(1,5) just extracts a clip with lines 1, 6, 11, 16, 21, .... By obvious reasons Extract does not work with yv12 clips. Last edited by kassandro; 2nd July 2004 at 21:48. |
2nd July 2004, 20:42 | #10 | Link | |
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
Quote:
|
|
2nd July 2004, 21:43 | #11 | Link | ||
AviSynth Enthusiast
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
|
Quote:
Weave is the opposite of SeparateFields; takes field-based input and produces frame-based output. Weave currently does nothing on frame-based input. Quote:
Last edited by stickboy; 2nd July 2004 at 21:50. |
||
2nd July 2004, 21:53 | #12 | Link | |
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
Quote:
|
|
2nd July 2004, 21:53 | #13 | Link |
Registered User
Join Date: Mar 2002
Posts: 1,075
|
Kassandro, it is very simple ... if you have a sequence of fields it is field based, if you have a sequence of frames it is frame based.
I think naming is spot on, the practice of processing interlaced content as weaved frames ... now that is silly and inefficient. Given the fact that the community has decided to be stupid about this issue and is unlikely to reform avisynth could give it its own type I guess, and avoid things like the ugly interlaced=true options for functions, but we would need three types then and not two. fieldbased framebased weaved Last edited by MfA; 2nd July 2004 at 22:00. |
3rd July 2004, 03:32 | #14 | Link | ||
AviSynth Enthusiast
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
|
Quote:
Quote:
Frame/Field Based vs Interlaced/Progressive |
||
3rd July 2004, 06:58 | #15 | Link | |
AviSynth Enthusiast
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
|
Additionally, although the AviSynth documentation doesn't explicitly state it, it's implied:
Quote:
(Nevertheless, the documentation ought to make this clearer, and I'm all for renaming them.) |
|
3rd July 2004, 09:18 | #16 | Link |
Simply me
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
|
stickboy is just telling it the way it is (and doing a good job of it)
In my experience, Avisynth always evolves. Calling the current developers is (IMO) not the best way to get changes made regards Simon
__________________
http://www.geocities.com/siwalters_uk/fnews.html |
4th July 2004, 00:26 | #17 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
Maybe there should be, in big huge 30 point font, "These do not correspond to interlaced/progressive" in the documentation . Though even among the original definitions there are inconsistencies since using:
assumeframebased() weave() does nothing, as weave() only accepts field based input. Yet, using assumefieldbased() separatefields() still does something!! No wonder there is confusion . |
4th July 2004, 08:45 | #19 | Link |
Registered User
Join Date: May 2003
Location: Germany
Posts: 502
|
If I correctly understand the discussion here, then all video sources are frame based from the beginning. They only get field based through avisynth filters like SeparateFields (in fact, the only one I know). That makes the distinction frame/field based a rather useless one, because the script writer knows this anyway. It should be very clear to him, that that the output of SeparateFields is not a normal clip and at some point he will either separate the fields into separate clips or will weave the fields together again.
On the other hand, it would be important to know for the script writer, whether a clip is weaved or not (I follow MfA's terminology here), i.e. whether the clip was encoded with the interlaced source flag turned on or not. Unfortunately, digital tv is always weaved no matter whether the video is progressive, interlaced or telecined. |
4th July 2004, 13:44 | #20 | Link |
Registered User
Join Date: Mar 2002
Posts: 1,075
|
If the video is true progressive (ie. not telecined) then no it isnt weaved, it is just plain progressive. Progressive video doesnt really have fields, and interlaced video doesnt really have frames.
From the thread above 3.0 seems to go the way you want though, it will indicate wether the sequence consists of frames or fields ... and give additional flags to understand if/how fields are combined into frames. BTW DTV never encodes in interlaced mode? That would suck, because coding everything as frames is really really bad for compression (ffmpeg for instance doesnt even support that mode). Last edited by MfA; 4th July 2004 at 13:48. |
|
|