Details
Diff Detail
- Repository
- rB Blender
Event Timeline
When should rna_Sequence_invalidate_raw_update or rna_Sequence_invalidate_preprocessed_update be used? The function names don't really make it clear to me.
In vse pipeline, there are 3 stages of rendering a strip.
They can be stored in cache with type(stage) assigned.
For example in movie strip:
raw stage - get ibuf from ffmpeg -> raw type
preprocess stage - apply scaling, transformation, modifiers, etc -> preprocessed type
compositing stage - blend preprocessed image of strip current strip with composite image of strip underneath. -> composite type
This repeats for each strip from bottom to the top of timeline
There is special stage / type final_out. That is final output of sequencer pipeline. It is copy(another user, not bit copy) of composite ibuf of last strip.
Depending on which stage is affected by change of RNA prop, stage must be invalidated
I wrote some docs in D4443: VSE cache rewrite description and there are design notes in seqcache.c file. Not sure If I should start some wiki section documenting sequencer.
I see, thanks for the explanation, that makes sense. A wiki document certainly cannot hurt (https://wiki.blender.org/wiki/Source).