Vhs

class Vhs(val intensity: Float = 1.0f, val tape: TapeSpeed = TapeSpeed.EP, val seed: Int = DEFAULT_SEED) : EffectSpec(source)

Makes the frame look like it was played back from a VHS tape.

Softens luma and smears chroma along each line, wobbles the lines, bends the bottom of the frame like a head switch, and adds streaky noise, dropouts and the odd tracking band. The pattern is a function of the frame's composition time and its height as a fraction, so a seek or a smaller preview shows the same tape.

The effect runs over the fill and under any overlay at the same scope, so a caption added next to it stays clean. A clip overlay under a composition Vhs is part of the clip's frame by then, and is burned in with it.

An HDR source tone maps to SDR first. HdrMode.Auto reports that as a concession naming this effect, and HdrMode.KeepHdr is refused.

Register the renderer with filters() on the builder. Without it plan refuses the effect by name. An Apple device that cannot compile a Core Image Metal kernel, which takes an Apple6 GPU on iOS or on macOS 12, refuses it by name too.

Throws

when intensity is outside 0f..1f.

Constructors

Link copied to clipboard
constructor(intensity: Float = 1.0f, tape: TapeSpeed = TapeSpeed.EP, seed: Int = DEFAULT_SEED)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val beneathOverlays: Boolean
Link copied to clipboard
open override val id: String
Link copied to clipboard

How strong the look is, from 0f which leaves the frame alone to 1f.

Link copied to clipboard
open override val isInert: Boolean
Link copied to clipboard
open override val requiresSdr: Boolean
Link copied to clipboard
open val scope: EffectScope
Link copied to clipboard
val seed: Int

Picks the pattern of noise and events. Equal seeds draw the same tape.

Link copied to clipboard
open override val stage: EffectStage
Link copied to clipboard

The tape speed, which sets how soft the picture is.