FLinearTimecodeDecoder

Copyright Epic Games, Inc. All Rights Reserved.

Windows
MacOS
Linux

References

Module

LinearTimecode

Header

/Engine/Plugins/Media/LinearTimecode/Source/LinearTimecode/Public/LinearTimecodeDecoder.h

Include

#include "LinearTimecodeDecoder.h"

Syntax

class FLinearTimecodeDecoder

Remarks

Process audio samples to extract Linear Timecode Signal

Variables

Name Description

Protected variable

bool

 

bCurrent

Helper to detect zero crossings/edges of the input signal.

Protected variable

bool

 

bFlip

Indicates that we're expecting the second half of a logical 1.

Protected variable

float

 

Center

Sample value to detect zero crossings/edges of the input signal.

Protected variable

int32

 

Clock

Counts number of samples since last edge.

Protected variable

int32

 

Cycles

Estimates number of samples for a logical 1 in the LTC stream.

Protected variable

int32

 

FrameMax

Keeps track of largest frame value received, helps estimate FrameRate.

Protected variable

int32

 

FrameRate

Tries to infer FrameRate based on frame value rollovers.

Public variable

int32

 

MaxSamplesPerEdge

Maximum allowable samples per edge in the signal. Helps filter out noise.

Public variable

int32

 

MinSamplesPerEdge

Minimum allowable samples per edge in the signal. Helps filter out noise.

Protected variable

uint16[6]

 

TimecodeBits

Holds the stream to be decoded as bits come in.

Constructors

Name Description

Public function

FLinearTimecodeDecoder()

Public interface, methods

Functions

Name Description

Protected function Const

int32

 

AdjustCycles

(
    int32 InClock
)

Tries to calculate the number of clocks per bit.

Protected function

void

 

DecodeBitStream

(
    uint16* InBitStream,
    EDecodePattern* InDecodePatern,
    int32 InForward,
    FDropTimecode& OutTimeCode
)

Protected function

bool

 

DecodeFrame

(
    uint16* InBitStream,
    FDropTimecode& OutTimeCode
)

Protected function Const

bool

 

HasCompleteFrame

(
    uint16* InBitStream
)

Public function

void

 

Reset()

Flush internal state of timecode reader

Public function

bool

 

Sample

(
    float InSample,
    FDropTimecode& OutTimeCode
)

Analyze a single sample, looking for a time code pattern

Protected function Const

void

 

ShiftAndInsert

(
    uint16* InBitStream,
    bool InBit
)

Add bit to decoded stream.

Classes

Name

Description

Protected struct

EDecodePattern

Used to extract timecode from bit stream

Constants

Name

Description

BackwardPattern

ForwardPattern

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss