gfx::IntSize SizeFromBufferDescriptor(const BufferDescriptor& aDescriptor) { switch (aDescriptor.type()) { case BufferDescriptor::TRGBDescriptor: return aDescriptor.get_RGBDescriptor().size(); case BufferDescriptor::TYCbCrDescriptor: return aDescriptor.get_YCbCrDescriptor().ySize(); default: MOZ_CRASH("GFX: SizeFromBufferDescriptor"); } }
gfx::SurfaceFormat FormatFromBufferDescriptor(const BufferDescriptor& aDescriptor) { switch (aDescriptor.type()) { case BufferDescriptor::TRGBDescriptor: return aDescriptor.get_RGBDescriptor().format(); case BufferDescriptor::TYCbCrDescriptor: return gfx::SurfaceFormat::YUV; default: MOZ_CRASH("GFX: FormatFromBufferDescriptor"); } }
Maybe<uint32_t> BitDepthFromBufferDescriptor(const BufferDescriptor& aDescriptor) { switch (aDescriptor.type()) { case BufferDescriptor::TRGBDescriptor: return Nothing(); case BufferDescriptor::TYCbCrDescriptor: return Some(aDescriptor.get_YCbCrDescriptor().bitDepth()); default: MOZ_CRASH("GFX: BitDepthFromBufferDescriptor"); } }
Maybe<StereoMode> StereoModeFromBufferDescriptor(const BufferDescriptor& aDescriptor) { switch (aDescriptor.type()) { case BufferDescriptor::TRGBDescriptor: return Nothing(); case BufferDescriptor::TYCbCrDescriptor: return Some(aDescriptor.get_YCbCrDescriptor().stereoMode()); default: MOZ_CRASH("GFX: CbCrSizeFromBufferDescriptor"); } }
Maybe<YUVColorSpace> YUVColorSpaceFromBufferDescriptor(const BufferDescriptor& aDescriptor) { switch (aDescriptor.type()) { case BufferDescriptor::TRGBDescriptor: return Nothing(); case BufferDescriptor::TYCbCrDescriptor: return Some(aDescriptor.get_YCbCrDescriptor().yUVColorSpace()); default: MOZ_CRASH("GFX: YUVColorSpaceFromBufferDescriptor"); } }