<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пн, 29 июл. 2024 г., 07:51 Georgy Salnikov via Cin <<a href="mailto:cin@lists.cinelerra-gg.org">cin@lists.cinelerra-gg.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, 28 Jul 2024, Stefan de Konink wrote:<br>
<br>
> > Not sure that a software should always pretend to be smarter than the user.<br>
> > Such a software could become dangerous in some cases...<br>
><br>
> The point remains. Cinerella does composition. In order to do so, it<br>
> must know which content to place where. Something that is masked by a<br>
> top layer cannot be seen. This is the basic of composition.<br>
><br>
> So technically;<br>
>   - for every property change compute if the layer fully overlaps the<br>
> layers below it<br>
>   - this should basically prevent decoding of any further tracks<br>
<br>
Stephan, I meant the following peculiarity.<br>
<br>
As soon as the number of video tracks is >1, and the color mode contains<br>
alpha channel, CGG has to assume some kind of composition.<br>
<br>
If the top track has 100% opacity, and its content has 100% alpha everywhere<br>
throughout the whole project duration, then no doubt that CGG could (perhaps<br>
should) automatically disable any processing for all the tracks below that<br>
one. However the user could exactly easily do the same, disable playing that<br>
tracks by pressing a single button in the patchbay, knowing that they are<br>
unused in his project anyway.<br>
<br>
But if neither track is disabled, CGG can not assume that there is no need<br>
to play any bottom track simple because the top track has 100% opacity under<br>
some selected point in timeline. Because under some further point in<br>
timeline track's opacity can fall below 100%, or there can appear some mute<br>
region (with no video) in that track, or its alpha channel can become <100%<br>
(the latter being possible to be detected only after having played that<br>
complete track).<br>
<br>
The things can be yet worse. The program technically cannot start playing<br>
video from any frame in the timeline, it can start only from so called key<br>
frames from which further frames are computed according to motion vectors.<br>
It means, either CGG has to assume that opacity (or alpha) can become <100%<br>
somewhere later in timeline and somehow pre-decode in advance that tracks<br>
which are not visible just now but can become visible somewhen later. Or CGG<br>
has to preprocess changed parts of video tracks after each editing operation<br>
and remember where bottom tracks can be ignored, where they cannot. In both<br>
cases a comparable performance loss can be estimated.<br>
<br>
It may be so that the present approach, to play everything which is not<br>
explicitly disabled, might be not the most worse one...<br>
<br>
I personally am not an expert in video decoding/compositing, perhaps someone<br>
who is more experiences in this field could comment more.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I am not expert either, but I recall there is "mute" fader for tracks, with just on/off state. </div><div dir="auto"><br></div><div dir="auto">I wonder if we can use it for lowering computational requirements on invisible *portions* of video tracks, instead of completely disabling them?</div><div dir="auto"><br></div><div dir="auto">Manually first, but then may be trying to come up with condition safely turning similar track automation, but via different variable, so automatic automute still can be user controllable? </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Georgy<br>
_______________________________________________________________________________<br>
<br>
Georgy Salnikov<br>
NMR Group<br>
Novosibirsk Institute of Organic Chemistry<br>
Lavrentjeva, 9, 630090 Novosibirsk, Russia<br>
Phone   +7-383-3307864<br>
Email   <a href="mailto:sge@nmr.nioch.nsc.ru" target="_blank" rel="noreferrer">sge@nmr.nioch.nsc.ru</a><br>
_______________________________________________________________________________<br>
<br>
-- <br>
Cin mailing list<br>
<a href="mailto:Cin@lists.cinelerra-gg.org" target="_blank" rel="noreferrer">Cin@lists.cinelerra-gg.org</a><br>
<a href="https://lists.cinelerra-gg.org/mailman/listinfo/cin" rel="noreferrer noreferrer" target="_blank">https://lists.cinelerra-gg.org/mailman/listinfo/cin</a><br>
</blockquote></div></div></div>