Navigation
| Name | AVCodecsCore |
| Type | Plugin |
| Part of Plugins | AVCodecs Core |
| Location | /Engine/Plugins/Experimental/AVCodecs/AVCodecsCore/Source/AVCodecsCore/ |
| Module Build Rules | AVCodecsCore.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FAPI | API abstraction with static singletons. |
| FAudioContextCPU | CPU audio context and resource. |
| FAudioResource | Base wrapper for a audio device resource. |
| FAudioResourceCPU | |
| FAVContext | Base class for device contexts, for use by resources and platform vendor architecture |
| FAVDevice | A representation of a physical computer device, be it a GPU or a CPU or an external device, that can hold device resource contexts (Vulkan, D3D, CUDA, etc). |
| FAVInstance | The shared data and logic of a single logical pipeline, usually one or more coders. |
| FAVResource | Base wrapper for an immutable device resource. |
| FCodecSpecificInfoUnion | |
| FFrameDependencyStructure | |
| FFrameDependencyTemplate | |
| FGenericFrameInfo | |
| FResolvableVideoResourceCPU | |
| FScalabilityStructureFullSvc | |
| FScalabilityStructureKeySvc | |
| FScalabilityStructureL1T2 | T1 0 0 / / / ... T0 000 Time-> 0 1 2 3 4 |
| FScalabilityStructureL1T3 | T2 0 0 0 0 | / | / T1 / 0 / 0 ... |/ |/ T0 0----0--- Time-> 0 1 2 3 4 5 6 7 |
| FScalabilityStructureL2T1 | S1 000- | | | ... S0 000- |
| FScalabilityStructureL2T1Key | S1 000- | ... S0 000- |
| FScalabilityStructureL2T2 | S1T1 0 0 /| /| / S1T0 0-+-0-+-0 | | | | | ... S0T1 | 0 | 0 | |/ |/ |/ S0T0 000 Time-> 0 1 2 3 4 |
| FScalabilityStructureL2T2Key | S1T1 0 0 / / / S1T0 000 | ... S0T1 | 0 0 |/ / / S0T0 000 Time-> 0 1 2 3 4 |
| FScalabilityStructureL2T2KeyShift | S1T1 0 0 / / / S1T0 000 | ... S0T1 | 0 0 | / / S0T0 0-00 Time-> 0 1 2 3 4 |
| FScalabilityStructureL2T3 | S1T2 4 ,8 S1T1 / | 6' | S1T0 2+-'++-... |
| FScalabilityStructureL2T3Key | |
| FScalabilityStructureL3T1 | S2 0-0-0- | | | S1 0-0-0-... | | | S0 0-0-0- Time-> 0 1 2 |
| FScalabilityStructureL3T1Key | |
| FScalabilityStructureL3T2 | https://www.w3.org/TR/webrtc-svc/#L3T2* |
| FScalabilityStructureL3T2Key | |
| FScalabilityStructureL3T3 | https://www.w3.org/TR/webrtc-svc/#L3T3* |
| FScalabilityStructureL3T3Key | |
| FScalabilityStructureS2T1 | S1 000- ... S0 000- |
| FScalabilityStructureS2T2 | |
| FScalabilityStructureS2T3 | S1T2 3 7 | / S1T1 / 5 |_/ S1T0 1----9... |
| FScalabilityStructureS3T1 | |
| FScalabilityStructureS3T2 | |
| FScalabilityStructureS3T3 | |
| FScalabilityStructureSimulcast | Scalability structure with multiple independent spatial layers each with the same temporal layering. |
| FScalableVideoController | Controls how video should be encoded to be scalable. |
| FScalableVideoControllerNoLayering | |
| FVideoBitrateAllocation | |
| FVideoBitrateAllocationParameters | |
| FVideoBitrateAllocator | |
| FVideoBitrateAllocatorSVC | |
| FVideoContextCPU | CPU video context and resource. |
| FVideoContextVulkan | Vulkan platform video context and resource. |
| FVideoResource | Base wrapper for a video device resource. |
| FVideoResourceCPU | |
| FVideoResourceVulkan | |
| TAudioDecoder | Audio decoder with a factory, that supports typesafe resource handling and configuration. |
| TAudioEncoder | Audio encoder with a factory, that supports typesafe resource handling and configuration. |
| TAudioResource | Convenience wrapper for a audio device resource that requires a specific device context to function. |
| TAVCoder | HOW TO USE |
| TDelegated | Delegate-based implementation of TResolvable. |
| TPooledAudioResource | A simple pool-based resolvable audio resource. |
| TPooledVideoResource | A simple pool-based resolvable video resource. |
| TResolvable | All generic (non-AV) utility types. |
| TStreamVideoDecoder | Configuration-less decoder that detects the bitstream type and creates an appropriate child decoder that can handle it. |
| TTypeMap | Typed map of objects that are uniquely indexed by their type. |
| TVideoDecoder | Video decoder with a factory, that supports typesafe resource handling and configuration. |
| TVideoEncoder | Video encoder with a factory, that supports typesafe resource handling and configuration. |
| TVideoResource | Convenience wrapper for a video device resource that requires a specific device context to function. |
Structs
| Name | Remarks |
|---|---|
| FAudioDecoderConfig | Implementation of Audio Decoding domain, see TAVCoder for inheritance model |
| FAudioDescriptor | Enum class EAudioFormat : uint8 { // TODO (Andrew) }; ????? inline bool operator==(EPixelFormat LHS, EAudioFormat RHS) { return static_cast |
| FAudioEncoderConfig | Implementation of Audio Encoding domain, see TAVCoder for inheritance model |
| FAudioEncoderConfigAAC | Configuration settings for AAC encoders. |
| FAudioPacket | Audio-specific packet container. |
| FAVConfig | Base struct for codec configuration. |
| FAVExtension | HOW TO USE |
| FAVLayout | This struct defines the memory footprint of a block of data. |
| FAVPacket | Base container for raw encoded AV resources, created by encoders and consumed by decoders. |
| FAVResult | Primary AV result type. |
| FBitstreamReader | Simple wrapper for typed reads from a bitstream. |
| FBitstreamSegment | Base class for a compressed block of bitstream data. |
| FCodecBufferUsage | |
| FCodecSpecificInfo | |
| FCodecSpecificInfoH264 | |
| FCodecSpecificInfoVP8 | |
| FCodecSpecificInfoVP9 | |
| FGroupOfFramesInfo | |
| FH264ProfileDefinition | |
| FH265ChromaInfo | |
| FH265ProfileDefinition | |
| FNalu | |
| FNaluH264 | |
| FNaluH265 | |
| FSpatialLayer | TODO (william.belcher): Use reasonable defaults set elsewhere. |
| FTypeID | A simple type-erased type identifier, without the use of RTTI or the unreal type system. |
| FVideoConfig | |
| FVideoDecoderConfig | Implementation of Video Decoding domain, see TAVCoder for inheritance model |
| FVideoDecoderConfigAV1 | Configuration settings for AV1 decoders. |
| FVideoDecoderConfigH264 | Configuration settings for H264 decoders. |
| FVideoDecoderConfigH265 | Configuration settings for H265 decoders. |
| FVideoDecoderConfigVP8 | Configuration settings for VP8 decoders. |
| FVideoDecoderConfigVP9 | Configuration settings for VP9 decoders. |
| FVideoDescriptor | This struct defines how the allocated resource memory is used in the context of a video. |
| FVideoEncoderConfig | TODO (william.belcher): Use reasonable defaults set elsewhere. |
| FVideoEncoderConfigAV1 | Configuration settings for AV1 encoders. |
| FVideoEncoderConfigH264 | Configuration settings for H264 encoders. |
| FVideoEncoderConfigH265 | Configuration settings for H265 encoders. |
| FVideoEncoderConfigVP8 | Configuration settings for VP8 encoders. |
| FVideoEncoderConfigVP9 | Configuration settings for VP9 encoders. |
| FVideoPacket | Video-specific packet container. |
| FVP8FrameConfig | |
| Header_t | |
| hrd_parameters_t | |
| PPS_t | |
| PPS_t | |
| profile_tier_level_t | |
| scaling_list_data_t | |
| SEI_t | SEI can transmit arbitrary data so we probably want something less rigid for this. |
| SEI_t | |
| short_term_ref_pic_set_t | |
| Slice_t | |
| Slice_t | |
| SPS_t | |
| SPS_t | |
| TAVResult | Templated AV result type that allows returning a result code and an optional value. |
| TBitSizeOf | |
| TScanOrder | |
| VPS_t |
Interfaces
| Name | Remarks |
|---|---|
| IAVCoder | Simple base coder interface |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FAudioDecoder | TAudioDecoder | Audio/AudioDecoder.h | |
| FAudioEncoder | TAudioEncoder | Audio/AudioEncoder.h | |
| FVideoDecoder | TVideoDecoder | Video/VideoDecoder.h | |
| FVideoEncoder | TVideoEncoder | Video/VideoEncoder.h | |
| FVulkanSharedHandle | int | Video/Resources/Vulkan/VideoResourceVulkan.h | |
| TBitSizeContainer | typename TTupleElement<(NumBits > 8)+(NumBits > 16)+(NumBits > 32), TTuple< uint8, uint16, uint32, uint64 > >::Type | Utils/BitstreamReader.h | |
| TDelegatedAudioResource | TDelegated< TResource, TSharedPtr< FAVDevice >, FAudioDescriptor > | Wrapper for delegated resolvable audio resources. | Audio/AudioResource.h |
| TDelegatedVideoResource | TDelegated< TResource, TSharedPtr< FAVDevice >, FVideoDescriptor > | Wrapper for delegated resolvable video resources. | Video/VideoResource.h |
| TResolvableAudioResource | TResolvable< TResource, TSharedPtr< FAVDevice >, FAudioDescriptor > | Wrapper for resolvable audio resources. | Audio/AudioResource.h |
| TResolvableVideoResource | TResolvable< TResource, TSharedPtr< FAVDevice >, FVideoDescriptor > | Wrapper for resolvable video resources. | Video/VideoResource.h |
Enums
Public
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Default_4x4_Inter | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| Default_4x4_Intra | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| Default_8x8_Inter | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| Default_8x8_Intra | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| DefaultScalingList | const scaling_list_data_t | Video/CodecUtils/CodecUtilsH265.h | ||
| FieldScan4x4 | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| FieldScan8x8 | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| GH264ProfileDefinitions | FH264ProfileDefinition | Video/CodecUtils/CodecUtilsH264.h | ||
| GH265ProfileDefinitions | FH265ProfileDefinition | Video/CodecUtils/CodecUtilsH265.h | ||
| MaxFramesInGof | size_t | Video/CodecUtils/CodecUtilsVP9.h | ||
| MaxNumberOfSpatialLayers | size_t | Video/CodecUtils/CodecUtilsVP9.h | ||
| MaxOneBytePictureId | int16 | Video/CodecUtils/CodecUtilsVP9.h | ||
| MaxRefPics | size_t | Video/CodecUtils/CodecUtilsVP9.h | ||
| MaxSimulcastStreams | int | AVConstants.h | ||
| MaxSpatialLayers | int | AVConstants.h | ||
| MaxTemporalStreams | int | AVConstants.h | ||
| MaxTwoBytePictureId | int16 | Video/CodecUtils/CodecUtilsVP9.h | ||
| MinSpatialLayerLongSideLength | size_t | Video/CodecUtils/CodecUtilsVP9.h | ||
| MinSpatialLayerShortSideLength | size_t | Video/CodecUtils/CodecUtilsVP9.h | ||
| NoGofIdx | uint8 | Video/CodecUtils/CodecUtilsVP9.h | ||
| NoSpatialIdx | uint8 | Video/CodecUtils/CodecUtilsVP9.h | ||
| NumBuffers | uint8 | Video/CodecUtils/CodecUtilsVP9.h | ||
| ScalabilityModeMap | TMap< FString, EScalabilityMode > const | Video/VideoEncoder.h | ||
| ZigZag4x4 | uint8 | Video/CodecUtils/CodecUtilsH264.h | ||
| ZigZag8x8 | uint8 | Video/CodecUtils/CodecUtilsH264.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TUniquePtr< FScalableVideoController > CreateScalabilityStructure
(
EScalabilityMode Name |
Video/Encoders/SVC/ScalabilityStructureFactory.h | ||
bool operator!=
(
EPixelFormat LHS, |
Video/VideoResource.h | ||
bool operator!=
(
EVideoFormat LHS, |
Video/VideoResource.h | ||
bool operator==
(
EPixelFormat LHS, |
Video/VideoResource.h | ||
bool operator==
(
EVideoFormat LHS, |
Video/VideoResource.h | ||
TOptional< EScalabilityMode > ScalabilityModeFromString
(
const FString& ModeString |
Video/VideoEncoder.h | ||
TOptional< FScalableVideoController::FStreamLayersConfig > ScalabilityStructureConfig
(
EScalabilityMode Name |
Returns description of the scalability structure identified by 'name', Return nullopt for unknown name. | Video/Encoders/SVC/ScalabilityStructureFactory.h | |
| AVResult string parser. | AVResult.h | ||
int32 UE::AVCodecCore::H264::EBSPtoRBSP
(
uint8* OutBuf, |
Video/CodecUtils/CodecUtilsH264.h | ||
EH264ConstraintFlag UE::AVCodecCore::H264::operator&
(
EH264ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH264.h | ||
uint8 UE::AVCodecCore::H264::operator&
(
uint8 const& lhs, |
Video/CodecUtils/CodecUtilsH264.h | ||
EH264ConstraintFlag UE::AVCodecCore::H264::operator|
(
EH264ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH264.h | ||
EH264ConstraintFlag UE::AVCodecCore::H264::operator|=
(
EH264ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH264.h | ||
bool UE::AVCodecCore::H264::operator==
(
EH264ConstraintFlag lhs, |
Video/CodecUtils/CodecUtilsH264.h | ||
void UE::AVCodecCore::H264::ScaleListToWeightScale
(
const bool bIsFrame, |
Video/CodecUtils/CodecUtilsH264.h | ||
bool UE::AVCodecCore::H265::CheckProfileCompatabilityFlag
(
uint32 const& profile_compatibility_flag, |
Video/CodecUtils/CodecUtilsH265.h | ||
int32 UE::AVCodecCore::H265::EBSPtoRBSP
(
uint8* OutBuf, |
Video/CodecUtils/CodecUtilsH265.h | ||
EH265ConstraintFlag UE::AVCodecCore::H265::operator&
(
EH265ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH265.h | ||
uint8 UE::AVCodecCore::H265::operator&
(
uint16 const& lhs, |
Video/CodecUtils/CodecUtilsH265.h | ||
EH265ConstraintFlag UE::AVCodecCore::H265::operator|
(
EH265ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH265.h | ||
EH265ConstraintFlag UE::AVCodecCore::H265::operator|=
(
EH265ConstraintFlag const& lhs, |
Video/CodecUtils/CodecUtilsH265.h | ||
bool UE::AVCodecCore::H265::operator==
(
EH265ConstraintFlag lhs, |
Video/CodecUtils/CodecUtilsH265.h | ||
bool UE::AVCodecCore::VP8::operator!
(
EBufferFlags E |
Video/CodecUtils/CodecUtilsVP8.h | ||
bool UE::AVCodecCore::VP8::operator!
(
EBufferType E |
Video/CodecUtils/CodecUtilsVP8.h | ||
| Video/CodecUtils/CodecUtilsVP8.h | |||
EBufferType UE::AVCodecCore::VP8::operator&
(
EBufferType Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferFlags & UE::AVCodecCore::VP8::operator&=
(
EBufferFlags& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferType & UE::AVCodecCore::VP8::operator&=
(
EBufferType& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
| Video/CodecUtils/CodecUtilsVP8.h | |||
EBufferType UE::AVCodecCore::VP8::operator^
(
EBufferType Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferFlags & UE::AVCodecCore::VP8::operator^=
(
EBufferFlags& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferType & UE::AVCodecCore::VP8::operator^=
(
EBufferType& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
| Video/CodecUtils/CodecUtilsVP8.h | |||
EBufferType UE::AVCodecCore::VP8::operator|
(
EBufferType Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferFlags & UE::AVCodecCore::VP8::operator|=
(
EBufferFlags& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
EBufferType & UE::AVCodecCore::VP8::operator|=
(
EBufferType& Lhs, |
Video/CodecUtils/CodecUtilsVP8.h | ||
| Video/CodecUtils/CodecUtilsVP8.h | |||
| Video/CodecUtils/CodecUtilsVP8.h |