0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用NVIDIA SDK 11.1對(duì)DirectX 12進(jìn)行編碼

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-20 16:27 ? 次閱讀

DirectX 12 是 Microsoft 提供的一種低級(jí)編程 API ,與以前的版本相比,它減少了驅(qū)動(dòng)程序開銷。 DirectX 12 使用命令隊(duì)列、命令列表等在底層硬件上提供了更大的靈活性和細(xì)粒度控制,從而提高了資源利用率。您可以利用這些功能,優(yōu)化應(yīng)用程序,并獲得比早期 DirectX 版本更好的性能。同時(shí),應(yīng)用程序本身必須負(fù)責(zé)資源管理、同步等。

越來越多的游戲標(biāo)題和其他圖形應(yīng)用程序采用 DirectX12 API 。視頻編解碼器 SDK 11 . 1 在 Windows 20H1 及更高版本的操作系統(tǒng)上引入了 DirectX 12 編碼支持。這使 DirectX 12 應(yīng)用程序能夠在所有受支持的 GPU 代中使用 NVENC 。視頻編解碼器 SDK 包包含 Nvencodepi 頭文件、演示用法的示例應(yīng)用程序以及使用 API 的編程指南。示例應(yīng)用程序包含 C ++包裝類,可以根據(jù)需要重用或修改。

typedef struct _NV_ENC_FENCE_POINT_D3D12
 {
     void*                   pFence; /**< [in]: Pointer to ID3D12Fence. This fence object is  
                                                used for synchronization. */
     uint64_t                value;  /**< [in]: Fence value to reach or exceed before the GPU 
                                                operation or fence value to set the fence to,                                                                
                                                after the GPU operation. */?

初始化 NVENC 時(shí),客戶端應(yīng)用程序還必須指定輸入緩沖區(qū)格式。

盡管在 DirectX 12 中傳遞給 Encode picture API 的大多數(shù)參數(shù)與其他接口中的參數(shù)相同,但仍存在某些功能差異。輸入端(客戶端應(yīng)用程序?qū)懭胼斎朊妫?NVENC 讀取輸入面)和輸出端( NVENC 寫入位流面,應(yīng)用程序讀取位流面)的同步必須使用 fences 進(jìn)行管理。這與以前的 DirectX 接口不同,后者由操作系統(tǒng)運(yùn)行時(shí)和驅(qū)動(dòng)程序自動(dòng)處理。

在 DirectX 12 中,需要有關(guān)圍欄和圍欄值的附加信息作為編碼圖片 API 的輸入?yún)?shù)。這些圍欄和圍欄值用于同步 CPU – GPU 和 GPU – GPU 操作。應(yīng)用程序必須在NV_ENC_PIC_PARAMS::inputBuffer和NV_ENC_PIC_PARAMS:: outputBitstream中發(fā)送以下輸入和輸出結(jié)構(gòu)指針,其中包含圍欄和圍欄值:

typedef struct _NV_ENC_INPUT_RESOURCE_D3D12
 {
     NV_ENC_REGISTERED_PTR       pInputBuffer
     NV_ENC_FENCE_POINT_D3D12    inputFencePoint;       
     …
 } NV_ENC_INPUT_RESOURCE_D3D12;
  
 typedef struct _NV_ENC_OUTPUT_RESOURCE_D3D12
 {
     NV_ENC_REGISTERED_PTR      pOutputBuffer;
     NV_ENC_FENCE_POINT_D3D12   outputFencePoint;     
     …

要在異步操作模式下檢索編碼輸出,應(yīng)用程序應(yīng)在調(diào)用NvEncLockBitstream之前等待完成事件。在同步操作模式下,應(yīng)用程序可以調(diào)用NvEncLockBitstream,因?yàn)?NVENCODE API 在返回編碼輸出之前確保編碼已完成。但是,在這兩種情況下,客戶機(jī)應(yīng)用程序都應(yīng)該在NV_ENC_LOCK_BITSTREAM::outputBitstream中傳遞指向NV_ENC_OUTPUT_RESOURCE_D3D12的指針,該指針在NvEncEncodePicture API 中使用。

關(guān)于作者

Dipti Taur 是 NVIDIA 多媒體驅(qū)動(dòng)程序團(tuán)隊(duì)的高級(jí)系統(tǒng)軟件工程師。她曾從事DirectX 12的各種視頻編解碼器、視頻驅(qū)動(dòng)程序開發(fā)和應(yīng)用程序編程接口設(shè)計(jì)。她擁有印度孟買IIT電子工程碩士學(xué)位,專業(yè)從事通信信號(hào)處理。

Sampurnananda Mishra 是 NVIDIA 負(fù)責(zé)多媒體驅(qū)動(dòng)程序的高級(jí)經(jīng)理。他研究過 NVIDIA GPU s 上支持的各種多媒體用例。他的興趣包括視頻編碼、計(jì)算機(jī)視覺、視頻安全、深度學(xué)習(xí)和系統(tǒng)軟件。他擁有印度 IIT 坎普爾電子工程碩士學(xué)位,主攻數(shù)字信號(hào)處理。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149951
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4793

    瀏覽量

    102427
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120591
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVIDIA JetPack 6.0版本的關(guān)鍵功能

    NVIDIA JetPack SDK 支持 NVIDIA Jetson 模塊,為構(gòu)建端到端加速 AI 應(yīng)用提供全面的解決方案。JetPack 6 通過微服務(wù)和一系列新功能,擴(kuò)展了 Jetson 平臺(tái)的靈活性和可擴(kuò)展性,是 202
    的頭像 發(fā)表于 09-09 10:18 ?135次閱讀
    <b class='flag-5'>NVIDIA</b> JetPack 6.0版本的關(guān)鍵功能

    NVIDIA RTX AI套件簡(jiǎn)化AI驅(qū)動(dòng)的應(yīng)用開發(fā)

    NVIDIA 于近日發(fā)布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應(yīng)用開發(fā)者定制、優(yōu)化和部署適用于 Windows 應(yīng)用的 AI 模型。該套件免費(fèi)提供,不要求使用者具備 AI 框架和開發(fā)
    的頭像 發(fā)表于 09-06 14:45 ?250次閱讀

    IB Verbs和NVIDIA DOCA GPUNetIO性能測(cè)試

    NVIDIA DOCA GPUNetIO 是 NVIDIA DOCA SDK 中的一個(gè)庫(kù),專門為實(shí)時(shí)在線 GPU 數(shù)據(jù)包處理而設(shè)計(jì)。它結(jié)合了 GPUDirect RDMA 和 GPUDirect
    的頭像 發(fā)表于 08-23 17:03 ?263次閱讀
    IB Verbs和<b class='flag-5'>NVIDIA</b> DOCA GPUNetIO性能測(cè)試

    Mistral AI與NVIDIA推出全新語(yǔ)言模型Mistral NeMo 12B

    Mistral AI 和 NVIDIA 于近日共同發(fā)布了一款全新的領(lǐng)先語(yǔ)言模型Mistral NeMo 12B。開發(fā)者可以輕松定制和部署該模型,令其適用于支持聊天機(jī)器人、多語(yǔ)言任務(wù)、編碼和摘要的企業(yè)應(yīng)用。
    的頭像 發(fā)表于 07-27 11:04 ?543次閱讀

    ESP8266 12E如何使用SDK中的函數(shù)?

    ESP8266 12E - 如何使用 SDK 中的函數(shù)
    發(fā)表于 07-22 06:52

    如何將SDK安裝到IDE并使用所有SDK功能?

    我是 Wi-Fi 無線通信和ESP8266芯片方面的新手。我想使用帶有MCUXpresso IDE的32位MCU Kinetis與ESP 12-E進(jìn)行通信。如何將SDK安裝到IDE并使用所有S
    發(fā)表于 07-11 08:07

    MediaTek NeuroPilot SDK整合NVIDIATAO

    MediaTek 在 COMPUTEX 2024 期間宣布將 NVIDIA TAO 與 MediaTek NeuroPilot SDK 集成,應(yīng)用于邊緣 AI 推理芯片的開發(fā)。MediaTek
    的頭像 發(fā)表于 06-12 14:03 ?402次閱讀

    NVIDIA發(fā)布DeepStream 7.0,助力下一代視覺AI開發(fā)

    NVIDIA DeepStream 是一款功能強(qiáng)大的 SDK,能夠提供用于構(gòu)建端到端視覺 AI 管線的 GPU 加速構(gòu)建模塊。
    的頭像 發(fā)表于 05-23 10:09 ?439次閱讀
    <b class='flag-5'>NVIDIA</b>發(fā)布DeepStream 7.0,助力下一代視覺AI開發(fā)

    聚沃科技SDK使用指南

    本文主要針對(duì)SDK如何重定義硬件接口和外設(shè)參數(shù)進(jìn)行說明,方便讓大家快速靈活使用聚沃科技SDK
    的頭像 發(fā)表于 05-06 10:23 ?338次閱讀
    聚沃科技<b class='flag-5'>SDK</b>使用指南

    利用NVIDIA AI Enterprise IGX在邊緣賦能任務(wù)關(guān)鍵型AI

    NVIDIA SDK 在加速智慧城市、醫(yī)療和機(jī)器人等領(lǐng)域的 AI 應(yīng)用方面發(fā)揮了重要作用。
    的頭像 發(fā)表于 04-26 09:46 ?336次閱讀
    利用<b class='flag-5'>NVIDIA</b> AI Enterprise IGX在邊緣賦能任務(wù)關(guān)鍵型AI

    foc sdk5.0如何使用庫(kù)中AB編碼器的脈沖來計(jì)數(shù)?

    在使用foc sdk5.0過程中,我配置了光編碼器來檢測(cè)馬達(dá)速度,但在使用過程中,發(fā)現(xiàn)控制不是很好,我想使用庫(kù)中AB編碼器的脈沖來計(jì)數(shù),請(qǐng)告知應(yīng)該用哪個(gè)函數(shù)? 謝謝!
    發(fā)表于 04-03 08:26

    #芯圣SDK工具 SDK-HC89S105A,讓開發(fā)更方便!

    SDK
    上海芯圣電子股份有限公司
    發(fā)布于 :2023年11月10日 08:55:03

    #芯圣SDK工具 SDK-HC89S103K6,讓開發(fā)更方便!

    SDK
    上海芯圣電子股份有限公司
    發(fā)布于 :2023年11月08日 09:46:14

    Imagination 推出支持 DirectX 的高性能 GPU IP 新產(chǎn)品線

    DirectX的高性能GPUIP新產(chǎn)品線的首款產(chǎn)品?;谟布?jí)別的DirectX11FeatureLevel11_0接口實(shí)現(xiàn),IMGDXD可以運(yùn)行主流的DX11PC游戲以
    的頭像 發(fā)表于 11-08 08:28 ?388次閱讀
    Imagination 推出支持 <b class='flag-5'>DirectX</b> 的高性能 GPU IP 新產(chǎn)品線

    #芯圣SDK工具 SDK-HC89S003A,讓開發(fā)更方便!

    SDK
    上海芯圣電子股份有限公司
    發(fā)布于 :2023年11月07日 09:59:12