AndroidP Mtk Camera Picture size和Preview size配置及快速编译方法

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.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值