Issue #2101 - Part 7: Add color range support on GPUs

This commit is contained in:
u3shit 2023-02-25 00:29:56 +01:00 committed by roytam1
commit 687733f9d1
18 changed files with 106 additions and 74 deletions

View file

@ -68,6 +68,15 @@ GPUVideoTextureHost::GetYUVColorSpace() const
return YUVColorSpace::UNKNOWN;
}
ColorRange
GPUVideoTextureHost::GetColorRange() const
{
if (mWrappedTextureHost) {
return mWrappedTextureHost->GetColorRange();
}
return ColorRange::UNKNOWN;
}
gfx::IntSize
GPUVideoTextureHost::GetSize() const
{

View file

@ -36,6 +36,7 @@ public:
}
virtual YUVColorSpace GetYUVColorSpace() const override;
virtual ColorRange GetColorRange() const override;
virtual gfx::IntSize GetSize() const override;

View file

@ -828,6 +828,16 @@ BufferTextureHost::GetYUVColorSpace() const
return YUVColorSpace::UNKNOWN;
}
ColorRange
BufferTextureHost::GetColorRange() const
{
if (mFormat == gfx::SurfaceFormat::YUV) {
const YCbCrDescriptor& desc = mDescriptor.get_YCbCrDescriptor();
return desc.colorRange();
}
return ColorRange::UNKNOWN;
}
bool
BufferTextureHost::MaybeUpload(nsIntRegion *aRegion)
{

View file

@ -420,6 +420,7 @@ public:
virtual gfx::SurfaceFormat GetReadFormat() const { return GetFormat(); }
virtual YUVColorSpace GetYUVColorSpace() const { return YUVColorSpace::UNKNOWN; }
virtual ColorRange GetColorRange() const { return ColorRange::UNKNOWN; }
/**
* Called during the transaction. The TextureSource may or may not be composited.
@ -672,6 +673,7 @@ public:
virtual gfx::SurfaceFormat GetFormat() const override;
virtual YUVColorSpace GetYUVColorSpace() const override;
virtual ColorRange GetColorRange() const override;
virtual gfx::IntSize GetSize() const override { return mSize; }