Video display and composing engine for JUCE
Loading...
Searching...
No Matches
VideoProcessor Class Referenceabstract

The VideoProcessor is the base class to implement any video processor. More...

#include <foleys_VideoProcessor.h>

+ Inheritance diagram for VideoProcessor:

Public Member Functions

 VideoProcessor ()=default
 
virtual ~VideoProcessor ()=default
 
virtual const juce::String getName () const =0
 Override this method to return a human readable name to identify the processor later.
 
virtual void processFrame (juce::Image &frame, int64_t count, const VideoStreamSettings &settings, double clipDuration)=0
 Override this method to implement the actual video processing.
 
virtual std::vector< ProcessorParameter * > getParameters ()=0
 
virtual void getStateInformation (juce::MemoryBlock &destData)=0
 
virtual void setStateInformation (const void *data, int sizeInBytes)=0
 

Detailed Description

The VideoProcessor is the base class to implement any video processor.

It offers an interface, how the VideoMixer will call supplying Images. Similar to the AudioProcessor, you can add ProcessorParameters to control the behaviour of the VideoProcessor.

Constructor & Destructor Documentation

◆ VideoProcessor()

VideoProcessor ( )
default

◆ ~VideoProcessor()

virtual ~VideoProcessor ( )
virtualdefault

Member Function Documentation

◆ getName()

virtual const juce::String getName ( ) const
pure virtual

Override this method to return a human readable name to identify the processor later.

Implemented in ColourCurveVideoProcessor.

◆ processFrame()

virtual void processFrame ( juce::Image &  frame,
int64_t  count,
const VideoStreamSettings settings,
double  clipDuration 
)
pure virtual

Override this method to implement the actual video processing.

The processing is done in place. If you need a copy of the frame, it's best to keep an empty frame as member, where you copy the original before processing and process from the copy into the original.

Parameters
outputis the image to write into
inputis the original image to read from
countthis is the frame counter in settings.timebase counts
settingsis the output settings that you will produce. You find the size and the timebase here
clipDurationis the duration of the clip. This is especially handy for creating transitions

Implemented in ColourCurveVideoProcessor.

◆ getParameters()

virtual std::vector< ProcessorParameter * > getParameters ( )
pure virtual

Implemented in ColourCurveVideoProcessor.

◆ getStateInformation()

virtual void getStateInformation ( juce::MemoryBlock &  destData)
pure virtual

Implemented in ColourCurveVideoProcessor.

◆ setStateInformation()

virtual void setStateInformation ( const void *  data,
int  sizeInBytes 
)
pure virtual

Implemented in ColourCurveVideoProcessor.


The documentation for this class was generated from the following file: