您的位置:首页 > 新闻 > 资讯 > Android-Q升级-Camera记录

Android-Q升级-Camera记录

2024/12/21 20:06:36 来源:https://blog.csdn.net/weixin_39732855/article/details/139478012  浏览:    关键词:Android-Q升级-Camera记录

目录

代码环境

建立Android Q使用的camera仓

Camera底层适配

camx

 原生接口变化

其他编译问题

chi-cdk

数据类型不匹配

case未加break的报错

libalRnBRT_GL_GBWRAPPER链接问题

vidhance编译错误

libarcsat链接问题

vendor/qcom/proprietary

prebuilt_HY11

调试camera遇到的问题

Qcom Android Q PreES的代码,framework中

Qcom Android Q ES代码

骁龙相机的报错

拍照闪退

前置无法1080P录像

Q相机无法使用

骁龙相机界面选项裁剪

E5G打开camera后,点出后面的指纹模块,app界面必现一层蓝框

Camera相关的修改


代码环境

详细请见CM的邮件:[8150-Q]New 3rd party software release

编译代码:

source ./build/envsetup.sh 

lunch <product-name>-userdebug

chmod +x build.sh

./build.sh -j8

(以上环境可能会变,以CM最新发送为准)

建立Android Q使用的camera仓

Qcom release的Android Q源码,很多仓是没有的,对于如下仓都需要申请创建:

a. chi-cdk需要是单独的仓(跟随F1 P,否则不好打patch)

platform/vendor/qcom-proprietary/chi-cdk

b.release的代码是没有camx的,需要创建camx

platform/vendor/qcom-proprietary/camx

c.其他camera底层相关的仓

platform/vendor/xxxx/proprietary/dualcamera_cal

platform/vendor/qcom-proprietary/camx-lib-stats

platform/vendor/xxxx/proprietary/algorithm_manager

具体添加仓的步骤,需要咨询CM

Camera底层适配

camx

 原生接口变化

原生camera接口定义主要在:hardware/libhardware/include/hardware/camera3.h,Android Q上 camera3_device_ops_t, camera3_stream_configuration_t, camera3_callback_ops_t 等结构体有修改;

camx接口定义主要在:

  camx/src/core/hal/camxcommontypes.h

  src/core/hal/camxhal3entry.cpp

  src/core/hal/camxhal3types.h

  src/core/hal/camxhal3types.cpp

其中需要修改/增加不少CAMX_STATIC_ASSERT,高通提供的新camx直接注释掉了这些被修改接口的assert,这样有风险,hal中会使用这些做指针拷贝,如果camx的定义和原生接口不匹配有很大风险;

其他编译问题

a. case未加break的报错

error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]

b. 数据类型不匹配

chi-cdk

数据类型不匹配

case未加break的报错

libalRnBRT_GL_GBWRAPPER链接问题

04-02 03:31:04.783  8752  8752 E CamX    : [ERROR][UTILS  ] camxosutilslinux.cpp:874 LibMap() dlopen: dlopen failed: cannot locate symbol "_ZN7android13GraphicBuffer4lockEjPPv" referenced by "/vendor/lib64/libalRnBRT_GL_GBWRAPPER.so"..., on '/vendor/lib64/camera/components/com.altek.node.distortioncorrection.so'

原因:这个是Android Q上android::GraphicBuffer::lock修改了,导致 libalRnBRT_GL_GBWRAPPER 使用错误,主要

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com