Skip to content

Commit eb37381

Browse files
committed
Changed: Assign storage texel format to decompressed pixel texel if storage texel is not assign by the codec
1 parent bb48bbd commit eb37381

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

ImageCodec/Include/Image.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,12 @@ namespace IMCodec
5050
class Image : public ImageDesc
5151
{
5252
public:
53-
Image(ImageItemSharedPtr imageItem, ImageItemType subImageType) : ImageDesc(&imageItem->descriptor), fSubItemsGroupType(subImageType), fImageItem(imageItem) {}
53+
Image(ImageItemSharedPtr imageItem, ImageItemType subImageType) : ImageDesc(&imageItem->descriptor), fSubItemsGroupType(subImageType), fImageItem(imageItem)
54+
{
55+
// If storage texel format is not set, assume it's identical to the decompressed texel format.
56+
if (imageItem->descriptor.texelFormatStorage == TexelFormat::UNKNOWN)
57+
imageItem->descriptor.texelFormatStorage = imageItem->descriptor.texelFormatDecompressed;
58+
}
5459
const std::byte* GetBufferAt(int32_t x, int32_t y) const { return fImageItem->data.data()+ (y * GetRowPitchInBytes() + x * GetBitsPerTexel() / ImageDesc::NumBitsInOneByte); }
5560
const std::byte* GetBuffer() const { return fImageItem->data.data(); }
5661
uint32_t GetNumSubImages() const { return static_cast<uint32_t>(fSubImages.size()); }

0 commit comments

Comments
 (0)