Loading...
Searching...
No Matches
score::gfx::DirectVideoNodeRenderer Class Reference
Renderer for intra-only video codecs with instant seeking. More...
Inheritance diagram for score::gfx::DirectVideoNodeRenderer:
Detailed Description
Renderer for intra-only video codecs with instant seeking.
Unlike VideoNodeRenderer which reads from a frame queue fed by a background thread, this renderer owns its own LibAV decoding context and performs synchronous seek + decode + GPU upload directly in update().
This enables instant seeking for all-intra codecs (ProRes, MJPEG, DNxHD, HAP, etc.) where every frame is independently decodable.
Public Member Functions | |
| DirectVideoNodeRenderer (const VideoNodeBase &node, const Video::VideoMetadata &metadata) noexcept | |
| DirectVideoNodeRenderer (const DirectVideoNodeRenderer &)=delete | |
| DirectVideoNodeRenderer (DirectVideoNodeRenderer &&)=delete | |
| DirectVideoNodeRenderer & | operator= (const DirectVideoNodeRenderer &)=delete |
| DirectVideoNodeRenderer & | operator= (DirectVideoNodeRenderer &&)=delete |
| TextureRenderTarget | renderTargetForInput (const Port &input) override |
| void | init (RenderList &renderer, QRhiResourceUpdateBatch &res) override |
| void | runRenderPass (RenderList &, QRhiCommandBuffer &commands, Edge &edge) override |
| void | update (RenderList &renderer, QRhiResourceUpdateBatch &res, Edge *edge) override |
| void | release (RenderList &r) override |
Public Member Functions inherited from score::gfx::NodeRenderer | |
| NodeRenderer (const Node &node) | |
| virtual BufferView | bufferForInput (const Port &input) |
| virtual BufferView | bufferForOutput (const Port &output) |
| virtual QRhiTexture * | textureForOutput (const Port &output) |
| virtual void | inputAboutToFinish (RenderList &renderer, const Port &p, QRhiResourceUpdateBatch *&) |
| virtual void | runInitialPasses (RenderList &, QRhiCommandBuffer &commands, QRhiResourceUpdateBatch *&res, Edge &edge) |
| void | checkForChanges () |
| void | process (int32_t port, const ossia::geometry_spec &v) |
| virtual void | process (int32_t port, const ossia::transform3d &v) |
Additional Inherited Members | |
Public Attributes inherited from score::gfx::NodeRenderer | |
| const Node & | node |
| ossia::geometry_spec | geometry |
| The geometry to use. | |
| int32_t | nodeId {-1} |
| bool | materialChanged {false} |
| bool | geometryChanged {false} |
| bool | renderTargetSpecsChanged {false} |
Member Function Documentation
◆ init()
|
overridevirtual |
Implements score::gfx::NodeRenderer.
◆ release()
|
overridevirtual |
Implements score::gfx::NodeRenderer.
◆ renderTargetForInput()
|
overridevirtual |
Implements score::gfx::NodeRenderer.
◆ runRenderPass()
|
overridevirtual |
Reimplemented from score::gfx::NodeRenderer.
◆ update()
|
overridevirtual |
Implements score::gfx::NodeRenderer.
The documentation for this class was generated from the following files:
- DirectVideoNodeRenderer.hpp
- DirectVideoNodeRenderer.cpp
Public Member Functions inherited from