類似如下fail:
android.video.cts.VideoEncoderDecoderTest#testH263Other0Perf0176x0144
12-07 10:22:05.220 9023 9038 I TestRunner: junit.framework.AssertionFailedError: Expected achievable frame rates for OMX.MTK.VIDEO.ENCODER.H263 video/3gpp 176x144: [500.0, 800.0].
12-07 10:22:05.220 9023 9038 I TestRunner: Measured frame rate: [94.65796753231714, 121.91648510569422].
按google的說法,是先做測試,然後反推出相關的參數,可以參考如下Google 官方link:
https://source.android.com/devices/media/oem.html#2_achievable_frame_rates_for_video_codecs
以上面的fail爲例:
可以看出項目OMX.MTK.VIDEO.ENCODER.H263 video/3gpp 176x144實際的frame rates只有[94.65796753231714, 121.91648510569422],說明項目中OMX.MTK.VIDEO.ENCODER.H263 [500.0, 800.0]的配置確實太高了,所以在media_codecs_performance.xml中調整一個合適的range ,比如[90,300]就可以pass
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="90-300" />