首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于获取HDR(高动态范围)是否处于活动状态的Windows API

基础概念

HDR(高动态范围)是一种图像和视频显示技术,能够提供比传统SDR(标准动态范围)更高的亮度和对比度。在Windows操作系统中,可以通过特定的API来检测系统是否支持HDR以及HDR是否处于活动状态。

相关优势

  1. 更高的亮度:HDR能够显示更高的亮度水平,使得明亮场景更加逼真。
  2. 更好的对比度:HDR提供了更高的对比度,使得图像和视频中的细节更加清晰。
  3. 更丰富的色彩:HDR支持更广泛的色彩范围,使得颜色更加鲜艳和真实。

类型

在Windows API中,用于检测HDR状态的API主要有以下几种:

  1. DXGI(DirectX Graphics Infrastructure):这是微软提供的图形接口,可以用来检测系统是否支持HDR以及HDR是否处于活动状态。
  2. WDDM(Windows Display Driver Model):这是Windows的显示驱动模型,可以通过它来获取显示设备的HDR状态。

应用场景

  1. 游戏开发:开发者需要知道系统是否支持HDR,以便在游戏中启用或禁用HDR功能。
  2. 视频播放:视频播放软件需要检测系统的HDR状态,以便选择合适的播放模式。
  3. 系统设置:操作系统和显示设置应用需要检测HDR状态,以便为用户提供正确的显示选项。

相关Windows API

以下是一个示例代码,展示如何使用DXGI API来检测系统是否支持HDR以及HDR是否处于活动状态:

代码语言:txt
复制
#include <dxgi1_6.h>
#include <wrl.h>
#include <iostream>

using Microsoft::WRL::ComPtr;

bool IsHDRAvailable()
{
    ComPtr<IDXGIFactory4> factory;
    HRESULT hr = CreateDXGIFactory2(0, IID_PPV_ARGS(&factory));
    if (FAILED(hr))
    {
        std::cerr << "Failed to create DXGI factory." << std::endl;
        return false;
    }

    ComPtr<IDXGIOutput> output;
    hr = factory->EnumAdapters(0, &output);
    if (FAILED(hr))
    {
        std::cerr << "Failed to enumerate DXGI output." << std::endl;
        return false;
    }

    DXGI_OUTPUT_DESC desc;
    output->GetDesc(&desc);

    if (desc.Flags & DXGI_OUTPUT_FLAG_HIGH_DYNAMIC_RANGE)
    {
        return true;
    }

    return false;
}

bool IsHDRActive()
{
    ComPtr<IDXGIFactory4> factory;
    HRESULT hr = CreateDXGIFactory2(0, IID_PPV_ARGS(&factory));
    if (FAILED(hr))
    {
        std::cerr << "Failed to create DXGI factory." << std::endl;
        return false;
    }

    ComPtr<IDXGIOutput> output;
    hr = factory->EnumAdapters(0, &output);
    if (FAILED(hr))
    {
        std::cerr << "Failed to enumerate DXGI output." << std::endl;
        return false;
    }

    ComPtr<IDXGIOutput6> output6;
    hr = output.As(&output6);
    if (FAILED(hr))
    {
        std::cerr << "Failed to query IDXGIOutput6 interface." << std::endl;
        return false;
    }

    DXGI_OUTPUT_METADATA_HDR10 hdr10;
    hr = output6->GetMetadataHDR10(&hdr10);
    if (SUCCEEDED(hr))
    {
        return true;
    }

    return false;
}

int main()
{
    if (IsHDRAvailable())
    {
        std::cout << "HDR is available." << std::endl;
        if (IsHDRActive())
        {
            std::cout << "HDR is active." << std::endl;
        }
        else
        {
            std::cout << "HDR is not active." << std::endl;
        }
    }
    else
    {
        std::cout << "HDR is not available." << std::endl;
    }

    return 0;
}

参考链接

常见问题及解决方法

  1. API调用失败:确保你的系统支持DXGI 1.6,并且已经安装了相应的驱动程序。
  2. 权限问题:某些API调用可能需要管理员权限,确保你的应用程序以管理员身份运行。
  3. 兼容性问题:不同的硬件和驱动程序可能会有不同的行为,确保你的硬件和驱动程序是最新的,并且与你的操作系统兼容。

通过以上方法,你可以检测Windows系统是否支持HDR以及HDR是否处于活动状态,并解决相关问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenCV 图像处理学习手册:6~7

本章介绍了 OpenCV 中用于计算摄影一些鲜为人知技术:动态范围成像,无缝克隆,脱色和非照片级渲染。 这三个位于库photo模块中。...注意,在前面的章节中已经考虑了该模块内部其他技术(修复和去噪)。 动态范围图像 我们处理典型图像每像素有 8 位(BPP)。 彩色图像还使用 8 位表示每个通道值,即红色,绿色和蓝色。...但是,创建动态范围图像最常见方法是使用 8 BPP 相机并拍摄具有不同曝光值图像。 当我们这样做时,动态范围有限问题显而易见。...注意 关于动态范围成像一本好书是 Reinhard 等人动态范围成像:获取,显示和基于图像照明》,Morgan Kaufmann Pub。...色调映射 当要显示动态范围图像时,信息可能会丢失。 这是由于,因为计算机屏幕对比度也很有限,而且打印材料通常也限制为 256 色。 当我们具有动态范围图像时,有必要将强度映射到一组有限值。

1.3K30

Android 10正式版发布,看看都有哪些新特性

您可以使用连接性api来检测设备是否具有带宽连接,并检查连接是否已计量。有了这些,你应用程序和游戏可以为5G以上用户定制丰富身临其境体验。...此外,Android 10支持使用Opus进行音频编码,Opus是一种开放、免版税编解码器,针对语音和音乐流媒体进行了优化,HDR10+用于支持Opus设备上动态范围视频。...这为加速更大范围模型奠定了基础,比如用于目标检测和图像分割模型。我们正在与硬件供应商和流行机器学习框架(如TensorFlow)合作,优化和推出对NNAPI 1.2支持。...测试Android 10隐私功能 测试内容包括新位置权限、范围存储、对后台活动启动限制、对数据和标识符更改等等。要开始查看顶级隐私更改清单,并查看隐私更改文档以了解更多测试领域。...编解码器:对于媒体应用程序,可以尝试AV1用于视频流,HDR10+用于动态范围视频。对于语音和音乐流,可以使用Opus编码,对于音乐家,可以使用本地MIDI API

1.9K20
  • HDR技术趋势浅析

    1.2 HDR视频三要素 1.2.1 动态范围 HDR动态范围(High Dynamic Ranging)缩写,与传统SDR相比,可以显示更大亮度范围。...这种现象就是动态范围不足导致。下图说明了人眼能够感受到最亮和最暗范围,以及HDR和SDR定义亮度范围动态范围这个词最早来自图像领域,多次曝光方式被用来合成HDR图像。...,然后将这些采用不同曝光照片组合成动态范围图像。...这种动态范围图像可以捕捉从黑暗阴影到亮光源或者反光更大动态范围场景。...3.3 HDR标准竞争与生态碎片化 如2.2部分介绍,目前HDR标准和格式共存,标准之间兼容性也不一样,处于百家争鸣状态,甚至可以说是一场战争。

    2.5K30

    Android 9 Pie 现已面向全球正式发布!

    借助配套 UI 模板,Slices 能够将应用内容以动态、富交互形式插入到多个使用场景中,比如 Google Search 和 Assistant。请进一步了解如何在应用中构建 Slices。...用户隐私 Android 9 新加入多项机制,进一步加强了对用户隐私保护。系统禁止所有处于空闲状态应用对话筒、摄像头和所有 SensorManager 传感器访问。...使用动态处理增强音频 开发者可以调用 Dynamics Processing API 对音频进行动态处理,通过分离出特定频率声音,降低过大音量,或者增强过小音量,来改善应用音频质量。...用于 NFC 支付和安全交易 Open Mobile API Android 9 将 GlobalPlatform Open Mobile API 实现添加至平台中。...此外,适用于 Pixel 设备系统映像现可供下载 请前往 Android 开源项目资源库中 Android 9 板块,获取更多 Android 9 相关资源。

    9.1K10

    Camera2 Extensions

    引言 相机扩展程序(Camera Extensions)是指Android提供一套方便第三方相机开发者也能使用到平台厂商独有的一些Camera能力(比如bokeh、夜景、HDR等)API 其中Google...Extensions API用法可以参考Android官方账号发表推文 使用 CameraX Extensions API 将特效应用到照片上 Camera2 Extensions API用法就看这篇文章啦...,微距等需要突出主体场景 EXTENSION_HDR动态范围,可以让最终成像获得更多动态范围和图像细节,比如拍照时使用不同AE配置,让光区域不过曝,暗光区域不欠曝以达到最佳成片效果 EXTENSION_NIGHT...:夜景算法,可在暗光条件下抑制噪点以提升图像质量 以EXTENSION_HDR动态范围)为例,可以看到右侧生效HDR效果图像,左下角暗光区域椅子和石头还是可以看清,顶部区域太阳周围过曝区域处理也非常不错...,步骤和Camera2普通模式启动预览流程是类似的,三步走即可,只是一些接口不同 打开相机步骤和Camera2普通模式无差异 创建会话则采用createExtensionSession 获取CameraExtensionSession

    1.9K40

    嵌入式音视频疑惑汇总(持续更新)

    HLG是一种广色域、动态范围HDR)视频技术,全称为Hybrid Log-Gamma。它是由BBC和NHK联合开发,旨在提供一种适用于广播电视领域HDR视频标准。...HLG技术采用了一种混合伽马曲线,使得视频信号可以同时被标准动态范围(SDR)和动态范围设备所解释。...HDR10+是三星电子推出一种动态范围HDR)视频技术。相比普通HDR10技术,HDR10+在图像处理和编码方面有所创新,提供更加优质视觉体验。...27、HDR10,2k一样吗? 不一样。HDR10是一种动态范围技术,用于提供更广泛亮度和颜色范围,以产生更丰富、更真实图像。而2K是一种分辨率标准,指的是水平分辨率为2000像素左右图像。...HLG视频可以在支持HDR设备上显示更丰富、更真实颜色和对比度。它采用了一种混合传输函数,可以同时适应标准动态范围(SDR)和动态范围HDR显示设备。

    58220

    手机可以拍摄出2.4亿像素图像?

    出于好奇,小白经上网翻阅资料了解到,这是诺基亚公司一项创新技术,用五个摄像头,通过高动态范围成像技术,可以让手机拍摄出更高质量照片。今天小白就来带大家了解一下,什么是动态范围成像技术。...动态范围成像(HDR),在计算机图形学与电影摄影术中,是用来实现比普通数位图像技术更大曝光动态范围(即更大明暗差别)一组技术。...动态范围成像技术则试图通过捕捉同一场景更多照片(例如在不同曝光级别拍摄照片)来缓解这些范围场景问题,然后从这些照片中提取最好几张照片,并将其合并为一张照片。...将一个光线暗淡室内场景和人物拍摄十分清晰,小白不得不感叹动态范围成像技术强大。 再来看一个例子: ? 这两张照片都是用同一台相机拍摄。...下面网址是小白找到学习动态范围成像技术方法,希望对大家有所帮助。

    70130

    UHD HDR现状

    ,到2020年,美国支持动态范围(HDR)消费类电视机出货量预计将超过3000万台。...这些组织都是松散耦合,他们共同参加年度活动,称为“SDO内部会议”,其中每个SDO都报告他们进展以及需要在哪些方面采取具体行动以协调所有这些活动。...SL-HDR1在DVB(仅支持元数据phase 2 扩展)和ATSC 3.0 (A/341标准)中都还处于标准化过程中。 HDR10+ ?...表3e:HDR10+标准 Notes: [1] DVB在其phase 2扩展规范中定义了一种携带动态元数据标准方式 [2]ATSC 3.0标准中标准候选状态 [3] HDR10+ Technologies...电视HDR部署状态 从2016年至今,HDR主要用于VOD OTT服务。到2016年底,HDR开始进行现场部署。 表6显示了截至2018年4月18日已部署超高清HDR服务列表。

    2.1K20

    WWDC 2022 音视频相关 Session 概览(EDR 相关)丨音视频工程示例

    EDR Range 当渲染时,像素浮点值范围为 [0.0, 1.0] SDR 内容是始终会正常渲染。(1.0, EDR headroom] 范围 HDR 内容也是可以渲染。...其实,EDR headroom 是动态,它值受到多种因素影响,比如:设备显示技术、当前显示亮度等等。...比如,通过 UIScreen(iOS)可以获取这些信息: 颜色动态值: 当前屏幕可能最大值; 当前最大值; Reference 模式状态; Reference 模式状态变化通知。...视频中截帧获得 EDR 图像; 使用 Metal API 可以将 EDR 环境渲染到纹理上; ProRAW、DNG 等存储原始图像信息格式,可以用于渲染来还原 EDR 高亮特性。...有时候,你可能想要使用 SDR cube data 用于 EDR 图像,在最新 API 中,可以设置 extrapolate 属性为 true 来告诉 filter 来对 SDR cube data

    2.5K21

    HDR手机

    HDR代表动态范围,并且在过去几年中一直是电视中流行语。如果您最近购买了4K电视,几乎可以肯定它将具有HDR功能。...具体包括: 分辨率:60像素/度 动态范围:.0005-550nits 色彩空间:P3色域90% 钻头深度:10 这些标准适用于智能手机,平板电脑和笔记本电脑,这意味着Mobile HDR Premium...还需要将此移动HDR认证与电视等效产品进行比较,以判断移动客户是否真正获得了完整HDR体验。颁发移动HDR认证UHD联盟还监督Ultra HD Premium标准。...HDR手机意味着什么 动态范围面板比SDR面板具有更高对比度,更宽色域和更大峰值亮度。通过选择支持HDR电话,甚至SDR内容也可以看起来更生动,更明亮。...AMOLED面板(早在要求动态范围内容之前就具备了这些特性。每年我们测试手机数量都在不断增长,以争取DCI-P3色彩空间。这明显比与SDR内容关联标准SRGB空间宽,并且更适合HDR

    61020

    全面拥抱HDR时机已到?

    过去很长一段时间消费者始终没有完全意识到HDR意义与价值,直到最近《权力游戏》第八季第三集播出,它是否会让HDR焕发新生命活力?...为什么高端(内容)产品在您电视机上可能看起来如此糟糕? 《权力游戏》制作十分精良,同时在拍摄环节使用了动态范围技术,这可能是HBO在流媒体市场上最重要系列作品。...流媒体传输质量 在我们所在北欧等国家,在4K HDR条件下观看《权力游戏》是不现实,这似乎在世界其他许多地方也是不争事实,甚至标准动态范围4K条件都难以被找到;另一方面,流媒体传输意味着高分辨率与高质量无法兼得...基于8-bit制作出视频画面上所显示条形色彩带被称为条带(banding),这是视频处理行业基本知识。 因此,希望基于动态范围生产大分辨率高质量视频片段,提高色彩深度十分重要。...如果我们期待在《权力游戏》最后一季选择HDR与4K,那么就需要实现HDR条件下去除条带效果并获得更高动态范围以高质量表现黑暗场景。

    55630

    HDR in depth

    目录 HDR 和 SDR 之间区别 色彩参数 色彩深度 亮度 HDR 标准 HDR10 HLG HDR10+ Dolby Vision HDR 标准总结 参考 尽管 SDR(标准动态范围)存在诸多弊端和过时技术流程...,但 SDR 格式视频内容在当今媒体市场中仍处于领先地位, 而 HDR动态范围)格式才刚刚开始扩展。...该标准应用于整个视频序列静态元数据。一方面,静态实现简化了实现。同时,没有考虑到静态和动态、明暗场景需要不同色调需求,因此需要应用全局补偿方法。...MDCV 描述了制作视频母版显示器基色坐标以及动态范围,是用于创建视频内容显示参数,被认为是参考参数。播放视频内容时,将根据参考重新调整显示。...; 解码器解码视频序列并提取动态HDR元数据,或从媒体容器中获取有关框架静态HDR元数据; 解码器将解码后帧和 HDR 元数据传输到显示器; 显示器输出图像。

    2.4K11

    Android 9.0 强势来袭,带来了哪些新特性?

    HDR VP9视频,HEIF图像压缩和媒体API Android 9增加了对动态范围HDR)VP9配置文件2内置支持,因此我们现在可以通过YouTube,Play电影和支持HDR设备上其他来源播放用户提供支持...HDR电影。...Android 9为MediaDRM类添加了方法, 以获取指标,HDCP级别,安全级别和会话数,并添加对安全级别和安全停止更多控制。有关详细信息,请参阅API Diff报告。...辅助功能窗格标题 在Android 8.1(API级别27)及更低版本中,辅助功能服务无法始终确定何时更新屏幕特定窗格,例如活动将一个片段替换为另一个片段。...当一个TYPE_WINDOWS_CHANGED 事件发生时,可以使用 getWindowChanges() API来确定如何在Windows已经改变。在多窗口更新期间,每个窗口都会生成自己一组事件。

    3.4K20

    实时 8K 服务现状

    分辨率为 4K 4 倍或者 FHD 16 倍、60FPS 甚至 120FPS 帧率、动态范围、10 比特比特深度等等,这些似乎都是 8K 内容标签。...而 NHK "Full Spec" 则仅支持 120 和 60 两种帧率,以及 YUV444 和 HLG 标准动态范围。 表 1:初代 8K 标准 HDR 是 8K 内容中不得不谈一个部分。...8K 内容可以高度还原活动现场,带给观众比在小屏幕环境中观看更真实、更身临其境活动体验,这些活动可以是体育赛事、音乐会、艺术讲座,也可以超越媒体领域到远程医疗和培训等类型领域。...表 3:编码器性能对比 哪一个编解码标准更适合 8K 实时内容,需要考虑不仅仅是压缩效率(在保证高质量前提下维持较低码率),还有计算复杂度(能否实时编码),以及是否有可用编解码器生态(编解码器是否广泛部署...所以综合考虑这些因素来看,HEVC 还是目前最适合用于 8K 实时内容编解码标准。

    48030

    Google为Pixel更新HDR,夜间拍摄无「鬼影」,每个像素都是细节

    HDR是数字摄影中一项重要技术,意为「动态范围」。...HDR技术可以克服多数相机传感器动态范围有限缺点,并将图片色调控制在人眼识别范围之内,HDR简单说就是让你照片无论光还是阴影部分细节都很清晰,不用担心过曝和欠曝。...目前常用合成动态范围图像方法是多重曝光图像合成,该方法关键是: 1、曝光包围(Exposure bracketing):拍摄多个不同曝光LDR图像 2、合并(Merging):将它们合并到一个...而HDR技术主要就是保留这种复杂场景下动态,免去手工操作。 1、在保持手机Pixel相机快速,可预测拍摄体验同时,捕捉额外长时间曝光帧。...这种方法适用于动态范围适中场景,对于极端场景来说不太适用。 HDR成也连拍,败也连拍 一个常见噪点叫Shot noise,与光粒子性质有关,每拍一张照片,根据曝光时间和光线总量,都会引入噪点。

    1.4K21

    小米米10 Pro相机评测--DXOMARK

    拍摄静止图像时,目标曝光稳定且准确;此外,小米在去年CC9 Pro专业版基础上改善了动态范围,在困难高对比度场景中光剪辑减少了,在明亮室外和典型室内拍摄条件下总体上具有更好HDR处理。...在下面的比较中,您可以看到Mi 10 Pro图像显示出比Mate 30 Pro 5G和iPhone 11 Pro Max更好动态范围,尤其是在框架光区域中,Mi 10 Pro保留了明显更多细节。...整体细节非常适合超广角,并且曝光准确,动态范围也不错。仍然会发生一些光剪裁,并且HDR有时看起来可能会有些不自然,但是小米超宽镜头仍然是我们迄今为止测试最好镜头之一。...当以较低变焦范围拍摄时,Mi 10 Pro在竞争者旁边也看起来不错。下面的中距离照片显示了很好细节(用于变焦拍摄),良好曝光和准确白平衡。...缺点 有限动态范围会导致光或阴影修剪 偶尔出现不自然红色调 在弱光下,时间噪声可能会非常令人讨厌 明亮和弱光片段中有时会出现锯齿和嘈杂边缘伪像

    4.3K20

    NVIDIA NVENC编码器 OBS 指南

    大多数直播网站都有建议使用参数(Twitch, Youtube, Facebook Gaming)。以下是我们建议: 动态内容重要注意事项。...如果您要串流动态场景(如赛车游戏、第一人称射击游戏等),我们强烈建议降低分辨率。动态内容不能被压缩太多,并且可能产生更多伪影(编码错误),使您视频流看起来呈“块状”。...此选项支持编码器动态选择 B 帧数量,可选范围介于 0 到您指定 B 帧数量之间。B 帧可提升图像质量,因此十分有用,但它们也会耗用大量可用比特率,由此降低高速运动场景质量。...以 HDR 进行录制和直播 您可使用 HDR动态范围)提高内容光影效果。您可以使用 HDR 进行录制和直播。...在 OBS 中配置完整工作流以启用 HDRWindows 和游戏设置 首先,确保您已在 Windows “显示”设置中启用 HDR

    5.5K31
    领券