FVideoEncoderInput

Windows
MacOS
Linux

References

Module

AVEncoder

Header

/Engine/Source/Runtime/AVEncoder/Public/VideoEncoderInput.h

Include

#include "VideoEncoderInput.h"

Syntax

class FVideoEncoderInput

Variables

Name Description

Protected variable

bool

 

bIsResizable

Protected variable

EVideoFrameForm...

 

FrameFormat

Protected variable

uint32

 

Height

Protected variable

uint32

 

Width

Constructors

Name Description

Protected function

FVideoEncoderInput()

Protected function

FVideoEncoderInput

(
    const FVideoEncoderInput&
)

Destructors

Name Description

Protected function Virtual

~FVideoEncoderInput()

Functions

Name Description

Public function

FVideoEncode...

 

CreateBuffer

(
    OnFrameReleasedCallback InOnFrameRe...
)

Create a user managed buffer

Public function Static

TSharedPtr< ...

 

CreateDummy

(
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

Construct video encoder input based on expected input frame format

Public function Static

TSharedPtr< ...

 

CreateForCUDA

(
    void* InApplicationCudaContext,
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

Create input for an encoder that encodes a CUarray in the context of a CUcontext (i.e. nvenc)

Public function Static

TSharedPtr< ...

 

CreateForD3D11

(
    void* InApplicationD3D11Device,
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

Create input for an encoder that encodes a D3D11 texture

Public function Static

TSharedPtr< ...

 

CreateForD3D12

(
    void* InApplicationD3D12Device,
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

TODO (M84FIX) AMF can work with this but also can handle raw D3D12 textures we should add support for that too create input for an encoder that encodes a D3D12 texture in the context of a D3D11 device (i.e. nvenc)

Public function Static

TSharedPtr< ...

 

CreateForVulkan

(
    void* InApplicationVulkanDevic...,
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

Create input for an encoder that encodes a VkImage in the context of a VkDevice (i.e. Amf)

Public function Static

TSharedPtr< ...

 

CreateForYUV420P

(
    uint32 InWidth,
    uint32 InHeight,
    bool isResizable
)

Public function

void

 

DestroyBuffer

(
    FVideoEncoderInputFrame* Buffe...
)

Destroy user managed buffer

Public function

void

 

Flush()

Destroy/release any frames that are not currently in use

Public function

const TArray...

 

GetAvailableEncoders()

Get a list of supported video encoders

Public function Const

EVideoFrameF...

 

GetFrameFormat()

Public function

FVideoEncode...

 

ObtainInputFrame()

Obtain a video frame that can be used as a buffer for input to a video encoder

Public function

void

 

ReleaseInputFrame

(
    FVideoEncoderInputFrame* InFra...
)

Release (free) an input frame and make it available for future use

Public function Virtual

void

 

SetResolution

(
    uint32 InWidth,
    uint32 InHeight
)

Properties

Operators

Name Description

Protected function

FVideoEncode...

 

operator=

(
    const FVideoEncoderInput&
)

Typedefs

Name

Description

OnFrameReleasedCallback

New packet callback prototype void(uint32 LayerIndex, const FCodecPacket& Packet)

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