Setting forceExplicitReconstruction to TRUE may have a performance penalty on implementations where explicit reconstruction is not the default mode of operation.
If format supports FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT the forceExplicitReconstruction value behaves as if it was set to TRUE.
If the pNext chain includes a VkExternalFormatANDROID structure with non-zero externalFormat member, the sampler Y′CBCR conversion object represents an external format conversion, and format must be FORMAT_UNDEFINED. Such conversions must only be used to sample image views with a matching external format. When creating an external format conversion, the value of components is ignored.
format must be FORMAT_UNDEFINEDformat must represent unsigned normalized values (i.e. the format must be a UNORM format)FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BITFORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be CHROMA_LOCATION_COSITED_EVEN if the corresponding components are downsampledFORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be CHROMA_LOCATION_MIDPOINT if the corresponding components are downsampled_422 or _420 suffix, then components.g must be the identity swizzle_422 or _420 suffix, then components.a must be the identity swizzle, COMPONENT_SWIZZLE_ONE, or COMPONENT_SWIZZLE_ZERO_422 or _420 suffix, then components.r must be the identity swizzle or COMPONENT_SWIZZLE_B_422 or _420 suffix, then components.b must be the identity swizzle or COMPONENT_SWIZZLE_R_422 or _420 suffix, and if either components.r or components.b is the identity swizzle, both values must be the identity swizzleycbcrModel is not SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to components of the format; that is, components.r, components.g, and components.b must not be COMPONENT_SWIZZLE_ZERO or COMPONENT_SWIZZLE_ONE, and must not correspond to a component containing zero or one as a consequence of conversion to RGBAycbcrRange is SAMPLER_YCBCR_RANGE_ITU_NARROW then the R, G and B components obtained by applying the component swizzle to format must each have a bit-depth greater than or equal to 8FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT forceExplicitReconstruction must be FALSEFORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must not be FILTER_LINEARpNext chain includes a VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM structure, and if the ycbcrDegamma feature is not enabled, then VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM::enableYDegamma must be FALSEpNext chain includes a VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM structure, and if the ycbcrDegamma feature is not enabled, then VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM::enableCbCrDegamma must be FALSEpNext chain includes a VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM structure, format must be a format with 8-bit R, G, and B components.sType must be STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExternalFormatANDROID or VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMsType value of each struct in the pNext chain must be uniqueformat must be a valid VkFormat valueycbcrModel must be a valid VkSamplerYcbcrModelConversion valueycbcrRange must be a valid VkSamplerYcbcrRange valuecomponents must be a valid VkComponentMapping structurexChromaOffset must be a valid VkChromaLocation valueyChromaOffset must be a valid VkChromaLocation valuechromaFilter must be a valid VkFilter valueIf chromaFilter is FILTER_NEAREST, chroma samples are reconstructed to luma component resolution using nearest-neighbour sampling. Otherwise, chroma samples are reconstructed using interpolation. More details can be found in the description of sampler Y′CBCR conversion in the Image Operations chapter.
VkComponentMapping, CreateSamplerYcbcrConversion, CreateSamplerYcbcrConversionKHR
struct VkSamplerYcbcrConversionCreateInfo {
VkStructureType sType;
void const * pNext;
VkFormat format;
VkSamplerYcbcrModelConversion ycbcrModel;
VkSamplerYcbcrRange ycbcrRange;
VkComponentMapping components;
VkChromaLocation xChromaOffset;
VkChromaLocation yChromaOffset;
VkFilter chromaFilter;
VkBool32 forceExplicitReconstruction;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkSamplerYcbcrConversionCreateInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | CHROMAFILTER
The struct member offsets. |
| public static final int | COMPONENTS
The struct member offsets. |
| public static final int | FORCEEXPLICITRECONSTRUCTION
The struct member offsets. |
| public static final int | FORMAT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | XCHROMAOFFSET
The struct member offsets. |
| public static final int | YCBCRMODEL
The struct member offsets. |
| public static final int | YCBCRRANGE
The struct member offsets. |
| public static final int | YCHROMAOFFSET
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkSamplerYcbcrConversionCreateInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo. | |
| public static VkSamplerYcbcrConversionCreateInfo. | |
| public int | |
| public VkSamplerYcbcrConversionCreateInfo | |
| public VkComponentMapping | components()
applies a swizzle based on |
| public VkSamplerYcbcrConversionCreateInfo | components(VkComponentMapping value)
Copies the specified |
| public VkSamplerYcbcrConversionCreateInfo | components(Consumer<VkComponentMapping> consumer)
Passes the |
| protected VkSamplerYcbcrConversionCreateInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo | create(long address)
Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo. | |
| public boolean | forceExplicitReconstruction()
can be used to ensure that reconstruction is done explicitly, if supported. |
| public VkSamplerYcbcrConversionCreateInfo | forceExplicitReconstruction(boolean value)
Sets the specified value to the |
| public int | |
| public VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo | |
| public static VkSamplerYcbcrConversionCreateInfo. | |
| public static VkSamplerYcbcrConversionCreateInfo. | |
| public static int | |
| public static void | |
| public static VkComponentMapping | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkSamplerYcbcrConversionCreateInfo | |
| public VkSamplerYcbcrConversionCreateInfo | pNext(VkExternalFormatANDROID value)
Prepends the specified |
| public VkSamplerYcbcrConversionCreateInfo | pNext(VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM value)
Prepends the specified |
| public VkSamplerYcbcrConversionCreateInfo | set(int sType, long pNext, int format, int ycbcrModel, int ycbcrRange, VkComponentMapping components, int xChromaOffset, int yChromaOffset, int chromaFilter, boolean forceExplicitReconstruction)
Initializes this struct with the specified values. |
| public VkSamplerYcbcrConversionCreateInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkSamplerYcbcrConversionCreateInfo | |
| public VkSamplerYcbcrConversionCreateInfo | sType$Default()
Sets the |
| public int | xChromaOffset()
describes the sample location associated with downsampled chroma components in the x dimension. |
| public VkSamplerYcbcrConversionCreateInfo | |
| public int | |
| public VkSamplerYcbcrConversionCreateInfo | |
| public int | ycbcrRange()
describes whether the encoded values have headroom and foot room, or whether the encoding uses the full numerical range. |
| public VkSamplerYcbcrConversionCreateInfo | |
| public int | yChromaOffset()
describes the sample location associated with downsampled chroma components in the y dimension. |
| public VkSamplerYcbcrConversionCreateInfo |