1202 lines
34 KiB
Python
1202 lines
34 KiB
Python
# Stop pep8 from complaining (hopefully)
|
|
# NOQA
|
|
|
|
# Ignore Flake Warnings
|
|
# flake8: noqa
|
|
|
|
# Ignore coverage
|
|
# (No coverage)
|
|
|
|
# From https://gist.github.com/pylover/7870c235867cf22817ac5b096defb768
|
|
# noinspection PyPep8
|
|
# noinspection PyPep8Naming
|
|
# noinspection PyTypeChecker
|
|
# noinspection PyAbstractClass
|
|
# noinspection PyArgumentEqualDefault
|
|
# noinspection PyArgumentList
|
|
# noinspection PyAssignmentToLoopOrWithParameter
|
|
# noinspection PyAttributeOutsideInit
|
|
# noinspection PyAugmentAssignment
|
|
# noinspection PyBroadException
|
|
# noinspection PyByteLiteral
|
|
# noinspection PyCallByClass
|
|
# noinspection PyChainedComparsons
|
|
# noinspection PyClassHasNoInit
|
|
# noinspection PyClassicStyleClass
|
|
# noinspection PyComparisonWithNone
|
|
# noinspection PyCompatibility
|
|
# noinspection PyDecorator
|
|
# noinspection PyDefaultArgument
|
|
# noinspection PyDictCreation
|
|
# noinspection PyDictDuplicateKeys
|
|
# noinspection PyDocstringTypes
|
|
# noinspection PyExceptClausesOrder
|
|
# noinspection PyExceptionInheritance
|
|
# noinspection PyFromFutureImport
|
|
# noinspection PyGlobalUndefined
|
|
# noinspection PyIncorrectDocstring
|
|
# noinspection PyInitNewSignature
|
|
# noinspection PyInterpreter
|
|
# noinspection PyListCreation
|
|
# noinspection PyMandatoryEncoding
|
|
# noinspection PyMethodFirstArgAssignment
|
|
# noinspection PyMethodMayBeStatic
|
|
# noinspection PyMethodOverriding
|
|
# noinspection PyMethodParameters
|
|
# noinspection PyMissingConstructor
|
|
# noinspection PyMissingOrEmptyDocstring
|
|
# noinspection PyNestedDecorators
|
|
# noinspection PynonAsciiChar
|
|
# noinspection PyNoneFunctionAssignment
|
|
# noinspection PyOldStyleClasses
|
|
# noinspection PyPackageRequirements
|
|
# noinspection PyPropertyAccess
|
|
# noinspection PyPropertyDefinition
|
|
# noinspection PyProtectedMember
|
|
# noinspection PyRaisingNewStyleClass
|
|
# noinspection PyRedeclaration
|
|
# noinspection PyRedundantParentheses
|
|
# noinspection PySetFunctionToLiteral
|
|
# noinspection PySimplifyBooleanCheck
|
|
# noinspection PySingleQuotedDocstring
|
|
# noinspection PyStatementEffect
|
|
# noinspection PyStringException
|
|
# noinspection PyStringFormat
|
|
# noinspection PySuperArguments
|
|
# noinspection PyTrailingSemicolon
|
|
# noinspection PyTupleAssignmentBalance
|
|
# noinspection PyTupleItemAssignment
|
|
# noinspection PyUnboundLocalVariable
|
|
# noinspection PyUnnecessaryBackslash
|
|
# noinspection PyUnreachableCode
|
|
# noinspection PyUnresolvedReferences
|
|
# noinspection PyUnusedLocal
|
|
# noinspection ReturnValueFromInit
|
|
|
|
|
|
from abc import abstractmethod
|
|
from ctypes import c_void_p
|
|
from enum import IntEnum
|
|
from fractions import Fraction
|
|
from inspect import Signature
|
|
from types import MappingProxyType, TracebackType
|
|
from typing import (
|
|
TYPE_CHECKING, Any, BinaryIO, Callable, ContextManager, Dict, Generic, Iterator, Literal, MutableMapping,
|
|
NamedTuple, NoReturn, Protocol, Sequence, Tuple, Type, TypedDict, TypeVar, Union, overload, runtime_checkable
|
|
)
|
|
from weakref import ReferenceType
|
|
|
|
__all__ = [
|
|
# Versioning
|
|
'__version__', '__api_version__', 'PluginVersion',
|
|
|
|
# Enums and constants
|
|
'MessageType',
|
|
'MESSAGE_TYPE_DEBUG', 'MESSAGE_TYPE_INFORMATION', 'MESSAGE_TYPE_WARNING',
|
|
'MESSAGE_TYPE_CRITICAL', 'MESSAGE_TYPE_FATAL',
|
|
|
|
'FilterMode',
|
|
'fmParallel', 'fmParallelRequests', 'fmUnordered', 'fmFrameState',
|
|
|
|
'CoreCreationFlags',
|
|
'ccfEnableGraphInspection', 'ccfDisableAutoLoading', 'ccfDisableLibraryUnloading',
|
|
|
|
'MediaType',
|
|
'VIDEO', 'AUDIO',
|
|
|
|
'ColorFamily',
|
|
'UNDEFINED', 'GRAY', 'RGB', 'YUV',
|
|
|
|
'ColorRange',
|
|
'RANGE_FULL', 'RANGE_LIMITED',
|
|
|
|
'SampleType',
|
|
'INTEGER', 'FLOAT',
|
|
|
|
'PresetVideoFormat',
|
|
'GRAY',
|
|
'GRAY8', 'GRAY9', 'GRAY10', 'GRAY12', 'GRAY14', 'GRAY16', 'GRAY32', 'GRAYH', 'GRAYS',
|
|
'RGB',
|
|
'RGB24', 'RGB27', 'RGB30', 'RGB36', 'RGB42', 'RGB48', 'RGBH', 'RGBS',
|
|
'YUV',
|
|
'YUV410P8',
|
|
'YUV411P8',
|
|
'YUV420P8', 'YUV420P9', 'YUV420P10', 'YUV420P12', 'YUV420P14', 'YUV420P16',
|
|
'YUV422P8', 'YUV422P9', 'YUV422P10', 'YUV422P12', 'YUV422P14', 'YUV422P16',
|
|
'YUV440P8',
|
|
'YUV444P8', 'YUV444P9', 'YUV444P10', 'YUV444P12', 'YUV444P14', 'YUV444P16', 'YUV444PH', 'YUV444PS',
|
|
'NONE',
|
|
|
|
'AudioChannels',
|
|
'FRONT_LEFT', 'FRONT_RIGHT', 'FRONT_CENTER',
|
|
'BACK_LEFT', 'BACK_RIGHT', 'BACK_CENTER',
|
|
'SIDE_LEFT', 'SIDE_RIGHT',
|
|
'TOP_CENTER',
|
|
|
|
'TOP_FRONT_LEFT', 'TOP_FRONT_RIGHT', 'TOP_FRONT_CENTER',
|
|
'TOP_BACK_LEFT', 'TOP_BACK_RIGHT', 'TOP_BACK_CENTER',
|
|
|
|
'WIDE_LEFT', 'WIDE_RIGHT',
|
|
|
|
'SURROUND_DIRECT_LEFT', 'SURROUND_DIRECT_RIGHT',
|
|
|
|
'FRONT_LEFT_OF_CENTER', 'FRONT_RIGHT_OF_CENTER',
|
|
|
|
'STEREO_LEFT', 'STEREO_RIGHT',
|
|
|
|
'LOW_FREQUENCY', 'LOW_FREQUENCY2',
|
|
|
|
'ChromaLocation',
|
|
'CHROMA_TOP_LEFT', 'CHROMA_TOP',
|
|
'CHROMA_LEFT', 'CHROMA_CENTER',
|
|
'CHROMA_BOTTOM_LEFT', 'CHROMA_BOTTOM',
|
|
|
|
'FieldBased',
|
|
'FIELD_PROGRESSIVE', 'FIELD_TOP', 'FIELD_BOTTOM',
|
|
|
|
'MatrixCoefficients',
|
|
'MATRIX_RGB', 'MATRIX_BT709', 'MATRIX_UNSPECIFIED', 'MATRIX_FCC',
|
|
'MATRIX_BT470_BG', 'MATRIX_ST170_M', 'MATRIX_ST240_M', 'MATRIX_YCGCO', 'MATRIX_BT2020_NCL', 'MATRIX_BT2020_CL',
|
|
'MATRIX_CHROMATICITY_DERIVED_NCL', 'MATRIX_CHROMATICITY_DERIVED_CL', 'MATRIX_ICTCP',
|
|
|
|
'TransferCharacteristics',
|
|
'TRANSFER_BT709', 'TRANSFER_UNSPECIFIED', 'TRANSFER_BT470_M', 'TRANSFER_BT470_BG', 'TRANSFER_BT601',
|
|
'TRANSFER_ST240_M', 'TRANSFER_LINEAR', 'TRANSFER_LOG_100', 'TRANSFER_LOG_316', 'TRANSFER_IEC_61966_2_4',
|
|
'TRANSFER_IEC_61966_2_1', 'TRANSFER_BT2020_10', 'TRANSFER_BT2020_12', 'TRANSFER_ST2084', 'TRANSFER_ARIB_B67',
|
|
|
|
'ColorPrimaries', 'PRIMARIES_BT709', 'PRIMARIES_UNSPECIFIED',
|
|
'PRIMARIES_BT470_M', 'PRIMARIES_BT470_BG', 'PRIMARIES_ST170_M', 'PRIMARIES_ST240_M', 'PRIMARIES_FILM',
|
|
'PRIMARIES_BT2020', 'PRIMARIES_ST428', 'PRIMARIES_ST431_2', 'PRIMARIES_ST432_1', 'PRIMARIES_EBU3213_E',
|
|
|
|
# Environment SubSystem
|
|
'Environment', 'EnvironmentData',
|
|
|
|
'EnvironmentPolicy',
|
|
|
|
'EnvironmentPolicyAPI',
|
|
'register_policy', 'has_policy',
|
|
'register_on_destroy', 'unregister_on_destroy',
|
|
|
|
'get_current_environment',
|
|
|
|
'VideoOutputTuple',
|
|
'clear_output', 'clear_outputs', 'get_outputs', 'get_output',
|
|
|
|
# Logging
|
|
'LogHandle', 'Error',
|
|
|
|
# Functions
|
|
'FuncData', 'Func', 'FramePtr',
|
|
'Plugin', 'Function',
|
|
|
|
# Formats
|
|
'VideoFormat', 'ChannelLayout',
|
|
|
|
# Frames
|
|
'RawFrame', 'VideoFrame', 'AudioFrame',
|
|
'FrameProps',
|
|
|
|
# Nodes
|
|
'RawNode', 'VideoNode', 'AudioNode',
|
|
|
|
'Core', '_CoreProxy', 'core',
|
|
|
|
# Inspection API [UNSTABLE API]
|
|
# '_try_enable_introspection'
|
|
]
|
|
|
|
|
|
###
|
|
# Typing
|
|
|
|
T = TypeVar('T')
|
|
S = TypeVar('S')
|
|
|
|
SingleAndSequence = Union[T, Sequence[T]]
|
|
|
|
|
|
@runtime_checkable
|
|
class SupportsString(Protocol):
|
|
@abstractmethod
|
|
def __str__(self) -> str:
|
|
...
|
|
|
|
|
|
DataType = Union[str, bytes, bytearray, SupportsString]
|
|
|
|
_VapourSynthMapValue = Union[
|
|
SingleAndSequence[int],
|
|
SingleAndSequence[float],
|
|
SingleAndSequence[DataType],
|
|
SingleAndSequence['VideoNode'],
|
|
SingleAndSequence['VideoFrame'],
|
|
SingleAndSequence['AudioNode'],
|
|
SingleAndSequence['AudioFrame'],
|
|
SingleAndSequence['VSMapValueCallback[Any]']
|
|
]
|
|
|
|
BoundVSMapValue = TypeVar('BoundVSMapValue', bound=_VapourSynthMapValue)
|
|
|
|
VSMapValueCallback = Callable[..., BoundVSMapValue]
|
|
|
|
|
|
class _Future(Generic[T]):
|
|
def set_result(self, value: T) -> None: ...
|
|
|
|
def set_exception(self, exception: BaseException) -> None: ...
|
|
|
|
def result(self) -> T: ...
|
|
|
|
def exception(self) -> Union[NoReturn, None]: ...
|
|
|
|
###
|
|
# Typed dicts
|
|
|
|
|
|
class _VideoFormatInfo(TypedDict):
|
|
id: int
|
|
name: str
|
|
color_family: 'ColorFamily'
|
|
sample_type: 'SampleType'
|
|
bits_per_sample: int
|
|
bytes_per_sample: int
|
|
subsampling_w: int
|
|
subsampling_h: int
|
|
num_planes: int
|
|
|
|
|
|
###
|
|
# VapourSynth Versioning
|
|
|
|
|
|
class VapourSynthVersion(NamedTuple):
|
|
release_major: int
|
|
release_minor: int
|
|
|
|
|
|
class VapourSynthAPIVersion(NamedTuple):
|
|
api_major: int
|
|
api_minor: int
|
|
|
|
|
|
__version__: VapourSynthVersion
|
|
__api_version__: VapourSynthAPIVersion
|
|
|
|
|
|
###
|
|
# Plugin Versioning
|
|
|
|
|
|
class PluginVersion(NamedTuple):
|
|
major: int
|
|
minor: int
|
|
|
|
|
|
###
|
|
# VapourSynth Enums and Constants
|
|
|
|
|
|
class MessageType(IntEnum):
|
|
MESSAGE_TYPE_DEBUG: 'MessageType'
|
|
MESSAGE_TYPE_INFORMATION: 'MessageType'
|
|
MESSAGE_TYPE_WARNING: 'MessageType'
|
|
MESSAGE_TYPE_CRITICAL: 'MessageType'
|
|
MESSAGE_TYPE_FATAL: 'MessageType'
|
|
|
|
|
|
MESSAGE_TYPE_DEBUG: Literal[MessageType.MESSAGE_TYPE_DEBUG]
|
|
MESSAGE_TYPE_INFORMATION: Literal[MessageType.MESSAGE_TYPE_INFORMATION]
|
|
MESSAGE_TYPE_WARNING: Literal[MessageType.MESSAGE_TYPE_WARNING]
|
|
MESSAGE_TYPE_CRITICAL: Literal[MessageType.MESSAGE_TYPE_CRITICAL]
|
|
MESSAGE_TYPE_FATAL: Literal[MessageType.MESSAGE_TYPE_FATAL]
|
|
|
|
|
|
class FilterMode(IntEnum):
|
|
fmParallel: 'FilterMode'
|
|
fmParallelRequests: 'FilterMode'
|
|
fmUnordered: 'FilterMode'
|
|
fmFrameState: 'FilterMode'
|
|
|
|
|
|
fmParallel: Literal[FilterMode.fmParallel]
|
|
fmParallelRequests: Literal[FilterMode.fmParallelRequests]
|
|
fmUnordered: Literal[FilterMode.fmUnordered]
|
|
fmFrameState: Literal[FilterMode.fmFrameState]
|
|
|
|
|
|
class CoreCreationFlags(IntEnum):
|
|
ccfEnableGraphInspection: 'CoreCreationFlags'
|
|
ccfDisableAutoLoading: 'CoreCreationFlags'
|
|
ccfDisableLibraryUnloading: 'CoreCreationFlags'
|
|
|
|
|
|
ccfEnableGraphInspection: Literal[CoreCreationFlags.ccfEnableGraphInspection]
|
|
ccfDisableAutoLoading: Literal[CoreCreationFlags.ccfDisableAutoLoading]
|
|
ccfDisableLibraryUnloading: Literal[CoreCreationFlags.ccfDisableLibraryUnloading]
|
|
|
|
|
|
class MediaType(IntEnum):
|
|
VIDEO: 'MediaType'
|
|
AUDIO: 'MediaType'
|
|
|
|
|
|
VIDEO: Literal[MediaType.VIDEO]
|
|
AUDIO: Literal[MediaType.AUDIO]
|
|
|
|
|
|
class ColorFamily(IntEnum):
|
|
UNDEFINED: 'ColorFamily'
|
|
GRAY: 'ColorFamily'
|
|
RGB: 'ColorFamily'
|
|
YUV: 'ColorFamily'
|
|
|
|
|
|
UNDEFINED: Literal[ColorFamily.UNDEFINED]
|
|
GRAY: Literal[ColorFamily.GRAY]
|
|
RGB: Literal[ColorFamily.RGB]
|
|
YUV: Literal[ColorFamily.YUV]
|
|
|
|
|
|
class ColorRange(IntEnum):
|
|
RANGE_FULL: 'ColorRange'
|
|
RANGE_LIMITED: 'ColorRange'
|
|
|
|
|
|
RANGE_FULL: Literal[ColorRange.RANGE_FULL]
|
|
RANGE_LIMITED: Literal[ColorRange.RANGE_LIMITED]
|
|
|
|
|
|
class SampleType(IntEnum):
|
|
INTEGER: 'SampleType'
|
|
FLOAT: 'SampleType'
|
|
|
|
|
|
INTEGER: Literal[SampleType.INTEGER]
|
|
FLOAT: Literal[SampleType.FLOAT]
|
|
|
|
|
|
class PresetVideoFormat(IntEnum):
|
|
NONE: 'PresetVideoFormat'
|
|
|
|
GRAY8: 'PresetVideoFormat'
|
|
GRAY9: 'PresetVideoFormat'
|
|
GRAY10: 'PresetVideoFormat'
|
|
GRAY12: 'PresetVideoFormat'
|
|
GRAY14: 'PresetVideoFormat'
|
|
GRAY16: 'PresetVideoFormat'
|
|
GRAY32: 'PresetVideoFormat'
|
|
|
|
GRAYH: 'PresetVideoFormat'
|
|
GRAYS: 'PresetVideoFormat'
|
|
|
|
YUV420P8: 'PresetVideoFormat'
|
|
YUV422P8: 'PresetVideoFormat'
|
|
YUV444P8: 'PresetVideoFormat'
|
|
YUV410P8: 'PresetVideoFormat'
|
|
YUV411P8: 'PresetVideoFormat'
|
|
YUV440P8: 'PresetVideoFormat'
|
|
|
|
YUV420P9: 'PresetVideoFormat'
|
|
YUV422P9: 'PresetVideoFormat'
|
|
YUV444P9: 'PresetVideoFormat'
|
|
|
|
YUV420P10: 'PresetVideoFormat'
|
|
YUV422P10: 'PresetVideoFormat'
|
|
YUV444P10: 'PresetVideoFormat'
|
|
|
|
YUV420P12: 'PresetVideoFormat'
|
|
YUV422P12: 'PresetVideoFormat'
|
|
YUV444P12: 'PresetVideoFormat'
|
|
|
|
YUV420P14: 'PresetVideoFormat'
|
|
YUV422P14: 'PresetVideoFormat'
|
|
YUV444P14: 'PresetVideoFormat'
|
|
|
|
YUV420P16: 'PresetVideoFormat'
|
|
YUV422P16: 'PresetVideoFormat'
|
|
YUV444P16: 'PresetVideoFormat'
|
|
|
|
YUV444PH: 'PresetVideoFormat'
|
|
YUV444PS: 'PresetVideoFormat'
|
|
|
|
RGB24: 'PresetVideoFormat'
|
|
RGB27: 'PresetVideoFormat'
|
|
RGB30: 'PresetVideoFormat'
|
|
RGB36: 'PresetVideoFormat'
|
|
RGB42: 'PresetVideoFormat'
|
|
RGB48: 'PresetVideoFormat'
|
|
|
|
RGBH: 'PresetVideoFormat'
|
|
RGBS: 'PresetVideoFormat'
|
|
|
|
|
|
NONE: Literal[PresetVideoFormat.NONE]
|
|
|
|
GRAY8: Literal[PresetVideoFormat.GRAY8]
|
|
GRAY9: Literal[PresetVideoFormat.GRAY9]
|
|
GRAY10: Literal[PresetVideoFormat.GRAY10]
|
|
GRAY12: Literal[PresetVideoFormat.GRAY12]
|
|
GRAY14: Literal[PresetVideoFormat.GRAY14]
|
|
GRAY16: Literal[PresetVideoFormat.GRAY16]
|
|
GRAY32: Literal[PresetVideoFormat.GRAY32]
|
|
|
|
GRAYH: Literal[PresetVideoFormat.GRAYH]
|
|
GRAYS: Literal[PresetVideoFormat.GRAYS]
|
|
|
|
YUV420P8: Literal[PresetVideoFormat.YUV420P8]
|
|
YUV422P8: Literal[PresetVideoFormat.YUV422P8]
|
|
YUV444P8: Literal[PresetVideoFormat.YUV444P8]
|
|
YUV410P8: Literal[PresetVideoFormat.YUV410P8]
|
|
YUV411P8: Literal[PresetVideoFormat.YUV411P8]
|
|
YUV440P8: Literal[PresetVideoFormat.YUV440P8]
|
|
|
|
YUV420P9: Literal[PresetVideoFormat.YUV420P9]
|
|
YUV422P9: Literal[PresetVideoFormat.YUV422P9]
|
|
YUV444P9: Literal[PresetVideoFormat.YUV444P9]
|
|
|
|
YUV420P10: Literal[PresetVideoFormat.YUV420P10]
|
|
YUV422P10: Literal[PresetVideoFormat.YUV422P10]
|
|
YUV444P10: Literal[PresetVideoFormat.YUV444P10]
|
|
|
|
YUV420P12: Literal[PresetVideoFormat.YUV420P12]
|
|
YUV422P12: Literal[PresetVideoFormat.YUV422P12]
|
|
YUV444P12: Literal[PresetVideoFormat.YUV444P12]
|
|
|
|
YUV420P14: Literal[PresetVideoFormat.YUV420P14]
|
|
YUV422P14: Literal[PresetVideoFormat.YUV422P14]
|
|
YUV444P14: Literal[PresetVideoFormat.YUV444P14]
|
|
|
|
YUV420P16: Literal[PresetVideoFormat.YUV420P16]
|
|
YUV422P16: Literal[PresetVideoFormat.YUV422P16]
|
|
YUV444P16: Literal[PresetVideoFormat.YUV444P16]
|
|
|
|
YUV444PH: Literal[PresetVideoFormat.YUV444PH]
|
|
YUV444PS: Literal[PresetVideoFormat.YUV444PS]
|
|
|
|
RGB24: Literal[PresetVideoFormat.RGB24]
|
|
RGB27: Literal[PresetVideoFormat.RGB27]
|
|
RGB30: Literal[PresetVideoFormat.RGB30]
|
|
RGB36: Literal[PresetVideoFormat.RGB36]
|
|
RGB42: Literal[PresetVideoFormat.RGB42]
|
|
RGB48: Literal[PresetVideoFormat.RGB48]
|
|
|
|
RGBH: Literal[PresetVideoFormat.RGBH]
|
|
RGBS: Literal[PresetVideoFormat.RGBS]
|
|
|
|
|
|
class AudioChannels(IntEnum):
|
|
FRONT_LEFT: 'AudioChannels'
|
|
FRONT_RIGHT: 'AudioChannels'
|
|
FRONT_CENTER: 'AudioChannels'
|
|
LOW_FREQUENCY: 'AudioChannels'
|
|
BACK_LEFT: 'AudioChannels'
|
|
BACK_RIGHT: 'AudioChannels'
|
|
FRONT_LEFT_OF_CENTER: 'AudioChannels'
|
|
FRONT_RIGHT_OF_CENTER: 'AudioChannels'
|
|
BACK_CENTER: 'AudioChannels'
|
|
SIDE_LEFT: 'AudioChannels'
|
|
SIDE_RIGHT: 'AudioChannels'
|
|
TOP_CENTER: 'AudioChannels'
|
|
TOP_FRONT_LEFT: 'AudioChannels'
|
|
TOP_FRONT_CENTER: 'AudioChannels'
|
|
TOP_FRONT_RIGHT: 'AudioChannels'
|
|
TOP_BACK_LEFT: 'AudioChannels'
|
|
TOP_BACK_CENTER: 'AudioChannels'
|
|
TOP_BACK_RIGHT: 'AudioChannels'
|
|
STEREO_LEFT: 'AudioChannels'
|
|
STEREO_RIGHT: 'AudioChannels'
|
|
WIDE_LEFT: 'AudioChannels'
|
|
WIDE_RIGHT: 'AudioChannels'
|
|
SURROUND_DIRECT_LEFT: 'AudioChannels'
|
|
SURROUND_DIRECT_RIGHT: 'AudioChannels'
|
|
LOW_FREQUENCY2: 'AudioChannels'
|
|
|
|
|
|
FRONT_LEFT: Literal[AudioChannels.FRONT_LEFT]
|
|
FRONT_RIGHT: Literal[AudioChannels.FRONT_RIGHT]
|
|
FRONT_CENTER: Literal[AudioChannels.FRONT_CENTER]
|
|
LOW_FREQUENCY: Literal[AudioChannels.LOW_FREQUENCY]
|
|
BACK_LEFT: Literal[AudioChannels.BACK_LEFT]
|
|
BACK_RIGHT: Literal[AudioChannels.BACK_RIGHT]
|
|
FRONT_LEFT_OF_CENTER: Literal[AudioChannels.FRONT_LEFT_OF_CENTER]
|
|
FRONT_RIGHT_OF_CENTER: Literal[AudioChannels.FRONT_RIGHT_OF_CENTER]
|
|
BACK_CENTER: Literal[AudioChannels.BACK_CENTER]
|
|
SIDE_LEFT: Literal[AudioChannels.SIDE_LEFT]
|
|
SIDE_RIGHT: Literal[AudioChannels.SIDE_RIGHT]
|
|
TOP_CENTER: Literal[AudioChannels.TOP_CENTER]
|
|
TOP_FRONT_LEFT: Literal[AudioChannels.TOP_FRONT_LEFT]
|
|
TOP_FRONT_CENTER: Literal[AudioChannels.TOP_FRONT_CENTER]
|
|
TOP_FRONT_RIGHT: Literal[AudioChannels.TOP_FRONT_RIGHT]
|
|
TOP_BACK_LEFT: Literal[AudioChannels.TOP_BACK_LEFT]
|
|
TOP_BACK_CENTER: Literal[AudioChannels.TOP_BACK_CENTER]
|
|
TOP_BACK_RIGHT: Literal[AudioChannels.TOP_BACK_RIGHT]
|
|
STEREO_LEFT: Literal[AudioChannels.STEREO_LEFT]
|
|
STEREO_RIGHT: Literal[AudioChannels.STEREO_RIGHT]
|
|
WIDE_LEFT: Literal[AudioChannels.WIDE_LEFT]
|
|
WIDE_RIGHT: Literal[AudioChannels.WIDE_RIGHT]
|
|
SURROUND_DIRECT_LEFT: Literal[AudioChannels.SURROUND_DIRECT_LEFT]
|
|
SURROUND_DIRECT_RIGHT: Literal[AudioChannels.SURROUND_DIRECT_RIGHT]
|
|
LOW_FREQUENCY2: Literal[AudioChannels.LOW_FREQUENCY2]
|
|
|
|
|
|
class ChromaLocation(IntEnum):
|
|
CHROMA_LEFT: 'ChromaLocation'
|
|
CHROMA_CENTER: 'ChromaLocation'
|
|
CHROMA_TOP_LEFT: 'ChromaLocation'
|
|
CHROMA_TOP: 'ChromaLocation'
|
|
CHROMA_BOTTOM_LEFT: 'ChromaLocation'
|
|
CHROMA_BOTTOM: 'ChromaLocation'
|
|
|
|
|
|
CHROMA_LEFT: Literal[ChromaLocation.CHROMA_LEFT]
|
|
CHROMA_CENTER: Literal[ChromaLocation.CHROMA_CENTER]
|
|
CHROMA_TOP_LEFT: Literal[ChromaLocation.CHROMA_TOP_LEFT]
|
|
CHROMA_TOP: Literal[ChromaLocation.CHROMA_TOP]
|
|
CHROMA_BOTTOM_LEFT: Literal[ChromaLocation.CHROMA_BOTTOM_LEFT]
|
|
CHROMA_BOTTOM: Literal[ChromaLocation.CHROMA_BOTTOM]
|
|
|
|
|
|
class FieldBased(IntEnum):
|
|
FIELD_PROGRESSIVE: 'FieldBased'
|
|
FIELD_TOP: 'FieldBased'
|
|
FIELD_BOTTOM: 'FieldBased'
|
|
|
|
|
|
FIELD_PROGRESSIVE: Literal[FieldBased.FIELD_PROGRESSIVE]
|
|
FIELD_TOP: Literal[FieldBased.FIELD_TOP]
|
|
FIELD_BOTTOM: Literal[FieldBased.FIELD_BOTTOM]
|
|
|
|
|
|
class MatrixCoefficients(IntEnum):
|
|
MATRIX_RGB: 'MatrixCoefficients'
|
|
MATRIX_BT709: 'MatrixCoefficients'
|
|
MATRIX_UNSPECIFIED: 'MatrixCoefficients'
|
|
MATRIX_FCC: 'MatrixCoefficients'
|
|
MATRIX_BT470_BG: 'MatrixCoefficients'
|
|
MATRIX_ST170_M: 'MatrixCoefficients'
|
|
MATRIX_ST240_M: 'MatrixCoefficients'
|
|
MATRIX_YCGCO: 'MatrixCoefficients'
|
|
MATRIX_BT2020_NCL: 'MatrixCoefficients'
|
|
MATRIX_BT2020_CL: 'MatrixCoefficients'
|
|
MATRIX_CHROMATICITY_DERIVED_NCL: 'MatrixCoefficients'
|
|
MATRIX_CHROMATICITY_DERIVED_CL: 'MatrixCoefficients'
|
|
MATRIX_ICTCP: 'MatrixCoefficients'
|
|
|
|
|
|
MATRIX_RGB: Literal[MatrixCoefficients.MATRIX_RGB]
|
|
MATRIX_BT709: Literal[MatrixCoefficients.MATRIX_BT709]
|
|
MATRIX_UNSPECIFIED: Literal[MatrixCoefficients.MATRIX_UNSPECIFIED]
|
|
MATRIX_FCC: Literal[MatrixCoefficients.MATRIX_FCC]
|
|
MATRIX_BT470_BG: Literal[MatrixCoefficients.MATRIX_BT470_BG]
|
|
MATRIX_ST170_M: Literal[MatrixCoefficients.MATRIX_ST170_M]
|
|
MATRIX_ST240_M: Literal[MatrixCoefficients.MATRIX_ST240_M]
|
|
MATRIX_YCGCO: Literal[MatrixCoefficients.MATRIX_YCGCO]
|
|
MATRIX_BT2020_NCL: Literal[MatrixCoefficients.MATRIX_BT2020_NCL]
|
|
MATRIX_BT2020_CL: Literal[MatrixCoefficients.MATRIX_BT2020_CL]
|
|
MATRIX_CHROMATICITY_DERIVED_NCL: Literal[MatrixCoefficients.MATRIX_CHROMATICITY_DERIVED_NCL]
|
|
MATRIX_CHROMATICITY_DERIVED_CL: Literal[MatrixCoefficients.MATRIX_CHROMATICITY_DERIVED_CL]
|
|
MATRIX_ICTCP: Literal[MatrixCoefficients.MATRIX_ICTCP]
|
|
|
|
|
|
class TransferCharacteristics(IntEnum):
|
|
TRANSFER_BT709: 'TransferCharacteristics'
|
|
TRANSFER_UNSPECIFIED: 'TransferCharacteristics'
|
|
TRANSFER_BT470_M: 'TransferCharacteristics'
|
|
TRANSFER_BT470_BG: 'TransferCharacteristics'
|
|
TRANSFER_BT601: 'TransferCharacteristics'
|
|
TRANSFER_ST240_M: 'TransferCharacteristics'
|
|
TRANSFER_LINEAR: 'TransferCharacteristics'
|
|
TRANSFER_LOG_100: 'TransferCharacteristics'
|
|
TRANSFER_LOG_316: 'TransferCharacteristics'
|
|
TRANSFER_IEC_61966_2_4: 'TransferCharacteristics'
|
|
TRANSFER_IEC_61966_2_1: 'TransferCharacteristics'
|
|
TRANSFER_BT2020_10: 'TransferCharacteristics'
|
|
TRANSFER_BT2020_12: 'TransferCharacteristics'
|
|
TRANSFER_ST2084: 'TransferCharacteristics'
|
|
TRANSFER_ARIB_B67: 'TransferCharacteristics'
|
|
|
|
|
|
TRANSFER_BT709: Literal[TransferCharacteristics.TRANSFER_BT709]
|
|
TRANSFER_UNSPECIFIED: Literal[TransferCharacteristics.TRANSFER_UNSPECIFIED]
|
|
TRANSFER_BT470_M: Literal[TransferCharacteristics.TRANSFER_BT470_M]
|
|
TRANSFER_BT470_BG: Literal[TransferCharacteristics.TRANSFER_BT470_BG]
|
|
TRANSFER_BT601: Literal[TransferCharacteristics.TRANSFER_BT601]
|
|
TRANSFER_ST240_M: Literal[TransferCharacteristics.TRANSFER_ST240_M]
|
|
TRANSFER_LINEAR: Literal[TransferCharacteristics.TRANSFER_LINEAR]
|
|
TRANSFER_LOG_100: Literal[TransferCharacteristics.TRANSFER_LOG_100]
|
|
TRANSFER_LOG_316: Literal[TransferCharacteristics.TRANSFER_LOG_316]
|
|
TRANSFER_IEC_61966_2_4: Literal[TransferCharacteristics.TRANSFER_IEC_61966_2_4]
|
|
TRANSFER_IEC_61966_2_1: Literal[TransferCharacteristics.TRANSFER_IEC_61966_2_1]
|
|
TRANSFER_BT2020_10: Literal[TransferCharacteristics.TRANSFER_BT2020_10]
|
|
TRANSFER_BT2020_12: Literal[TransferCharacteristics.TRANSFER_BT2020_12]
|
|
TRANSFER_ST2084: Literal[TransferCharacteristics.TRANSFER_ST2084]
|
|
TRANSFER_ARIB_B67: Literal[TransferCharacteristics.TRANSFER_ARIB_B67]
|
|
|
|
|
|
class ColorPrimaries(IntEnum):
|
|
PRIMARIES_BT709: 'ColorPrimaries'
|
|
PRIMARIES_UNSPECIFIED: 'ColorPrimaries'
|
|
PRIMARIES_BT470_M: 'ColorPrimaries'
|
|
PRIMARIES_BT470_BG: 'ColorPrimaries'
|
|
PRIMARIES_ST170_M: 'ColorPrimaries'
|
|
PRIMARIES_ST240_M: 'ColorPrimaries'
|
|
PRIMARIES_FILM: 'ColorPrimaries'
|
|
PRIMARIES_BT2020: 'ColorPrimaries'
|
|
PRIMARIES_ST428: 'ColorPrimaries'
|
|
PRIMARIES_ST431_2: 'ColorPrimaries'
|
|
PRIMARIES_ST432_1: 'ColorPrimaries'
|
|
PRIMARIES_EBU3213_E: 'ColorPrimaries'
|
|
|
|
|
|
PRIMARIES_BT709: Literal[ColorPrimaries.PRIMARIES_BT709]
|
|
PRIMARIES_UNSPECIFIED: Literal[ColorPrimaries.PRIMARIES_UNSPECIFIED]
|
|
PRIMARIES_BT470_M: Literal[ColorPrimaries.PRIMARIES_BT470_M]
|
|
PRIMARIES_BT470_BG: Literal[ColorPrimaries.PRIMARIES_BT470_BG]
|
|
PRIMARIES_ST170_M: Literal[ColorPrimaries.PRIMARIES_ST170_M]
|
|
PRIMARIES_ST240_M: Literal[ColorPrimaries.PRIMARIES_ST240_M]
|
|
PRIMARIES_FILM: Literal[ColorPrimaries.PRIMARIES_FILM]
|
|
PRIMARIES_BT2020: Literal[ColorPrimaries.PRIMARIES_BT2020]
|
|
PRIMARIES_ST428: Literal[ColorPrimaries.PRIMARIES_ST428]
|
|
PRIMARIES_ST431_2: Literal[ColorPrimaries.PRIMARIES_ST431_2]
|
|
PRIMARIES_ST432_1: Literal[ColorPrimaries.PRIMARIES_ST432_1]
|
|
PRIMARIES_EBU3213_E: Literal[ColorPrimaries.PRIMARIES_EBU3213_E]
|
|
|
|
|
|
###
|
|
# VapourSynth Environment SubSystem
|
|
|
|
|
|
class EnvironmentData:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
|
|
class EnvironmentPolicy:
|
|
def on_policy_registered(self, special_api: 'EnvironmentPolicyAPI') -> None: ...
|
|
|
|
def on_policy_cleared(self) -> None: ...
|
|
|
|
@abstractmethod
|
|
def get_current_environment(self) -> Union[EnvironmentData, None]: ...
|
|
|
|
@abstractmethod
|
|
def set_environment(self, environment: Union[EnvironmentData, None]) -> Union[EnvironmentData, None]: ...
|
|
|
|
def is_alive(self, environment: EnvironmentData) -> bool: ...
|
|
|
|
|
|
class EnvironmentPolicyAPI:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def wrap_environment(self, environment_data: EnvironmentData) -> 'Environment': ...
|
|
|
|
def create_environment(self, flags: int = 0) -> EnvironmentData: ...
|
|
|
|
def set_logger(self, env: EnvironmentData, logger: Callable[[int, str], None]) -> None: ...
|
|
|
|
def get_vapoursynth_api(self, version: int) -> c_void_p: ...
|
|
|
|
def get_core_ptr(self, environment_data: EnvironmentData) -> c_void_p: ...
|
|
|
|
def destroy_environment(self, env: EnvironmentData) -> None: ...
|
|
|
|
def unregister_policy(self) -> None: ...
|
|
|
|
|
|
def register_policy(policy: EnvironmentPolicy) -> None:
|
|
...
|
|
|
|
|
|
if not TYPE_CHECKING:
|
|
def _try_enable_introspection(version: int = None): ...
|
|
|
|
|
|
def has_policy() -> bool:
|
|
...
|
|
|
|
|
|
def register_on_destroy(callback: Callable[..., None]) -> None:
|
|
...
|
|
|
|
|
|
def unregister_on_destroy(callback: Callable[..., None]) -> None:
|
|
...
|
|
|
|
|
|
class Environment:
|
|
env: ReferenceType[EnvironmentData]
|
|
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
@property
|
|
def alive(self) -> bool: ...
|
|
|
|
@property
|
|
def single(self) -> bool: ...
|
|
|
|
@classmethod
|
|
def is_single(cls) -> bool: ...
|
|
|
|
@property
|
|
def env_id(self) -> int: ...
|
|
|
|
@property
|
|
def active(self) -> bool: ...
|
|
|
|
def copy(self) -> 'Environment': ...
|
|
|
|
def use(self) -> ContextManager[None]: ...
|
|
|
|
def __eq__(self, other: 'Environment') -> bool: ... # type: ignore[override]
|
|
|
|
def __repr__(self) -> str: ...
|
|
|
|
|
|
def get_current_environment() -> Environment:
|
|
...
|
|
|
|
|
|
class Local:
|
|
def __getattr__(self, key: str) -> Any: ...
|
|
|
|
# Even though object does have set/del methods, typecheckers will treat them differently
|
|
# when they are not explicit; for example by raising a member not found warning.
|
|
|
|
def __setattr__(self, key: str, value: Any) -> None: ...
|
|
|
|
def __delattr__(self, key: str) -> None: ...
|
|
|
|
|
|
class VideoOutputTuple(NamedTuple):
|
|
clip: 'VideoNode'
|
|
alpha: Union['VideoNode', None]
|
|
alt_output: Literal[0, 1, 2]
|
|
|
|
|
|
class Error(Exception):
|
|
...
|
|
|
|
|
|
def clear_output(index: int = 0) -> None:
|
|
...
|
|
|
|
|
|
def clear_outputs() -> None:
|
|
...
|
|
|
|
|
|
def get_outputs() -> MappingProxyType[int, Union[VideoOutputTuple, 'AudioNode']]:
|
|
...
|
|
|
|
|
|
def get_output(index: int = 0) -> Union[VideoOutputTuple, 'AudioNode']:
|
|
...
|
|
|
|
|
|
class FuncData:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def __call__(self, **kwargs: _VapourSynthMapValue) -> _VapourSynthMapValue: ...
|
|
|
|
|
|
class Func:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def __call__(self, **kwargs: _VapourSynthMapValue) -> _VapourSynthMapValue: ...
|
|
|
|
|
|
class FramePtr:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
|
|
class VideoFormat:
|
|
id: int
|
|
name: str
|
|
color_family: ColorFamily
|
|
sample_type: SampleType
|
|
bits_per_sample: int
|
|
bytes_per_sample: int
|
|
subsampling_w: int
|
|
subsampling_h: int
|
|
num_planes: int
|
|
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def _as_dict(self) -> _VideoFormatInfo: ...
|
|
|
|
def replace(
|
|
self, *,
|
|
color_family: Union[ColorFamily, None] = None,
|
|
sample_type: Union[SampleType, None] = None,
|
|
bits_per_sample: Union[int, None] = None,
|
|
subsampling_w: Union[int, None] = None,
|
|
subsampling_h: Union[int, None] = None
|
|
) -> 'VideoFormat': ...
|
|
|
|
@overload
|
|
def __eq__(self, other: 'VideoFormat') -> bool: ... # type: ignore[misc]
|
|
|
|
@overload
|
|
def __eq__(self, other: Any) -> Literal[False]: ...
|
|
|
|
|
|
class FrameProps(MutableMapping[str, _VapourSynthMapValue]):
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def setdefault(
|
|
self, key: str, default: _VapourSynthMapValue = 0
|
|
) -> _VapourSynthMapValue: ...
|
|
|
|
def copy(self) -> MutableMapping[str, _VapourSynthMapValue]: ...
|
|
|
|
# Since we're inheriting from the MutableMapping abstract class,
|
|
# we *have* to specify that we have indeed created these methods.
|
|
# If we don't, mypy will complain that we're working with abstract methods.
|
|
|
|
def __setattr__(self, name: str, value: _VapourSynthMapValue) -> None: ...
|
|
|
|
def __getattr__(self, name: str) -> _VapourSynthMapValue: ...
|
|
|
|
def __delattr__(self, name: str) -> None: ...
|
|
|
|
def __setitem__(self, name: str, value: _VapourSynthMapValue) -> None: ...
|
|
|
|
def __getitem__(self, name: str) -> _VapourSynthMapValue: ...
|
|
|
|
def __delitem__(self, name: str) -> None: ...
|
|
|
|
def __iter__(self) -> Iterator[str]: ...
|
|
|
|
def __len__(self) -> int: ...
|
|
|
|
|
|
class ChannelLayout(int):
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def __contains__(self, layout: AudioChannels) -> bool: ...
|
|
|
|
def __iter__(self) -> Iterator[AudioChannels]: ...
|
|
|
|
@overload
|
|
def __eq__(self, other: 'ChannelLayout') -> bool: ... # type: ignore[misc]
|
|
|
|
@overload
|
|
def __eq__(self, other: Any) -> Literal[False]: ...
|
|
|
|
def __len__(self) -> int: ...
|
|
|
|
|
|
class audio_view(memoryview): # type: ignore[misc]
|
|
@property
|
|
def shape(self) -> tuple[int]: ...
|
|
|
|
@property
|
|
def strides(self) -> tuple[int]: ...
|
|
|
|
@property
|
|
def ndim(self) -> Literal[1]: ...
|
|
|
|
@property
|
|
def obj(self) -> FramePtr: ... # type: ignore[override]
|
|
|
|
def __getitem__(self, index: int) -> int | float: ... # type: ignore[override]
|
|
|
|
def __setitem__(self, index: int, other: int | float) -> None: ... # type: ignore[override]
|
|
|
|
def tolist(self) -> list[int | float]: ... # type: ignore[override]
|
|
|
|
|
|
class video_view(memoryview): # type: ignore[misc]
|
|
@property
|
|
def shape(self) -> tuple[int, int]: ...
|
|
|
|
@property
|
|
def strides(self) -> tuple[int, int]: ...
|
|
|
|
@property
|
|
def ndim(self) -> Literal[2]: ...
|
|
|
|
@property
|
|
def obj(self) -> FramePtr: ... # type: ignore[override]
|
|
|
|
def __getitem__(self, index: Tuple[int, int]) -> int | float: ... # type: ignore[override]
|
|
|
|
def __setitem__(self, index: Tuple[int, int], other: int | float) -> None: ... # type: ignore[override]
|
|
|
|
def tolist(self) -> list[int | float]: ... # type: ignore[override]
|
|
|
|
|
|
class RawFrame:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
@property
|
|
def closed(self) -> bool: ...
|
|
|
|
def close(self) -> None: ...
|
|
|
|
def copy(self: 'SelfFrame') -> 'SelfFrame': ...
|
|
|
|
@property
|
|
def props(self) -> FrameProps: ...
|
|
|
|
@props.setter
|
|
def props(self, new_props: MappingProxyType[str, _VapourSynthMapValue]) -> None: ...
|
|
|
|
def get_write_ptr(self, plane: int) -> c_void_p: ...
|
|
|
|
def get_read_ptr(self, plane: int) -> c_void_p: ...
|
|
|
|
def get_stride(self, plane: int) -> int: ...
|
|
|
|
@property
|
|
def readonly(self) -> bool: ...
|
|
|
|
def __enter__(self: 'SelfFrame') -> 'SelfFrame': ...
|
|
|
|
def __exit__(
|
|
self, exc_type: Union[Type[BaseException], None],
|
|
exc_value: Union[BaseException, None],
|
|
traceback: Union[TracebackType, None], /,
|
|
) -> Union[bool, None]: ...
|
|
|
|
def __getitem__(self, index: int) -> memoryview: ...
|
|
|
|
def __len__(self) -> int: ...
|
|
|
|
|
|
SelfFrame = TypeVar('SelfFrame', bound=RawFrame)
|
|
|
|
|
|
class VideoFrame(RawFrame):
|
|
format: VideoFormat
|
|
width: int
|
|
height: int
|
|
|
|
def readchunks(self) -> Iterator[video_view]: ...
|
|
|
|
def __getitem__(self, index: int) -> video_view: ...
|
|
|
|
|
|
class AudioFrame(RawFrame):
|
|
sample_type: SampleType
|
|
bits_per_sample: int
|
|
bytes_per_sample: int
|
|
channel_layout: int
|
|
num_channels: int
|
|
|
|
@property
|
|
def channels(self) -> ChannelLayout: ...
|
|
|
|
def __getitem__(self, index: int) -> audio_view: ...
|
|
|
|
#include <plugins/implementations>
|
|
|
|
|
|
class RawNode:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def get_frame(self, n: int) -> RawFrame: ...
|
|
|
|
@overload
|
|
def get_frame_async(self, n: int, cb: None = None) -> _Future[RawFrame]: ...
|
|
|
|
@overload
|
|
def get_frame_async(self, n: int, cb: Callable[[Union[RawFrame, None], Union[Exception, None]], None]) -> None: ...
|
|
|
|
def frames(
|
|
self, prefetch: Union[int, None] = None, backlog: Union[int, None] = None, close: bool = False
|
|
) -> Iterator[RawFrame]: ...
|
|
|
|
def set_output(self, index: int = 0) -> None: ...
|
|
|
|
def is_inspectable(self, version: Union[int, None] = None) -> bool: ...
|
|
|
|
if not TYPE_CHECKING:
|
|
@property
|
|
def _node_name(self) -> str: ...
|
|
|
|
@property
|
|
def _name(self) -> str: ...
|
|
|
|
@property
|
|
def _inputs(self) -> Dict[str, _VapourSynthMapValue]: ...
|
|
|
|
@property
|
|
def _timings(self) -> int: ...
|
|
|
|
@property
|
|
def _mode(self) -> FilterMode: ...
|
|
|
|
@property
|
|
def _dependencies(self): ...
|
|
|
|
@overload
|
|
def __eq__(self: 'SelfRawNode', other: 'SelfRawNode', /) -> bool: ... # type: ignore[misc]
|
|
|
|
@overload
|
|
def __eq__(self, other: Any, /) -> Literal[False]: ...
|
|
|
|
def __add__(self: 'SelfRawNode', other: 'SelfRawNode', /) -> 'SelfRawNode': ...
|
|
|
|
def __radd__(self: 'SelfRawNode', other: 'SelfRawNode', /) -> 'SelfRawNode': ...
|
|
|
|
def __mul__(self: 'SelfRawNode', other: int) -> 'SelfRawNode': ...
|
|
|
|
def __rmul__(self: 'SelfRawNode', other: int) -> 'SelfRawNode': ...
|
|
|
|
def __getitem__(self: 'SelfRawNode', index: Union[int, slice], /) -> 'SelfRawNode': ...
|
|
|
|
def __len__(self) -> int: ...
|
|
|
|
|
|
SelfRawNode = TypeVar('SelfRawNode', bound=RawNode)
|
|
|
|
|
|
class VideoNode(RawNode):
|
|
format: Union[VideoFormat, None]
|
|
|
|
width: int
|
|
height: int
|
|
|
|
fps_num: int
|
|
fps_den: int
|
|
|
|
fps: Fraction
|
|
|
|
num_frames: int
|
|
|
|
def set_output(
|
|
self, index: int = 0, alpha: Union['VideoNode', None] = None, alt_output: Literal[0, 1, 2] = 0
|
|
) -> None: ...
|
|
|
|
def output(
|
|
self, fileobj: BinaryIO, y4m: bool = False, progress_update: Callable[[int, int], None] | None = None,
|
|
prefetch: int = 0, backlog: int = -1
|
|
) -> None: ...
|
|
|
|
def get_frame(self, n: int) -> VideoFrame: ...
|
|
|
|
@overload # type: ignore[override]
|
|
def get_frame_async(self, n: int, cb: None = None) -> _Future[VideoFrame]: ...
|
|
|
|
@overload
|
|
def get_frame_async(self, n: int, cb: Callable[[Union[VideoFrame, None], Union[Exception, None]], None]) -> None: ...
|
|
|
|
def frames(
|
|
self, prefetch: Union[int, None] = None, backlog: Union[int, None] = None, close: bool = False
|
|
) -> Iterator[VideoFrame]: ...
|
|
|
|
#include <plugins/bound/VideoNode>
|
|
|
|
|
|
class AudioNode(RawNode):
|
|
sample_type: SampleType
|
|
bits_per_sample: int
|
|
bytes_per_sample: int
|
|
|
|
channel_layout: int
|
|
num_channels: int
|
|
|
|
sample_rate: int
|
|
num_samples: int
|
|
|
|
num_frames: int
|
|
|
|
@property
|
|
def channels(self) -> ChannelLayout: ...
|
|
|
|
def get_frame(self, n: int) -> AudioFrame: ...
|
|
|
|
@overload # type: ignore[override]
|
|
def get_frame_async(self, n: int, cb: None = None) -> _Future[AudioFrame]: ...
|
|
|
|
@overload
|
|
def get_frame_async(self, n: int, cb: Callable[[Union[AudioFrame, None], Union[Exception, None]], None]) -> None: ...
|
|
|
|
def frames(
|
|
self, prefetch: Union[int, None] = None, backlog: Union[int, None] = None, close: bool = False
|
|
) -> Iterator[AudioFrame]: ...
|
|
|
|
#include <plugins/bound/AudioNode>
|
|
|
|
|
|
class LogHandle:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
|
|
class Function:
|
|
plugin: 'Plugin'
|
|
name: str
|
|
signature: str
|
|
return_signature: str
|
|
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def __call__(self, *args: _VapourSynthMapValue, **kwargs: _VapourSynthMapValue) -> _VapourSynthMapValue: ...
|
|
|
|
@property
|
|
def __signature__(self) -> Signature: ...
|
|
|
|
|
|
class Plugin:
|
|
identifier: str
|
|
namespace: str
|
|
name: str
|
|
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
def __getattr__(self, name: str) -> Function: ...
|
|
|
|
def functions(self) -> Iterator[Function]: ...
|
|
|
|
@property
|
|
def version(self) -> PluginVersion: ...
|
|
|
|
|
|
class Core:
|
|
def __init__(self) -> NoReturn: ...
|
|
|
|
@property
|
|
def num_threads(self) -> int: ...
|
|
|
|
@num_threads.setter
|
|
def num_threads(self) -> None: ...
|
|
|
|
@property
|
|
def max_cache_size(self) -> int: ...
|
|
|
|
@max_cache_size.setter
|
|
def max_cache_size(self) -> None: ...
|
|
|
|
@property
|
|
def flags(self) -> int: ...
|
|
|
|
def plugins(self) -> Iterator[Plugin]: ...
|
|
|
|
def query_video_format(
|
|
self, color_family: ColorFamily, sample_type: SampleType, bits_per_sample: int, subsampling_w: int = 0,
|
|
subsampling_h: int = 0
|
|
) -> VideoFormat: ...
|
|
|
|
def get_video_format(self, id: Union[VideoFormat, int, PresetVideoFormat]) -> VideoFormat: ...
|
|
|
|
def create_video_frame(self, format: VideoFormat, width: int, height: int) -> VideoFrame: ...
|
|
|
|
def log_message(self, message_type: MessageType, message: str) -> None: ...
|
|
|
|
def add_log_handler(self, handler_func: Callable[[MessageType, str], None]) -> LogHandle: ...
|
|
|
|
def remove_log_handler(self, handle: LogHandle) -> None: ...
|
|
|
|
def version(self) -> str: ...
|
|
|
|
def version_number(self) -> int: ...
|
|
|
|
#include <plugins/bound/Core>
|
|
|
|
|
|
class _CoreProxy(Core):
|
|
@property
|
|
def core(self) -> Core: ...
|
|
|
|
|
|
core: _CoreProxy
|