funcs ¶
Classes:
-
FunctionUtil
–Function util to normalize common actions and boilerplate often used in functions.
FunctionUtil ¶
FunctionUtil(
clip: VideoNode,
func: FuncExceptT,
planes: PlanesT = None,
color_family: (
VideoFormatT
| HoldsVideoFormatT
| ColorFamily
| Iterable[VideoFormatT | HoldsVideoFormatT | ColorFamily]
| None
) = None,
bitdepth: int | range | tuple[int, int] | set[int] | None = None,
*,
matrix: MatrixT | None = None,
transfer: TransferT | None = None,
primaries: PrimariesT | None = None,
range_in: ColorRangeT | None = None,
chromaloc: ChromaLocationT | None = None,
order: FieldBasedT | None = None
)
Bases: baseclass
, list[int]
, vs_object
Function util to normalize common actions and boilerplate often used in functions.
Main use is
- Automatically dither up and down as required.
- Automatically check if the input clip has variable formats, resolutions, etc.
- Fully type safe and removes the need for asserts or typeguards in function code.
- Handy properties for common code paths, improving code readability and writability.
Examples:
>>> func = FunctionUtil(clip, planes=0, color_family=(vs.YUV, vs.GRAY), bitdepth=16)
>>> wclip = func.work_clip
>>> txt = wclip.text.Text("This clip has been processed!")
>>> return func.return_clip(txt)
For further examples, see: https://github.com/search?q=org%3AJaded-Encoding-Thaumaturgy+FunctionUtil
Parameters:
-
clip
¶VideoNode
) –Clip to process.
-
func
¶FuncExceptT
) –Function returned for custom error handling. This should only be set by VS package developers.
-
planes
¶PlanesT
, default:None
) –Planes that get processed in the function. Default: All planes.
-
color_family
¶VideoFormatT | HoldsVideoFormatT | ColorFamily | Iterable[VideoFormatT | HoldsVideoFormatT | ColorFamily] | None
, default:None
) –Accepted color families. If the input does not adhere to these, an exception will be raised. Default: All families.
-
bitdepth
¶int | range | tuple[int, int] | set[int] | None
, default:None
) –The bitdepth or range of bitdepths to work with. Can be an int, range, tuple, or set. Range or tuple indicates a range of allowed bitdepths, set indicates specific allowed bitdepths. If an int is provided, set the clip's bitdepth to that value.
If a range or set is provided and the work clip's bitdepth is not allowed, the work clip's bitdepth will be converted to the lowest bitdepth that is greater than or equal to the work clip's current bitdepth.
return_clip
automatically restores the clip to the original bitdepth. If None, use the input clip's bitdepth. Default: None. -
matrix
¶MatrixT | None
, default:None
) –Color Matrix to work in. Used for YUV <-> RGB conversions. Default: Get matrix from the input clip.
-
transfer
¶TransferT | None
, default:None
) –Transfer to work in. Default: Get transfer from the input clip.
-
primaries
¶PrimariesT | None
, default:None
) –Color primaries to work in. Default: Get primaries from the input clip.
-
range_in
¶ColorRangeT | None
, default:None
) –Color Range to work in. Default: Get the color range from the input clip.
-
chromaloc
¶ChromaLocationT | None
, default:None
) –Chroma location to work in. Default: Get the chroma location from the input clip.
-
order
¶FieldBasedT | None
, default:None
) –Field order to work in. Default: Get the field order from the input clip.
Methods:
-
chroma_planes
–Get a list of all chroma planes in the normalised clip.
-
chromaloc
–Get the clip's chroma location.
-
color_range
–Get the clip's color range.
-
matrix
–Get the clip's matrix.
-
norm_clip
–Get a "normalized" clip. This means color space and bitdepth are converted if necessary.
-
norm_seq
–Normalize a value or sequence to a list mapped to the clip's planes.
-
normalize_planes
–Normalize the given sequence of planes.
-
order
–Get the clip's field order.
-
primaries
–Get the clip's primaries.
-
return_clip
–Merge back the chroma if necessary and convert the processed clip back to the original clip's format.
-
transfer
–Get the clip's transfer.
-
with_planes
– -
without_planes
– -
work_clip
–Get the "work clip" as specified from the input planes.
Attributes:
-
allowed_cfamilies
– -
bitdepth
– -
cfamily_converted
– -
chroma
(bool
) –Whether any chroma planes get processed.
-
chroma_only
(bool
) –Whether only chroma planes get processed.
-
chroma_pplanes
(list[int]
) –A list of which chroma planes get processed based on the work clip.
-
clip
– -
func
– -
is_float
(bool
) –Whether the clip is of a float sample type.
-
is_hd
(bool
) –Whether the clip is of an HD resolution (>= 1280x720).
-
is_integer
(bool
) –Whether the clip is of an integer sample type.
-
luma
(bool
) –Whether the luma gets processed.
-
luma_only
(bool
) –Whether luma is the only channel that gets processed.
-
norm_planes
– -
num_planes
– -
planes
–
Source code in vstools/functions/funcs.py
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
chroma_pplanes property
¶
A list of which chroma planes get processed based on the work clip.
This means that if you pass [0, 1, 2] but passed a GRAY clip, it will only return [0]. Similarly, if you pass GRAY and it gets converted to RGB, this will return [0, 1, 2].
chroma_planes ¶
chroma_planes() -> list[VideoNode]
Get a list of all chroma planes in the normalised clip.
Source code in vstools/functions/funcs.py
194 195 196 197 198 199 200 201 202 203 |
|
chromaloc ¶
chromaloc() -> ChromaLocation
Get the clip's chroma location.
Source code in vstools/functions/funcs.py
237 238 239 240 241 242 243 |
|
color_range ¶
color_range() -> ColorRange
Get the clip's color range.
Source code in vstools/functions/funcs.py
229 230 231 232 233 234 235 |
|
matrix ¶
matrix() -> Matrix
Get the clip's matrix.
Source code in vstools/functions/funcs.py
205 206 207 208 209 210 211 |
|
norm_clip ¶
norm_clip() -> ConstantFormatVideoNode
Get a "normalized" clip. This means color space and bitdepth are converted if necessary.
Source code in vstools/functions/funcs.py
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
|
norm_seq ¶
Normalize a value or sequence to a list mapped to the clip's planes. Unprocessed planes will be set to the given "null" value.
Source code in vstools/functions/funcs.py
366 367 368 369 370 371 372 |
|
normalize_planes ¶
Normalize the given sequence of planes.
Source code in vstools/functions/funcs.py
320 321 322 323 324 325 |
|
order ¶
order() -> FieldBased
Get the clip's field order.
Source code in vstools/functions/funcs.py
245 246 247 248 249 250 251 |
|
primaries ¶
primaries() -> Primaries
Get the clip's primaries.
Source code in vstools/functions/funcs.py
221 222 223 224 225 226 227 |
|
return_clip ¶
return_clip(processed: VideoNode) -> ConstantFormatVideoNode
Merge back the chroma if necessary and convert the processed clip back to the original clip's format. If bitdepth != None
, the bitdepth will also be converted if necessary.
Parameters:
-
processed
¶VideoNode
) –The clip with all the processing applied to it.
Returns:
-
ConstantFormatVideoNode
–Processed clip converted back to the original input clip's format.
Source code in vstools/functions/funcs.py
333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 |
|
transfer ¶
transfer() -> Transfer
Get the clip's transfer.
Source code in vstools/functions/funcs.py
213 214 215 216 217 218 219 |
|
with_planes ¶
Source code in vstools/functions/funcs.py
327 328 |
|
without_planes ¶
Source code in vstools/functions/funcs.py
330 331 |
|
work_clip ¶
work_clip() -> ConstantFormatVideoNode
Get the "work clip" as specified from the input planes.
Source code in vstools/functions/funcs.py
186 187 188 189 190 191 192 |
|