检测结果:


调用isH265Supported直接返回结果
private boolean isH265Supported() {
MediaCodecList codecList = new MediaCodecList(MediaCodecList.ALL_CODECS);
boolean isHardware = false;
for (MediaCodecInfo codecInfo : codecList.getCodecInfos()) {
String name = codecInfo.getName();
if (name.contains("hevc") && name.contains("decoder")) {
Log.i("硬解", "===>分析中: " + name + " ===");
String architecture = getArchitectureType(name);
Log.i("硬解", "===>类型: " + architecture);
isHardware = codecInfo.isHardwareAccelerated();
Log.i("硬解", "===>支持硬件加速: " + isHardware);
analyzePerformanceCharacteristics(codecInfo);
}
}
return isHardware;
}
private static String getArchitectureType(String codecName) {
if (codecName.startsWith("OMX.qcom.")) {
return "Qualcomm VPU (Video Processing Unit) - 专用视频硬件";
} else if (codecName.startsWith("OMX.")) {
return "Vendor VPU - 厂商专用视频硬件";
} else if (codecName.startsWith("c2.android.")) {
return "CPU Software - 中央处理器软件解码";
} else if (codecName.startsWith("c2.")) {
return "Modern VPU/DSP - 现代视频处理单元";
} else if (codecName.contains("mediacodec")) {
return "GPU (罕见) - 图形处理器";
} else {
return "Unknown";
}
}
private static void analyzePerformanceCharacteristics(MediaCodecInfo codecInfo) {
try {
if(codecInfo.getName().contains("c2.dolby.decoder.hevc")){
Log.i("硬解","===>" + codecInfo.getName() + " MediaCodec不支持杜比: codec does not support type");
return;
}
MediaCodecInfo.CodecCapabilities caps =
codecInfo.getCapabilitiesForType("video/hevc");
if (caps != null) {
MediaCodecInfo.VideoCapabilities videoCaps = caps.getVideoCapabilities();
assert videoCaps != null;
Log.i("硬解", "===>支持最高分辨率: " +
videoCaps.getSupportedWidths().getUpper() + "x" +
videoCaps.getSupportedHeights().getUpper());
Log.i("硬解", "===>性能级别: " +
(videoCaps.getSupportedWidths().getUpper() >= 7680 ?
"8K Capable" : "4K/HDR Capable"));
}
} catch (Exception e) {
Log.e("硬解", "===>分析出错: ", e);
}
}

被折叠的 条评论
为什么被折叠?



