Files
UnrealEngineUWP/Engine/Source/Runtime/AVEncoder/Private/VideoDecoderInput.cpp
will brown 0b34b68dcd [Backout] - CL32235200 - CIS Compile Error
[FYI] William.Belcher
Original CL Desc
-----------------------------------------------------------------
QOL: Deprecate AVEncoder (for removal) and its dependencies (to be moved to plugins)

#rb Luke.Bermingham
#jira UE-174651
[FYI]

[CL 32237625 by will brown in ue5-main branch]
2024-03-14 00:41:57 -04:00

70 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "VideoDecoderInput.h"
namespace AVEncoder
{
class FVideoDecoderInputImpl : public FVideoDecoderInput
{
public:
virtual ~FVideoDecoderInputImpl() = default;
FVideoDecoderInputImpl(const FInputData& InInputData);
virtual int32 GetWidth() const override
{ return Width; }
virtual int32 GetHeight() const override
{ return Height; }
virtual int64 GetPTS() const override
{ return PTS; }
virtual const void* GetData() const override
{ return AccessUnit; }
virtual int32 GetDataSize() const override
{ return AccessUnitSize; }
virtual bool IsKeyframe() const override
{ return bIsKeyframe; }
virtual bool IsCompleteFrame() const override
{ return bIsCompleteFrame; }
virtual bool HasMissingFrames() const override
{ return bMissingFrames; }
virtual int32 GetRotation() const override
{ return Rotation; }
virtual int32 GetContentType() const override
{ return ContentType; }
private:
const void* AccessUnit;
int64 PTS;
int32 AccessUnitSize;
int32 Width;
int32 Height;
int32 Rotation;
int32 ContentType;
bool bIsKeyframe;
bool bIsCompleteFrame;
bool bMissingFrames;
};
TSharedPtr<FVideoDecoderInput> FVideoDecoderInput::Create(const FInputData& InInputData)
{
return MakeShared<FVideoDecoderInputImpl>(InInputData);
}
FVideoDecoderInputImpl::FVideoDecoderInputImpl(const FInputData& InInputData)
{
AccessUnit = InInputData.EncodedData;
AccessUnitSize = InInputData.EncodedDataSize;
PTS = InInputData.PTS;
Width = InInputData.Width;
Height = InInputData.Height;
Rotation = InInputData.Rotation;
ContentType = InInputData.ContentType;
bIsKeyframe = InInputData.bIsKeyframe;
bIsCompleteFrame = InInputData.bIsComplete;
bMissingFrames = InInputData.bMissingFrames;
}
} /* namespace AVEncoder */