Table of Contents

Class D3D12UVRemapMap

Namespace
VisioForge.Core.Types.X.VideoEffects
Assembly
VisioForge.Core.dll

A UV remap map for the Direct3D 12 remap block: for every point of the output frame, the point of the input frame it shows. The map is stretched over the output frame, so its size does not have to match the video's. The map is copied when it is created; changing the source array afterwards does not change the map.

[JsonConverter(typeof(D3D12UVRemapMapJsonConverter))]
public class D3D12UVRemapMap

Inheritance

Inherited Members

Constructors

D3D12UVRemapMap(int, int, ushort[])

Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap class.

public D3D12UVRemapMap(int width, int height, ushort[] data)

Parameters

width int

The width of the map, from 1 to VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap.MaxSize.

height int

The height of the map, from 1 to VisioForge.Core.Types.X.VideoEffects.D3D12UVRemapMap.MaxSize.

data ushort[]

Four values per map point, row by row from the top left: U, V, unused and mask. U and V are the horizontal and vertical position in the input frame, 0 to 65535 for 0 to 1 of its width and height. A mask of 32768 or more shows the input at U, V; a smaller one shows the background (black). The length must be width * height * 4.

Exceptions

ArgumentNullException

data is null.

ArgumentOutOfRangeException

width or height is out of range.

ArgumentException

data does not have width * height * 4 values.

Fields

MaxSize

The largest width or height of a map: the Direct3D 12 limit for a 2D texture. A map takes 8 bytes per point, and the copy made at creation as many again: a 16384x16384 map is 2 GB, beyond the .NET Framework's array limit unless gcAllowVeryLargeObjects is set. A map the size of the video is plenty.

public const int MaxSize = 16384

Field Value

int

Properties

Height

Gets the height of the map.

public int Height { get; }

Property Value

int

Width

Gets the width of the map.

public int Width { get; }

Property Value

int