# 2.5 解碼數據通過 GPU 渲染
當希望視頻數據解碼之后,直接傳遞給 GPU 進行渲染,實現高分辯率的高效率顯示,即顯示部分在 Codec 中完成,則可以通過如下方式實現:
1. 在庫能力標志上加上:MEDIACODEC_CAPABILITY_DIRECTRENDER,告知上層 Codec 具備 GPU 渲染的能力;
2. 在應用層開啟 GPU 渲染模式,即調用 API:BRAC_SetSDKOption,設置 BRAC_SO_VIDEOSHOW_GPUDIRECTRENDER 為 1;
3. AnyChat 內核在初始化解碼器“MediaCodec_VideoCodec_InitEncoder”時,會初始化上下文句柄“MediaCodecContext”中的“lpGlobalContext”、 “lpSuface”,告知解碼器顯示窗口,便于 GPU 渲染;若上層沒有初始化前述兩個變量,則表示上層只要求 Codec 進行解碼,不需要顯示;
4. 視頻解碼器解碼到一幀數據之后,將數據直接傳遞給 GPU 渲染,同時返回-1,向上層反饋解碼失敗的信息,告知上層沒有解碼輸出數據。