关键字
芯片规格问题
- 背景
- 由于高通芯片规格问题,会导致编码器支持规格有所限制
定位手段
-
查看hilogs日志,如果创建编码器失败0xfffffff4
-
查看kms日志,搜索关键字Hardware is overloaded
-
有两路3552*1184 60fps 和1920*1080 60fps的编解码,计算两路的宏块数的方式为w*h*fps/(16*16)相加>芯片的规格 7315最大宏快数1224000 8325最大宏块数7833600 宏块数规格限制不区分编码解码,可以看kms日志。 另外码流限制,跟高通沟通,只针对单子编码或者解码,目前没有看到总量限制。
-
解决
- 应用侧如果存在以上问题,则需要应用侧考虑应用场景,避免多播或者高分辨率同事编解码的场景
- 使用mediacodec的应用,非实时性要求不高的场景,可以设置“priority”为0为实时,1为非实时,非实时编码器不计入总规格中。
缺陷回归
----游戏启动的界面白屏/黑屏
【105007】FIFA足球世界游戏启动的界面白屏,对比其他手机启动界面能正常显示。
游戏开启时播放的视频分辨率为2388x1080,6375芯片支持的解码器分辨率为1920x1080,所以不支持游戏的视频播放,出现了白屏问题。 解码器能力限制,无法解决 07-14 10:12:00.421 1129 2337 E StandardCaps: requested width is not supported 07-14 10:12:00.421 1129 2337 E StandardCaps: max size must equal to/greater than output size 07-14 10:12:00.426 22239 15433 E MediaCodec: configure failed with err 0xffffffea, resetting... 07-14 10:12:00.426 22239 15433 I MediaCodec: MediaCodec release
【98812】游戏金铲铲之战打开是黑屏的
金铲铲之战游戏在启动时,会加载“腾讯游戏发行”的画面,这个画面是一段视频,视频播放是黑屏状态,用户感知为没有加载动画。 从视频播放日志入手分析,发现: 该视频尺寸超规格导致播放黑屏 01-13 16:03:52.043 11254 11619 D CCodecConfig: Bad parameter value 01-13 16:03:52.043 11254 11619 D CCodecConfig: c2 config diff is c2::u32 input.buffers.max-size.value = 7258112 01-13 16:03:52.043 11254 11619 D CCodecConfig: c2::u32 raw.max-size.height = 1440 01-13 16:03:52.043 11254 11619 D CCodecConfig: c2::u32 raw.max-size.width = 3360 01-13 16:03:52.043 11254 11619 D CCodecConfig: c2::u32 raw.size.height = 1440 01-13 16:03:52.044 11254 11619 W CCodec : failed to configure c2 params 01-13 16:03:52.044 11254 11618 E MediaCodec: Codec reported err 0xffffffea, actionCode 0, while in state 3 01-13 16:03:52.044 11254 11618 D SurfaceUtils: disconnecting from surface 0x9ccf0408, reason disconnectFromSurface 01-13 16:03:52.044 11254 11615 E MediaCodec: configure failed with err 0xffffffea, resetting... 01-13 16:03:52.044 11254 11615 I MediaCodec: MediaCodec release 从CCodecConfig信息中可以看到raw.max-size.height = 1440 raw.max-size.width = 3360 视频的尺寸已经超出芯片解码规格了,所以视频播放是黑屏。
----设置动态壁纸失败
【101246】在抖音下载应用动态壁纸,动态壁纸安装后,桌面背景一直黑屏状态,不显示下载的动态壁纸,测试机重启后动态壁显示
该类问题,logcat中视频无播放日志时,从kmsglog中去分析。 01-18 15:08:08.337 <6>[34823.213108][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: high: 00000003: ....e: Opening video instance: 0000000000000000, 0 01-18 15:08:08.337 <6>[34823.213226][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: ....e: Failed to create debugfs for msm_vidc 01-18 15:08:08.339 <6>[34823.215881][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: ....e: __prepare_enable_clks: clock iface_clk already enabled 01-18 15:08:08.342 <6>[34823.216802][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: ....e: msm_vidc_comm_update_ctrl: failed: control name Video B Frames, min 0, max 0, step 0, default_value 0 01-18 15:08:08.342 <6>[34823.216812][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: ....e: msm_vidc_comm_update_ctrl: Conrol id 10035267 not found 01-18 15:08:08.342 <6>[34823.217897][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: h264e: H/W is overloaded. needed: 530400 max: 489600 01-18 15:08:08.342 <6>[34823.217900][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : ffffffff: .....: Running instances: 01-18 15:08:08.342 <6>[34823.217903][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : ffffffff: .....: type| w| h| fps| opr|prop 01-18 15:08:08.342 <6>[34823.217906][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000001: h265d: 1|1280| 720| 30| 30| R 01-18 15:08:08.342 <6>[34823.217907][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000002: h265d: 1|1080|1920| 30| 60| R 01-18 15:08:08.342 <6>[34823.217909][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000004: h264d: 1| 592|1280| 30| 30| R 01-18 15:08:08.342 <6>[34823.217910][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: h264e: 0| 592|1280| 30| 30| R 01-18 15:08:08.342 <6>[34823.217912][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: h264e: msm_vidc_check_session_supported: Hardware is overloaded 01-18 15:08:08.342 <6>[34823.217914][T18130] [2022:01:18 15:08:07](6)[18130:EvtQ_c2.qti.avc]msm_vidc: err : 00000003: h264e: msm_venc_s_fmt: session not supported
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tU3uKyg0-1664770570450)(…/知识点图片/解码器异常.png)]
----新建指纹,向导视频播放失败
场景:用户新建指纹时
现象:新建指纹时,未播放的指纹向导视频,提示播放错误
根因:多路编解码超过芯片的编解码上限导致视频无法加载。后台播放bilibili 1080p 30fps规格的视频,前台新建指纹视频为1080*1080*60fps。二者加起来超过芯片1920*1080*60的规格。