HDMI相关
HDMI相關(guān)基礎(chǔ)
- 4.4 與 9.0 差異
- AVMUTE 的使用
- hdcp異常
- 檢查 HDCP 交互:
- 檢查 ksv(視頻加密密鑰):
- HDCP 的內(nèi)部檢測(cè):
- 顯示模式分析
- 查看是否已連接電視機(jī)
- 查看當(dāng)前顯示模式
- 更改當(dāng)前顯示分辨率
- 查看 EDID 信息
- 查看顯示設(shè)備的 EDID 信息
- 查看電視機(jī)支持的最佳分辨率
- Android 系統(tǒng)對(duì) HDMI 輸出制式的設(shè)置
- 1. 查看當(dāng)前輸出制式的節(jié)點(diǎn)命令:
- 2. 輸出制式在 Framework 層的代碼位置:
- 主要接口說(shuō)明
- 最優(yōu)分辨率、顏色空間、色深的配置
- 使用 HDMI Bist 模式驗(yàn)證 HDMI 的顯示
- 節(jié)點(diǎn)說(shuō)明
4.4 與 9.0 差異
4.4走framework MboxOutputModeService
9.0走systemcontrol
AVMUTE 的使用
對(duì)應(yīng)的切點(diǎn):/sys/class/amhdmitx/amhdmitx0/avmute
往其寫(xiě)入 1,表示進(jìn)行 SET_AVMUTE
往其寫(xiě)入-1,表示進(jìn)行 CLEAR_AVMUTE
hdcp異常
檢查 HDCP 交互:
輸入命令 cat /sys/module/hdmitx/parameters/hdmi_authenticated,輸出大于 0 為成功,小于等于 0 為失敗
檢查 ksv(視頻加密密鑰):
輸入命令 cat /sys/class/amhdmitx/amhdmitx0/hdcp_ksv_info,輸出如下:
- AKSV: 663fa14267 Valid
- BKSV: 27c2d1b6ca Valid
如果出現(xiàn) AKSV 為 invalid 的情況,請(qǐng)檢查 HDCP key 燒錄是否有誤。
如果出現(xiàn) BKSV 為 invalid 的情況,請(qǐng)檢查歉收端是否為合法的帶有 HDCP key 的設(shè)備。
HDCP 的內(nèi)部檢測(cè):
輸入命令 cat /sys/class/amhdmitx/amhdmitx0/hdcp_ksv_info,出現(xiàn)以下打印表示檢測(cè)成功,否則為檢測(cè)失敗
顯示模式分析
查看是否已連接電視機(jī)
輸入命令 cat /sys/class/amhdmitx/amhdmitx0/hpd_state
0: 未連接電視 1:已連接電視查看當(dāng)前顯示模式
輸入命令 cat /sys/class/display/mode,輸出當(dāng)前分辨率(如:720p50hz)
輸入命令 cat /sys/class/amhdmitx/amhdmitx0/disp_mode,也可查看分辨率,顯示的是 vic 編號(hào),其對(duì)應(yīng)關(guān)系:
更改當(dāng)前顯示分辨率
輸入 echo 1080p > /sys/class/display/mode
查看 EDID 信息
查看顯示設(shè)備的 EDID 信息
cat /sys/class/amhdmitx/amhdmitx0/edid
查看電視機(jī)支持的最佳分辨率
cat /sys/class/amhdmitx/amhdmitx0/disp_cap
以下為輸出(其中帶星號(hào)的為最佳分辨率):
Android 系統(tǒng)對(duì) HDMI 輸出制式的設(shè)置
1. 查看當(dāng)前輸出制式的節(jié)點(diǎn)命令:
cat /sys/class/display/mode
2. 輸出制式在 Framework 層的代碼位置:
frameworks/base/core/java/android/app/MboxOutputModeManager.java frameworks/base/services/java/com/android/server/MboxOutputModeService.java實(shí)際上最終都是通過(guò) MboxOutputModeService 類實(shí)現(xiàn)對(duì) HDMI 制式的設(shè)置。
主要接口說(shuō)明
1. setDisplayMode() Function: 設(shè)置當(dāng)前屏幕的顯示比例 Param: "4:3" "16:9" 2. setScreenModeValue() Function: 設(shè)置屏幕的顯示模式 Param: "full": 全屏 "normal" : 正常模式 "16_9": 16:9 "4_3" : 4:3 3. GetScreenModeValue() Function: 獲取當(dāng)前屏幕的輸出模式。 Param: 無(wú) 4. setHdrMode() Function: 設(shè)置顯示的 HDR 模式 Param: "0":關(guān)閉 HDR "1":打開(kāi) HDR "2": auto 模式 5. getHdrMode() Function:獲取 HDR 模式 Param:無(wú) 6. setColorspaceMode() Function: 設(shè)置顯示的顏色空間和色深 Param: "Auto" "Y420 8bit" "Y420 10bit" "Y422 12bit" 7. getColorspaceMode() Function: 獲取當(dāng)前顯示的顏色空間和色深 Param: 無(wú) 8. getSupportColorSpaceList() Function: 獲取當(dāng)前顯示設(shè)備支持的顏色空間和色深列表 Param: 無(wú) 9. getSupportResoulutionList() Function: 獲取當(dāng)前顯示設(shè)備支持的分辨率列表 Param:無(wú) 10. getBestMatchResolution() Function: 獲取當(dāng)前顯示設(shè)備最佳的分辨率 Param:無(wú) 11. setOutputMode() Function:設(shè)置當(dāng)前顯示設(shè)備的顯示模式 Param:"cvbs" "720p60hz" "1080p60hz"最優(yōu)分辨率、顏色空間、色深的配置
獲取當(dāng)前顯示設(shè)備支持的顏色空間及色深的節(jié)點(diǎn):
cat /sys/class/amhdmitx/amhdmitx0/dc_cap
獲取當(dāng)前顯示設(shè)備支持的分辨率節(jié)點(diǎn):
cat /sys/class/amhdmitx/amhdmitx0/disp_cap
使用 HDMI Bist 模式驗(yàn)證 HDMI 的顯示
echo bist1920 > /sys/class/amhdmitx/amhdmitx0/debug
echo bistline > /sys/class/amhdmitx/amhdmitx0/debug
echo bistdot > /sys/class/amhdmitx/amhdmitx0/debug
echo bistoff > /sys/class/amhdmitx/amhdmitx0/debug
節(jié)點(diǎn)說(shuō)明
/sys/class/amhdmitx/amhdmitx0/hdcp_ver ro //RX端支持的HDCP version /sys/class/amhdmitx/amhdmitx0/hdcp_lstore ro //本機(jī)含有的HDCP KEY類型 /sys/class/amhdmitx/amhdmitx0/disp_cap ro //RX支持的分辨率能力 /sys/class/amhdmitx/amhdmitx0/vesa_cap ro //RX端支持的VESA模式 /sys/class/amhdmitx/amhdmitx0/dc_cap ro //RX端支持的色深,色彩空間能力 /sys/class/amhdmitx/amhdmitx0/hdr_cap ro //RX端支持的hdr能力 /sys/class/amhdmitx/amhdmitx0/dv_cap ro //RX端支持的dolbyVersion能力 /sys/class/amhdmitx/amhdmitx0/hdcp_mode rw //{1|2} /sys/class/amhdmitx/amhdmitx0/hdcp_ctrl wo //hdcp控制 {stop14|stop22} /sys/module/hdmitx20/parameters/hdmi_authenticated ro //hdmi認(rèn)證 /sys/class/amhdmitx/amhdmitx0/avmute wo //hdmi 聲音圖像{1 disable|-1 enable} /sys/class/display/mode rw //讀寫(xiě)分辨率模式 /sys/class/video/axis rw //播放器顯示窗口大小坐標(biāo) /sys/class/graphics/fb0/window_axis rw //頁(yè)面播放大小坐標(biāo) /sys/class/amhdmitx/amhdmitx0/hpd_state ro //HDMI線的撥插動(dòng)作 {0未連接|1已連接} /sys/class/amhdmitx/amhdmitx0/phy w //{0 disable| 1 enable}echo bist3840 > /sys/class/amhdmitx/amhdmitx0/debug echo bist1920 > /sys/class/amhdmitx/amhdmitx0/debug echo bist1280 > /sys/class/amhdmitx/amhdmitx0/debug echo bist720 > /sys/class/amhdmitx/amhdmitx0/debug echo bistoff > /sys/class/amhdmitx/amhdmitx0/debug關(guān) pq echo vpp_pq disable > /sys/class/amvecm/debug echo 0 > /sys/module/am_vecm/parameters/probe_ok 開(kāi) pq echo vpp_pq enable > /sys/class/amvecm/debug echo 1 > /sys/module/am_vecm/parameters/probe_ok//sr{0關(guān)|1開(kāi)} echo 0 > /sys/class/video/sr echo 1 > /sys/class/video/sr//bypass DI echo 1 > /sys/module/di/parameters/bypass_all//{0 disable| 1 enable} echo 0 > /sys/class/amhdmitx/amhdmitx0/phy echo 1 > /sys/class/amhdmitx/amhdmitx0/phy //聲音圖像{1 disable|-1 enable} echo 1 >/sys/class/amhdmitx/amhdmitx0/avmute echo -1 >/sys/class/amhdmitx/amhdmitx0/avmute//{stop14|stop22} echo stop14 > /sys/class/amhdmitx/amhdmitx0/hdcp_ctrl echo stop22 > /sys/class/amhdmitx/amhdmitx0/hdcp_ctrl//{1|2} echo 1 > /sys/class/amhdmitx/amhdmitx0/hdcp_mode echo 2 > /sys/class/amhdmitx/amhdmitx0/hdcp_mode$ps -A |grep -i hdcp $kill -9 hdcp pid $hdcp bin文件&echo null > /sys/class/display/mode echo 444,8bit > /sys/class/amhdmitx/amhdmitx0/attr echo 1080p60hz > /sys/class/display/mode總結(jié)
- 上一篇: 再见五月
- 下一篇: 2020年高考理综试题解析:聚焦关键能力