Énumération WICHeifHdrProperties (wincodec.h)
Spécifie les propriétés HDR d’une image HEIF (High Efficiency Image Format).
Syntax
typedef enum WICHeifHdrProperties {
WICHeifHdrMaximumLuminanceLevel = 0x1,
WICHeifHdrMaximumFrameAverageLuminanceLevel = 0x2,
WICHeifHdrMinimumMasteringDisplayLuminanceLevel = 0x3,
WICHeifHdrMaximumMasteringDisplayLuminanceLevel = 0x4,
WICHeifHdrCustomVideoPrimaries = 0x5,
WICHeifHdrProperties_FORCE_DWORD = 0x7fffffff
} ;
Constantes
WICHeifHdrMaximumLuminanceLevel Valeur : 0x1 [VT_UI2] Spécifie le niveau de luminance maximal du contenu dans Nits. |
WICHeifHdrMaximumFrameAverageLuminanceLevel Valeur : 0x2 [VT_UI2] Spécifie le niveau de luminosité moyen maximal par image du contenu dans nits. |
WICHeifHdrMinimumMasteringDisplayLuminanceLevel Valeur : 0x3 [VT_UI2] Spécifie la luminosité maximale de l’affichage sur lequel le contenu a été créé, dans Nits. |
WICHeifHdrMaximumMasteringDisplayLuminanceLevel Valeur : 0x4 [VT_UI2] Spécifie la luminosité maximale de l’affichage sur lequel le contenu a été créé, dans Nits. |
WICHeifHdrCustomVideoPrimaries Valeur : 0x5 [VT_BLOB] Spécifie des couleurs primaires personnalisées pour un type de média vidéo. La valeur de cette propriété est une structure MT_CUSTOM_VIDEO_PRIMARIES, retournée sous la forme d’un tableau d’octets (VT_BLOB). |
WICHeifHdrProperties_FORCE_DWORD Valeur : 0x7fffffff |
Remarques
Utilisez IWicMetadataReader ::GetValue pour récupérer la valeur des propriétés spécifiées avec cette énumération. Instanciez le instance IWicMetadataReader à l’aide du CLSID_WICMetadataReader GUID. Appelez IWicMetadataReader ::GetMetadataFormat et vérifiez que la valeur est GUID_MetadataFormatHeifHDR pour vérifier que le format de métadonnées est des métadonnées HDR HEIF.
Toutes les images HDR HEIF n’ont pas toutes ces propriétés présentes dans le fichier, donc seules les propriétés disponibles sont exposées par le lecteur de métadonnées.
using namespace winrt;
std::optional<uint32_t> GetMaximumLuminanceLevelFromMetadataReader(_In_ IWICMetadataReader* metadataReader)
{
std::optional<uint32_t> result;
GUID metadataFormat;
// Retrieve the format of the metadata used by this IWICMetadataReader
check_hresult(metadataReader->GetMetadataFormat(&metadataFormat));
// This function only handles HEIF HDR metadata
if (metadataFormat != GUID_MetadataFormatHeifHDR)
{
throw_hresult(E_INVALIDARG);
}
PROPVARIANT variantId = {};
PROPVARIANT variantValue = {};
variantId.vt = VT_UI4;
variantId.uiVal = WICHeifHdrMaximumLuminanceLevel;
if (SUCCEEDED(metadataReader->GetValue(nullptr, &variantId, &variantValue)))
{
if (variantValue.vt == VT_UI4)
{
result = variantValue.uiVal;
}
PropVariantClear(&variantValue);
}
return result;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1903 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server, version 1903 [applications de bureau uniquement] |
En-tête | wincodec.h |