[FAQ15952] [Others] Camera 相关的Makefile Option详解

[DESCRIPTION]
列举了所有Camera相关的Makefile Option,并对其功能含义和Option Values做了详细的解释。

[KEYWORD]
Others
[SOLUTION]
YUVCAM_INTERPOLATION
 # Description:
  #   决定是否需要插值以及用什么方式进行插值(所谓插值就是拍照的照片比Sensor实际的像素还要大,如Sensor是2M的,但实际上拍出的照片是3M的)。
  # Option Values:
  #   SW:                      软件(即Sensor进行CRZ之后encode成jpeg阶段进行软件向上一级插值)向上插值一级,这个宏打开后,会影响到buffer的分配以及菜单的显示,SW的方式优点是省Memory,缺点是速度比HW要慢。
  #   HW                       硬件(即使用Capture Resize的Scale Up功能)向上插值一级,该宏打开后,会影响到buffer的分配以及菜单的显示
  #   NONE:                  sensor不进行插值。
注:这个宏打开只能实现向上插值一级,并且某些平台只能软件插值 ,这个宏不打开,手动进行插值也可以,当需要向上插值多级时,需要改变某些宏的定义并添加菜单。


CONTOUR_IMPROVEMENT_SUPPORT
 # Description:
  #   决定是否打开Dithering的功能,为了解决由于RGB888或YUV422转换为RGB565造成的Color Lost导致图像一圈一圈的现象(也叫Color Banding或牛顿环),主要是Improve相机预览时的效果。
  # Option Values:
  #  TRUE:                      往画面中随机插入一些噪点,会降低一点清晰度,但是能有效改善Color Banding现象,LCM的Gamma推荐使用Gamma 2.2.
  #   FALSE                    如果光晕现象不明显,可以选择关闭此宏
注:在某些平台上不能将此宏和face detect同时打开,是因为CPU的限制,都打开会影响Performance,目前只有MT6235 & MT6253才需要打开这个宏,其它平台Camera Preview使用YUV422的格式,不会有Contour的现象。


SENSOR_ROTATE
 # Description:
  #   该宏决定preview的时候按照sensor的模组输出还是需要进行旋转。
              Rotate: preview的layer作rotate,在11A、11B前只有0度和90度生效。在11A、11B后与Horizontal_camera配合使用
    度数为顺时针的度数            
  # Option Values:
  #  SENSOR_ROTATE_0                      不做旋转
  #  SENSOR_ROTATE_90                   顺时针旋转90度
#  SENSOR_ROTATE_180                   顺时针旋转180度
#  SENSOR_ROTATE_270                   顺时针旋转270度
注:11A之前的版本只有0度和90度的才有效,其他方向的无效。11A,11B之后的版本横装的sensor打开横拍模式的宏时同时要打开rotate 90度

JPEG_SENSOR_SUPPORT
 # Description:
  #   该宏决定是否支持JPEG sensor
        Jpeg sensor:拍照时sensor吐出的数据是jpeg格式的,但preview的不是jpeg数据,一般是YUV的。Jpeg senor拍照时的数据量很小(省Memory),帧率可以比较大,但前提是该sensor有jpeg encode这个模块,像MT6255平台最大可以支持3M的YUV Sensor,若要支持5M的Sensor,则需要使用JPEG Sensor。
  # Option Values:
  #  TRUE:       当前选择的是jpeg sensor
  #  FALSE:     当前选择的不是jpeg sensor
注:目前有MT6276 & MT6255可以支持jpeg sensor。 

FLASHLIGHT_MODULE
 # Description:
  #  闪光灯模组和sensor模组类似,这个宏包了闪光灯模组的代码,不同的闪光灯模组需要不同的driver驱动,需要定义宏变量来控制 ,这个Option只有使用XENON Flash(氙气闪光灯的时候才需要,一般的LED闪光灯该 Option设置为NONE)
  # Option Values:
  #  IMCR3603_S010A0:       跑该模组的driver
  #  NONE:     没有flashlight模块
注: 

ISO_PRIORITY_MODE_SUPPORT
 # Description:
  # 这个宏只有在Camera/Video分开的版本里有作用,在Camcorder的版本里不使用这个宏了,如果设置这个Option为TRUE,那么在Option Menu中将会出现ISO Auto, ISO 100, ISO 200, ISO 400等这样些菜单。而在Camcorder的代码中已经改成从Sensor Driver去Query当前Sensor支持的ISO能力。
  # Option Values:
  #  TRUE:      
  #  FALSE:     

ISP_SUPPORT
 # Description:
  #  ISP(Image Signal Processing) 图像信号处理。主要用来对前端图像传感器输出信号处理的单元,以匹配不同厂商的图象传感器。           
  # Option Values:
  #  TRUE:       表示BB有ISP模块处理数据
  #  FALSE:     BB没有ISP模块,不支持图像信号处理
注:当需要Camera功能的时候,这个宏都是设为TRUE

MSHUTTER_SUPPORT
 # Description:
  #      快门英文名称为Shutter,快门是相机上控制感光片有效曝光时间的一种装置。   MSHUTTER是机械快门
  # Option Values:
  #  TRUE:      使用的是MSHUTTER
  #  FALSE:    使用的是电子shutter
注:因为我们使用的都是CMOS sensor,所以这个宏都是FALSE 

 SENSOR_LOCATION
 # Description:
  #   Sensor一般可以装在后盖上,也可以装在前盖上,或者翻盖手机的里面,设置这个宏会影响前面的SENSOR_ROTATE最终生效的值。(会对应的做Mirror或Flip)
  # Option Values:
  #  SENSOR_ON_:       
  #  SENSOR_ON_CLAM:    
  #  SENSOR_INSIDE_CLAM

EXIF_SUPPORT
 # Description:
  #   用来打开和关闭EXIF功能,EXIF是Exchangeable Image File Format的缩写,是数码相机的一种特殊文件格式。拍照完成后可以将快门速度,曝光时间等信息集成到图像文件中,目前支持的版本是Exif Version 2.2.
  # Option Values:
  #   TRUE:                     打开
#   FALSE:                  关闭

CAMCORDER_SUPPORT
 # Description:
  #  该宏用来控制打开摄录像机应用,如果打开则关闭camera和video recorder,其值有4种:FULL、STANDAND、SLIM、CUSTOM、NONE,不同的值表示camcorder所支持的拍照模式不一样。
  # Option Values:
  #   FULL:                      说明camcorder支持的功能比较全,包括add frame、bss、 burstshot、ebs、panaroma,HDR等所有的拍照模式都支持。
  #   STANDARD:            支持add frame, bss。
  #   SLIM:               只支持normal 和 contshot。
  #   CUSTOM:              默认支持add frame, burstshot, ebs,HDR; 如果您想自己选择实现哪几个功能,可以把值赋为CUSTOM,它所支持的功能是可以去客制化的。
#   NONE:              关闭camcorder应用。

CAMCORDER_FACE_DETECTION_MODE_SUPPORT
 # Description:
  #  用来打开或关闭camcorder应用中的人脸检测功能。
  # Option Values:
  #   TRUE:                     打开
  #   FALSE:                  关闭
 
CAMCORDER_SMILE_SHUTTER_MODE_SUPPORT
 # Description:
  #  用来打开或关闭camcorder应用中的笑脸拍摄功能。
  # Option Values:
  #   TRUE:                     打开
  #   FALSE:                  关闭

PANORAMA_VIEW_SUPPORT
 # Description:
  #  用来打开或关闭camcorder应用中的全景拍照功能,全景拍即拍三张照片再合成一张宽画幅的照片。
  # Option Values:
  #   TRUE:                      打开
  #   FALSE:                   关闭

JPG_DECODE
 # Description:
  #  用来打开或关闭jpeg Decorder, 会在Option.mak里根据Platform HW 的Capability来决定是使用HW还是SW的Codec。
  # Option Values:
  #   TRUE:                     打开
  #   FALSE:                  关闭

JPG_ENCODE
 # Description:
  #  用来打开或关闭jpeg Encorder,会在Option.mak里根据Platform HW 的Capability来决定是使用HW还是SW的Codec。
  # Option Values:
  #   TRUE:                   打开
  #   FALSE:                 关闭

CFG_MMI_CAMERA_RECORDER_ONE_KEY_TOGGLE
 # Description:
  #  用来打开或关闭camera和recorder间的一键切换功能。
  # Option Values:
  #   __ON__:                     打开
#   __OFF__:                  关闭

AF_AUXI_LED_SUPPORT
 # Description:  这个是AF辅助对焦灯的功能(因为环境很暗的时候找不到Edge,所以没法实现对焦,需要将物体照亮才行),可以使用LED灯来作为AF的辅助对焦灯,这个在Lowlight的环境会自动打开,亮的环境不会打开。
# Option Values:
            TRUE: 支持自动对焦
            FALSE:不支持自动对焦 

AF_SUPPORT
 # Description:
#决定是否采用自动对焦功能
            TRUE: 支持自动对焦
            FALSE:不支持自动对焦 

BACKUP_SENSOR_SUPPORT
 # Description:
#决定是否支持备用型号sensor,即同一个软件包可以支持不同的Sensor,当更换了Sensor之后,不需要重新Download,但需要重新Format FAT(因为不同Sensor需要Load不同的Parameter)。
目前支持Backup一颗Sensor。
            TRUE:支持
            FALSE:不支持

DUAL_CAMERA_SUPPORT
 # Description:
#决定是否支持双camera sensor,一般在3G的版本里面因为会有前置和后置两颗Sensor,都会设置为TRUE。
            TRUE:支持
            FALSE:不支持

CMOS_SENSOR
 # Description:
#对应camera sensor的型号,若该Sensor型号是以SERIAL结尾,则说明这是一颗Serial Sensor,会在Option.mak中定义__SERIAL_SENSOR_SUPPORT__的宏
            CMOS_SENSOR = (sensor 型号)

CMOS_SENSOR_BAK1
 # Description:
#主sensor的备用sensor
            NONE:不支持
            (OTHER: sensor型号):子sensor的型号

SENSOR_TYPE
 # Description:
#支持的主camera sensor的类型
            YUV: YUV SENSOR,除了MT6251之外的所有BB都支持。
        对应的Sensor Driver位于mcu\custom\drv\yuv_sensor\xxx\*.*
            RAW: RAW SENSOR,目前有MT6236/MT6268平台可以支持
        对应的Sensor Driver位于:mcu\custom\drv\image_sensor\xxx\*.*
DIRECT: 用于MTK平台较老的没有ISP的baseband MT6223C,其它平台都不支持。
NONE:不支持camera

CMOS_SENSOR_SUB
 # Description:
#对应子sensor的型号
            CMOS_SENSOR_SUB = (子sensor型号)

CMOS_SENSOR_SUB_BAK1
 # Description:
#子sensor的备用型号
            NONE:不支持
            (OTHER: sensor型号):备用子sensor的型号

SENSOR_SUB_ROTATE
 # Description:
#子sensor的旋转角度
            SENSOR_ROTATE_0:子sensor不作旋转
            SENSOR_ROTATE_180:子sensor对应的画面旋转180度

SENSOR_TYPE_SUB
#子sensor的类型
YUV: 子sensor类型为YUV SENSOR
            RAW: 子sensor类型为RAW SENSOR
NONE:不支持子camera

CAPTURE_SCENARIO
[DESCRIPTION]
#决定Capture的时候是走On the fly还是Off line的方式。
        Off Line概念:即Sensor 输出的数据会先Dump到Memory里面再进行处理,以提高拍照帧率。
        On the Fly概念:Sensor输出的数据直接以Pipe line的方式给BB进行处理。
 [Option Values]
#   OFFLINE:    因为Digital Zoom的时候,Resizer需要更多的时间来处理,若以Pipe line(On the fly)的方式,则需要降低Sensor输出的帧率,为了提高Capture的帧率(可以减小Shutter Delay)从而引入了这种拍照模式。
#   STANDARD:     没有Digital Zoom(即1X)的时候走On the fly的流程(用以提高Capture帧率),当Zoom倍数不为0的时候走Off Line的流程(从而Capture不需要降你帧率)。
  #  ON_THE_FLY:     YUV Sensor只可以使用On the fly的流程,Raw Sensor,这种拍照流程都可以设置。

FLASHLIGHT_TYPE
[DESCRIPTION]
# 设置flashlight的类型。根据有无Flash LED以及Flash LED的操作模式可以分为LED_ONOFF_SUPPORT、LED_FLASHLIGHT_SUPPORT和NONE三种。
[Option Values]
#   LED_ONOFF_SUPPORT:    如果Flash LED的操作模式为Torch mode,则FLASHLIGHT_TYPE宏设为LED_ONOFF_SUPPORT。在Torch mode下,不支持峰值电流或峰值电流的时间较短,补光效果较差,常应用于手电筒。并且该模式下,用UI上的LED菜单来控制LED,当设置为on时,LED会一直保持开的状态直至设置为off。
#   LED_FLASHLIGHT_SUPPORT:     如果Flash LED的操作模式为Flash mode,则FLASHLIGHT_TYPE宏设为LED_FLASHLIGHT_SUPPORT。在Flash mode下,支持峰值电流并且峰值电流的时间较长,补光效果较好,常应用于闪光灯。并且该模式下,用UI和算法共同控制LED的开关,可以实现先预闪再主闪的功能(类似相机的做法),闪两次。
#   NONE:   不支持FLASHLIGHT。

HORIZONTAL_CAMERA
[DESCRIPTION]
#决定是否打开horizontal camera功能,若设置为TRUE,定义它为全局编译宏。
[Option Values]
#   TRUE:    Camera或者 Camcorder 用水平的UI界面。当设置为TRUE时,
11A(含)之后该宏只控制UI的部分,需要与SensorRotate配合才能将 preview画面旋转。
10A(含)之前的版本打开横拍的功能只需要设置该宏为TRUE即可。
#   FALSE:  camera 或者camcorder用竖直的 UI界面。

LENS_MODULE
[DESCRIPTION]
#设定主camera的lens module。它的值要么为NA,即特定的lens module,要么为NONE。如果它的值从NA变为NONE,则AF_SUPPORT必须设置为FALSE;若它的值从NONE变为NA,则AF_SUPPORT必须设置为TRUE。
[Option Values]
#   NA:    特定的lens module。对于RAW sensor,外挂lens module,需要正确设置。
#   NONE:     不支持LENS_MODULE。对于YUV sensor,集成了AF功能,不需要lens module.

LENS_MODULE_BAK1
[DESCRIPTION]
# 设置主备用camera的lens module。它的值要么为NA,即特定的lens module,要么为NONE。如果它的值从NA变为NONE,则AF_SUPPORT必须设置为FALSE;若它的值从NONE变为NA,则AF_SUPPORT必须设置为TRUE。
[Option Values]
#   NA:    特定的lens module。对于RAW sensor,外挂lens module,需要正确设置。
#   NONE:  不支持LENS_MODULE。对于YUV sensor,集成了AF功能,不需要lens module

WEBCAM_SUPPORT
[DESCRIPTION]
#决定是否打开webcam(网络摄像头)这个功能,会使用Motion JPEG的方式,即BB端会将Sensor过来的每帧数据都Encode成JPEG,再将些JPEG数据透过USB Cable传到PC端进行Decode,若设置为TRUE,定义它为全局编译宏
 [Option Values]
#   TRUE:    打开webcam功能。
#    FALSE:   不打开webcam功能。

YUVCAM_ENCODE_DIRECT_WRITE_FILE
[DESCRIPTION]
#决定YUVCAM编码时,是边编码边写到文件中,还是编码完成以后再写到文件中去。
 [Option Values]
#   TRUE:    YUVCAM编码时,边编码边写到文件中,可以节省memory,但缺点是速度慢。
#   FALSE:   YUVCAM编码时,编码完成以后再写到文件中。一般都将YUVCAM_ENCODE_DIRECT_WRITE_FILE设置为FALSE。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值