Skip to content

y5gfunc.source.wobbly.processors.base

base

Processor base classes and protocol definitions.

Classes:

Name Description
ProcessorProtocol

Processor interface protocol

BaseProcessor

Base processor class

ProcessorResult

Processor result data class

ProcessorProtocol

Bases: Protocol

Processor interface protocol

Methods:

Name Description
process

Process a video clip

process

Process a video clip

Parameters:

Name Type Description Default

clip

VideoNode

Input video clip

required

project

ProjectData

Project data

required

frame_props

FramePropertyMap

Frame property mapping

required

frame_mapping

FrameMap

Frame number mapping

required

presets

PresetDict

Preset function dictionary

required

Returns:

Type Description
tuple[VideoNode, FramePropertyMap, FrameMap]

Processed clip, updated frame properties and frame mapping

Source code in y5gfunc/source/wobbly/processors/base.py
def process(
    self,
    clip: vs.VideoNode,
    project: ProjectData,
    frame_props: FramePropertyMap,
    frame_mapping: FrameMap,
    presets: PresetDict,
) -> tuple[vs.VideoNode, FramePropertyMap, FrameMap]:
    """
    Process a video clip

    Args:
        clip: Input video clip
        project: Project data
        frame_props: Frame property mapping
        frame_mapping: Frame number mapping
        presets: Preset function dictionary

    Returns:
        Processed clip, updated frame properties and frame mapping
    """
    ...

BaseProcessor

Bases: ABC

Base processor class

Methods:

Name Description
process

Abstract method for processing a video clip

process abstractmethod

Abstract method for processing a video clip

Parameters:

Name Type Description Default

clip

VideoNode

Input video clip

required

project

ProjectData

Project data

required

frame_props

FramePropertyMap

Frame property mapping

required

frame_mapping

FrameMap

Frame number mapping

required

presets

PresetDict

Preset function dictionary

required

Returns:

Type Description
tuple[VideoNode, FramePropertyMap, FrameMap]

Processed clip, updated frame properties and frame mapping

Source code in y5gfunc/source/wobbly/processors/base.py
@abstractmethod
def process(
    self,
    clip: vs.VideoNode,
    project: ProjectData,
    frame_props: FramePropertyMap,
    frame_mapping: FrameMap,
    presets: PresetDict,
) -> tuple[vs.VideoNode, FramePropertyMap, FrameMap]:
    """
    Abstract method for processing a video clip

    Args:
        clip: Input video clip
        project: Project data
        frame_props: Frame property mapping
        frame_mapping: Frame number mapping
        presets: Preset function dictionary

    Returns:
        Processed clip, updated frame properties and frame mapping
    """
    pass

ProcessorResult dataclass

ProcessorResult(clip: VideoNode, frame_props: FramePropertyMap, frame_mapping: FrameMap)

Processor result data class

Attributes:

Name Type Description
clip VideoNode
frame_props FramePropertyMap
frame_mapping FrameMap

clip instance-attribute

clip: VideoNode

frame_props instance-attribute

frame_props: FramePropertyMap

frame_mapping instance-attribute

frame_mapping: FrameMap