AndroidP Mtk Camera Picture size和Preview size配置
Android 8.0和9.0最大的变化是底层谷歌不在支持hal1.0,而强制转换为hal3.0。这个对于mtk代码,也许变化是非常大的,mtk基本上一直使用的是hal1.0+camera api1.0的搭配组合。所以在相关底层配置方面差异也是巨大的。
这篇文章讲的只是配置,而不是插值,毕竟像素这东西还是按照camera sensor所支持的最大值吧。当然如果需要插值,其实也是一样的流程。
配置picture size或preview size,我们是不需要管底层的,一般来说,底层相关值已经配置好了,我们需要做的是配置feature table和上层。
9.0修改插值配置路径:
57P/vendor/mediatek/proprietary/custom/mt6757/hal/imgsensor_metadata/s5k3m2_mipi_raw
CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS)//new hidden
CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_MIN_FRAME_DURATIONS)//new hidden
CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_STALL_DURATIONS)//new hidden
HAL_PIXEL_FORMAT_BLOB表示Picture-size
HAL_PIXEL_FORMAT_YCbCr_420_888表示Preview-size
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED应该表示Video-size
比如在HAL_PIXEL_FORMAT_BLOB中:
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //16mp 4:3
CONFIG_ENTRY_VALUE(4640, MINT32)
CONFIG_ENTRY_VALUE(3480, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //16mp 16:9
CONFIG_ENTRY_VALUE(5376, MINT32)
CONFIG_ENTRY_VALUE(3024, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //13mp 4:3
CONFIG_ENTRY_VALUE(4160, MINT32)
CONFIG_ENTRY_VALUE(3120, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //13mp 16:9
CONFIG_ENTRY_VALUE(4864, MINT32)
CONFIG_ENTRY_VALUE(2736, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //8mp 4:3
CONFIG_ENTRY_VALUE(3264, MINT32)
CONFIG_ENTRY_VALUE(2448, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //8mp 16:9
CONFIG_ENTRY_VALUE(3840, MINT32)
CONFIG_ENTRY_VALUE(2160, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //5mp 4:3
CONFIG_ENTRY_VALUE(2560, MINT32)
CONFIG_ENTRY_VALUE(1920, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT32) //5mp 16:9
CONFIG_ENTRY_VALUE(3072, MINT32)
CONFIG_ENTRY_VALUE(1728, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
比如在HAL_PIXEL_FORMAT_YCbCr_420_888中:
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE(1920, MINT32)
CONFIG_ENTRY_VALUE(1088, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE(1920, MINT32)
CONFIG_ENTRY_VALUE(1080, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE(1280, MINT32)
CONFIG_ENTRY_VALUE( 720, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 720, MINT32)
CONFIG_ENTRY_VALUE( 480, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 960, MINT32)
CONFIG_ENTRY_VALUE( 720, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 800, MINT32)
CONFIG_ENTRY_VALUE( 600, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 640, MINT32)
CONFIG_ENTRY_VALUE( 480, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 352, MINT32)
CONFIG_ENTRY_VALUE( 288, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 320, MINT32)
CONFIG_ENTRY_VALUE( 240, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT32)
CONFIG_ENTRY_VALUE( 176, MINT32)
CONFIG_ENTRY_VALUE( 144, MINT32)
CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT32)
最后修改此文件可以通过mm vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/ push生成的对应库文件调试。## 标题
链接: link.