441 if (
this != &MoveFrom)
570 UE_DEPRECATED(5.3,
"TransformToWorkingColorSpace is deprecated, please use the function in FImageCore.")
826 bMipInfoValid &= (MipInfo.Width > 0 && MipInfo.Height > 0 && MipInfo.Size > 0);
865 MipInfo.
Width = Width;
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
EGammaSpace
Definition Color.h:32
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
TRefCountPtr< const struct FSharedImage > FSharedImageConstRef
Definition ImageCore.h:744
TRefCountPtr< struct FSharedImage > FSharedImageRef
Definition ImageCore.h:743
IMAGECORE_API int32 ImageParallelForComputeNumJobsForPixels(int64 &OutNumPixelsPerJob, int64 NumPixels)
Definition ImageCore.cpp:123
IMAGECORE_API int32 ImageParallelForComputeNumJobsForRows(int32 &OutNumItemsPerJob, int64 SizeX, int64 SizeY)
Definition ImageCore.cpp:144
void Init()
Definition LockFreeList.h:4
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition CompactBinary.h:1392
Definition Float16Color.h:13
Definition RefCounting.h:283
Definition RefCounting.h:454
Definition ImageCore.cpp:1836
IMAGECORE_API void ComputeChannelLinearMinMax(const FImageView &InImage, FLinearColor &OutMin, FLinearColor &OutMax)
Definition ImageParallelFor.cpp:356
IMAGECORE_API void TransformToWorkingColorSpace(const FImageView &InLinearImage, const FVector2d &SourceRedChromaticity, const FVector2d &SourceGreenChromaticity, const FVector2d &SourceBlueChromaticity, const FVector2d &SourceWhiteChromaticity, UE::Color::EChromaticAdaptationMethod Method, double EqualityTolerance=1.e-7)
Definition ImageCore.cpp:1745
EResizeImageFilter
Definition ImageCore.h:1021
IMAGECORE_API void ResizeImageInPlace(FImage &Image, int32 DestSizeX, int32 DestSizeY, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace, EResizeImageFilter Filter=EResizeImageFilter::Default)
Definition ImageCore.cpp:2301
IMAGECORE_API void ResizeTo(const FImageView &SourceImage, FImage &DestImage, int32 DestSizeX, int32 DestSizeY, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace)
Definition ImageCore.cpp:1056
IMAGECORE_API FLinearColor ComputeImageLinearAverage(const FImageView &Image)
Definition ImageParallelFor.cpp:82
IMAGECORE_API void TransposeImageRGBABGRA(const FImageView &Image)
Definition ImageCore.cpp:357
IMAGECORE_API void ResizeImageAllocDest(const FImageView &SourceImage, FImage &DestImage, int32 DestSizeX, int32 DestSizeY, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace, EResizeImageFilter Filter=EResizeImageFilter::Default)
Definition ImageCore.cpp:2276
IMAGECORE_API bool DetectAlphaChannel(const FImageView &InImage)
Definition ImageCore.cpp:1581
IMAGECORE_API void CopyImage(const FImageView &SrcImage, const FImageView &DestImage)
Definition ImageCore.cpp:369
IMAGECORE_API void SanitizeFloat16AndSetAlphaOpaqueForBC6H(const FImageView &InOutImage)
Definition ImageCore.cpp:1559
IMAGECORE_API bool ScaleChannelsSoMinMaxIsInZeroToOne(const FImageView &ImageToModify)
Definition ImageParallelFor.cpp:536
IMAGECORE_API void SetAlphaOpaque(const FImageView &InImage)
Definition ImageCore.cpp:1733
IMAGECORE_API void ResizeImage(const FImageView &SourceImage, const FImageView &DestImage, EResizeImageFilter Filter=EResizeImageFilter::Default)
Definition ImageCore.cpp:2106
IMAGECORE_API void CopyImageTo2U16(const FImageView &SrcImage, const FImageView &DestImage)
Definition ImageCore.cpp:249
IMAGECORE_API void CopyImageRGBABGRA(const FImageView &SrcImage, const FImageView &DestImage)
Definition ImageCore.cpp:311
EChromaticAdaptationMethod
Definition ColorManagementDefines.h:72
Definition AdvancedWidgetsModule.cpp:13
Definition ImageCore.h:139
int32 NumSlices
Definition ImageCore.h:147
FImageInfo(int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
Definition ImageCore.h:157
int32 SizeY
Definition ImageCore.h:144
int64 GetBytesPerPixel() const
Definition ImageCore.h:195
bool IsImageInfoValid() const
Definition ImageCore.h:176
int64 GetSliceNumPixels() const
Definition ImageCore.h:210
int64 GetWidth() const
Definition ImageCore.h:220
FImageInfo()
Definition ImageCore.h:155
IMAGECORE_API bool ImageInfoFromCompactBinary(const FCbObject &InObject)
Definition ImageCore.cpp:1792
int64 GetImageSizeBytes() const
Definition ImageCore.h:205
int64 GetSliceSizeBytes() const
Definition ImageCore.h:215
int64 GetNumPixels() const
Definition ImageCore.h:200
bool operator==(const FImageInfo &rhs) const
Definition ImageCore.h:166
int64 GetHeight() const
Definition ImageCore.h:221
bool IsGammaCorrected() const
Definition ImageCore.h:185
int64 GetPixelOffsetBytes(int32 X, int32 Y, int32 Slice=0) const
Definition ImageCore.h:234
int32 SizeX
Definition ImageCore.h:141
ERawImageFormat::Type Format
Definition ImageCore.h:150
IMAGECORE_API void ImageInfoToCompactBinary(class FCbObject &OutObject) const
Definition ImageCore.cpp:1778
EGammaSpace GetGammaSpace() const
Definition ImageCore.h:225
int64 GetStrideBytes() const
Definition ImageCore.h:223
EGammaSpace GammaSpace
Definition ImageCore.h:153
Definition ImageCore.h:264
TArrayView64< FColor > AsBGRA8() const
Definition ImageCore.h:368
FImageView(void *InData, int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
Definition ImageCore.h:306
TArrayView64< uint16 > AsRGBA16() const
Definition ImageCore.h:380
FImageView(const FImageInfo &InInfo, void *InRawData)
Definition ImageCore.h:269
IMAGECORE_API void CopyTo(FImage &DestImage, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace) const
Definition ImageCore.cpp:1033
FImageView(const FLinearColor *InColors, int32 InSizeX, int32 InSizeY)
Definition ImageCore.h:285
FImageView(const FFloat16Color *InColors, int32 InSizeX, int32 InSizeY)
Definition ImageCore.h:296
FImageView(void *InData, int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat)
Definition ImageCore.h:312
void CopyTo(FImage &DestImage) const
Definition ImageCore.h:331
TArrayView64< uint16 > AsG16() const
Definition ImageCore.h:362
TArrayView64< FFloat16 > AsR16F() const
Definition ImageCore.h:399
const FLinearColor GetOnePixelLinear(int32 X, int32 Y, int32 Slice=0) const
Definition ImageCore.h:345
TArrayView64< float > AsR32F() const
Definition ImageCore.h:405
FImageView(const FColor *InColors, int32 InSizeX, int32 InSizeY, EGammaSpace InGammaSpace=EGammaSpace::sRGB)
Definition ImageCore.h:274
FImageView()
Definition ImageCore.h:267
IMAGECORE_API FImageView GetSlice(int32 SliceIndex) const
Definition ImageCore.cpp:1061
TArrayView64< FColor > AsBGRE8() const
Definition ImageCore.h:374
TArrayView64< uint8 > AsG8() const
Definition ImageCore.h:356
TArrayView64< FLinearColor > AsRGBA32F() const
Definition ImageCore.h:392
TArrayView64< FFloat16Color > AsRGBA16F() const
Definition ImageCore.h:386
void * GetPixelPointer(int32 X, int32 Y, int32 Slice=0) const
Definition ImageCore.h:337
void * RawData
Definition ImageCore.h:265
Definition ImageCore.h:416
IMAGECORE_API void ResizeTo(FImage &DestImage, int32 DestSizeX, int32 DestSizeY, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace) const
Definition ImageCore.cpp:1050
IMAGECORE_API FImageView GetSlice(int32 SliceIndex) const
Definition ImageCore.cpp:1071
FImage(const FImage &CopyFrom)=default
FImage & operator=(FImage &&MoveFrom)
Definition ImageCore.h:439
IMAGECORE_API void Linearize(uint8 SourceEncoding, FImage &DestImage) const
Definition ImageCore.cpp:1082
TArrayView64< const uint16 > AsRGBA16() const
Definition ImageCore.h:712
TArrayView64< uint8 > AsG8()
Definition ImageCore.h:632
FImage & operator=(const FImage &CopyFrom)=default
TArrayView64< const uint8 > AsG8() const
Definition ImageCore.h:688
TArrayView64< FFloat16 > AsR16F()
Definition ImageCore.h:674
TArray64< uint8 > RawData
Definition ImageCore.h:418
TArrayView64< FFloat16Color > AsRGBA16F()
Definition ImageCore.h:662
void Reset()
Definition ImageCore.h:502
TArrayView64< FLinearColor > AsRGBA32F()
Definition ImageCore.h:668
TArrayView64< float > AsR32F()
Definition ImageCore.h:680
TArrayView64< const FColor > AsBGRE8() const
Definition ImageCore.h:706
void Linearize(FImage &DestImage) const
Definition ImageCore.h:565
void Init(int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat)
Definition ImageCore.h:601
TArrayView64< uint16 > AsG16()
Definition ImageCore.h:638
FImage()
Definition ImageCore.h:425
FImage(FImage &&MoveFrom)
Definition ImageCore.h:433
TArrayView64< uint16 > AsRGBA16()
Definition ImageCore.h:656
const FLinearColor GetOnePixelLinear(int32 X, int32 Y, int32 Slice=0) const
Definition ImageCore.h:622
void Swap(FImage &Other)
Definition ImageCore.h:494
TArrayView64< const FColor > AsBGRA8() const
Definition ImageCore.h:700
TArrayView64< const FLinearColor > AsRGBA32F() const
Definition ImageCore.h:724
FImage(int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat)
Definition ImageCore.h:480
TArrayView64< const uint16 > AsG16() const
Definition ImageCore.h:694
FImage(int32 InSizeX, int32 InSizeY, int32 InNumSlices, ERawImageFormat::Type InFormat)
Definition ImageCore.h:461
IMAGECORE_API void TransformToWorkingColorSpace(const FVector2d &SourceRedChromaticity, const FVector2d &SourceGreenChromaticity, const FVector2d &SourceBlueChromaticity, const FVector2d &SourceWhiteChromaticity, UE::Color::EChromaticAdaptationMethod Method, double EqualityTolerance=1.e-7)
Definition ImageCore.cpp:925
void CopyTo(FImage &DestImage) const
Definition ImageCore.h:531
TArrayView64< const FFloat16Color > AsRGBA16F() const
Definition ImageCore.h:718
FImage(int32 InSizeX, int32 InSizeY, ERawImageFormat::Type InFormat, EGammaSpace InGammaSpace)
Definition ImageCore.h:474
TArrayView64< const float > AsR32F() const
Definition ImageCore.h:736
void * GetPixelPointer(int32 X, int32 Y, int32 Slice=0) const
Definition ImageCore.h:615
TArrayView64< FColor > AsBGRE8()
Definition ImageCore.h:650
TArrayView64< FColor > AsBGRA8()
Definition ImageCore.h:644
TArrayView64< const FFloat16 > AsR16F() const
Definition ImageCore.h:730
IMAGECORE_API void FreeData(bool bAsyncDetached)
Definition ImageCore.cpp:972
IMAGECORE_API void CopyTo(FImage &DestImage, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace) const
Definition ImageCore.cpp:1016
IMAGECORE_API void ChangeFormat(ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace)
Definition ImageCore.cpp:1001
Definition ImageCore.h:757
int32 Width
Definition ImageCore.h:759
int64 Offset
Definition ImageCore.h:765
int64 Size
Definition ImageCore.h:768
int32 Height
Definition ImageCore.h:762
Definition ImageCore.h:755
void CopyTo(FMipMapImage &DestImage)
Definition ImageCore.h:809
TArray64< uint8 > RawData
Definition ImageCore.h:772
int64 GetNumPixels()
Definition ImageCore.h:874
IMAGECORE_API void CopyTo(FMipMapImage &DestImage, ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace)
Definition ImageCore.cpp:1316
IMAGECORE_API void ChangeFormat(ERawImageFormat::Type DestFormat, EGammaSpace DestGammaSpace)
Definition ImageCore.cpp:1343
bool GetMipDimensions(int32 MipLevel, int32 &OutWidth, int32 &OutHeight) const
Definition ImageCore.h:836
void AddMipImage(TArray64< uint8 > &&Buffer, int32 Width, int32 Height)
Definition ImageCore.h:861
FImageView GetMipImage(int32 MipLevel)
Definition ImageCore.h:855
ERawImageFormat::Type Format
Definition ImageCore.h:778
EGammaSpace GammaSpace
Definition ImageCore.h:781
bool IsValid() const
Definition ImageCore.h:821
TArray< FMipInfo > SubImages
Definition ImageCore.h:775
int32 GetMipCount() const
Definition ImageCore.h:850
Definition ImageCore.h:746
virtual ~FSharedImage()=default