diff options
author | Manuel Castilla <manzanillawork@gmail.com> | 2021-07-22 16:20:55 +0300 |
---|---|---|
committer | Manuel Castilla <manzanillawork@gmail.com> | 2021-07-22 19:51:51 +0300 |
commit | 48e27ad122580874fc15672661167a64b0f261bc (patch) | |
tree | 5ca7136f9350bbf5a577732a3df4472d0231e682 /source/blender/compositor/operations/COM_MovieClipOperation.h | |
parent | 91e2b1dcafe08de79ad0237e54bd82f29e8e9fc9 (diff) |
Compositor: Full frame Movie Clip node
Adds full frame implementation to this node operation.
No functional changes.
2x faster than tiled fallback.
Diffstat (limited to 'source/blender/compositor/operations/COM_MovieClipOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_MovieClipOperation.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_MovieClipOperation.h b/source/blender/compositor/operations/COM_MovieClipOperation.h index c853ea43762..0a0c4c00f81 100644 --- a/source/blender/compositor/operations/COM_MovieClipOperation.h +++ b/source/blender/compositor/operations/COM_MovieClipOperation.h @@ -19,7 +19,7 @@ #pragma once #include "BLI_listbase.h" -#include "COM_NodeOperation.h" +#include "COM_MultiThreadedOperation.h" #include "DNA_movieclip_types.h" #include "IMB_imbuf_types.h" @@ -28,7 +28,7 @@ namespace blender::compositor { /** * Base class for movie clip */ -class MovieClipBaseOperation : public NodeOperation { +class MovieClipBaseOperation : public MultiThreadedOperation { protected: MovieClip *m_movieClip; MovieClipUser *m_movieClipUser; @@ -67,6 +67,10 @@ class MovieClipBaseOperation : public NodeOperation { this->m_framenumber = framenumber; } void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; class MovieClipOperation : public MovieClipBaseOperation { @@ -78,6 +82,10 @@ class MovieClipAlphaOperation : public MovieClipBaseOperation { public: MovieClipAlphaOperation(); void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override; + + void update_memory_buffer_partial(MemoryBuffer *output, + const rcti &area, + Span<MemoryBuffer *> inputs) override; }; } // namespace blender::compositor |