展讯相机添加设置项(VendorTag)

添加自定义水印开关为例:
底层添加

diff --git a/vendor/sprd/modules/libcamera/common/inc/cmr_common.h b/vendor/sprd/modules/libcamera/common/inc/cmr_common.h
index a83a90eb89d..ef6a1bedf47 100755
--- a/vendor/sprd/modules/libcamera/common/inc/cmr_common.h
+++ b/vendor/sprd/modules/libcamera/common/inc/cmr_common.h
@@ -2067,6 +2067,7 @@ enum camera_param_type {
     CAMERA_PARAM_SPRD_CALLBACK_EXPO_TIME,
     CAMERA_PARAM_SPRD_CALLBACK_SENSITIVITY,
     CAMERA_PARAM_SPRD_CALLBACK_AE_MODE,
+    CAMERA_PARAM_SPRD_CUSTOMIZE_WATERMARK_ENABLED, //bv zhoudengfu add for customize water mark 20230627
     CAMERA_PARAM_TYPE_MAX
 };
 
diff --git a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Channel.cpp b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Channel.cpp
index 3e1ca323490..b8cb7891f55 100755
--- a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Channel.cpp
+++ b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Channel.cpp
@@ -1944,6 +1944,12 @@ int SprdCamera3MetadataChannel::start(uint32_t frame_number) {
             HAL_LOGV("ANDROID_SPRD_TIMEWATERMARK_ENABLED");
             mOEMIf->SetCameraParaTag(ANDROID_SPRD_TIMEWATERMARK_ENABLED);
             break;
+        //bv zhoudengfu add for customize water mark start 20230627
+        case ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED:
+            HAL_LOGV("ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED");
+            mOEMIf->SetCameraParaTag(ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED);
+            break;
+        //bv zhoudengfu add for customize water mark end 20230627
         case ANDROID_SPRD_ADJUST_FLASH_LEVEL:
             HAL_LOGV("ANDROID_SPRD_ADJUST_FLASH_LEVEL");
             mOEMIf->SetCameraParaTag(ANDROID_SPRD_ADJUST_FLASH_LEVEL);
diff --git a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3OEMIf.cpp b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3OEMIf.cpp
index c2148c7e52e..1bb0346bed9 100755
--- a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3OEMIf.cpp
+++ b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3OEMIf.cpp
@@ -10201,6 +10201,16 @@ int SprdCamera3OEMIf::SetCameraParaTag(cmr_int cameraParaTag) {
                  CAMERA_PARAM_SPRD_TIME_WATERMARK_ENABLED,
                  sprdInfo->sprd_is_time_watermark);
     } break;
+    //bv zhoudengfu add for customize water mark start 20230627
+    case ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED: {
+        SPRD_DEF_Tag *sprdInfo;
+        sprdInfo = mSetting->getSPRDDEFTagPTR();
+        SET_PARM(mHalOem, mCameraHandle,
+                 CAMERA_PARAM_SPRD_CUSTOMIZE_WATERMARK_ENABLED,
+                 sprdInfo->sprd_is_customize_watermark);
+    } break;
+    //bv zhoudengfu add for customize water mark end 20230627
+
     case ANDROID_SPRD_SUPER_MACROPHOTO_ENABLE: {
         SPRD_DEF_Tag *sprdInfo;
         sprdInfo = mSetting->getSPRDDEFTagPTR();
diff --git a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.cpp b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.cpp
index e949bd968d8..c39fcbebdd3 100755
--- a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.cpp
+++ b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.cpp
@@ -4972,6 +4972,10 @@ int SprdCamera3Setting::constructDefaultMetadata(int type,
                        &sprdWaterMarkEnabled, 1);
     requestInfo.update(ANDROID_SPRD_TIMEWATERMARK_ENABLED,
                        &sprdWaterMarkEnabled, 1);
+    //bv zhoudengfu add for customize water mark start 20230627
+    requestInfo.update(ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED,
+                       &sprdWaterMarkEnabled, 1);
+    //bv zhoudengfu add for customize water mark end 20230627
 
     uint8_t sprd_calibration_otp_result = 0;
     requestInfo.update(ANDROID_SPRD_CALIBRATION_OTP_RESULT,
@@ -6240,6 +6244,16 @@ int SprdCamera3Setting::updateWorkParameters(
             ANDROID_SPRD_TIMEWATERMARK_ENABLED, 1);
     }
 
+    //bv zhoudengfu add for customize water mark start 20230627
+    if (frame_settings.exists(ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED)) {
+        valueU8 =
+            frame_settings.find(ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED).data.u8[0];
+        GET_VALUE_IF_DIF(
+            s_setting[mCameraId].sprddefInfo.sprd_is_customize_watermark, valueU8,
+            ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED, 1);
+    }
+    //bv zhoudengfu add for customize water mark end 20230627
+
     if (frame_settings.exists(ANDROID_SPRD_ULTRA_DISTORTION_CORRECT_ENABLE)) {
         valueU8 =
             frame_settings.find(ANDROID_SPRD_ULTRA_DISTORTION_CORRECT_ENABLE).data.u8[0];
diff --git a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.h b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.h
index c0757acd812..b1ae6b1ada3 100755
--- a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.h
+++ b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3Setting.h
@@ -494,6 +494,7 @@ typedef struct {
     uint8_t gesture_detect_enable;
     uint8_t gesture_detect_current;
     uint8_t is_first_request;
+    uint8_t sprd_is_customize_watermark; //bv zhoudengfu add for customize water mark 20230627
 } SPRD_DEF_Tag;
 
 typedef struct {
diff --git a/vendor/sprd/modules/libcamera/include/SprdCamera3.h b/vendor/sprd/modules/libcamera/include/SprdCamera3.h
index fad7ae58802..d91779d781f 100755
--- a/vendor/sprd/modules/libcamera/include/SprdCamera3.h
+++ b/vendor/sprd/modules/libcamera/include/SprdCamera3.h
@@ -276,6 +276,7 @@ static tags_info_t
         {"sprdGesturedetectEnabled", TYPE_BYTE},
         {"sprdGesturedetectCurrent", TYPE_BYTE},
         {"sprdBypassBlcEnable", TYPE_BYTE},
+        {"sprdCustomizeWatermarkEnabled", TYPE_BYTE}, //bv zhoudengfu add for customize water mark 20230627
 };
 
 tags_info_t *cam_tag_info[ANDROID_VENDOR_SECTION_COUNT] = {
diff --git a/vendor/sprd/modules/libcamera/include/SprdCamera3Tags.h b/vendor/sprd/modules/libcamera/include/SprdCamera3Tags.h
index 5dc6feed997..c7c436b1062 100755
--- a/vendor/sprd/modules/libcamera/include/SprdCamera3Tags.h
+++ b/vendor/sprd/modules/libcamera/include/SprdCamera3Tags.h
@@ -137,6 +137,9 @@ typedef enum sprd_camera_ext_tags {
     ANDROID_SPRD_GESTUREDETECT_ENABLED,
     ANDROID_SPRD_GESTUREDETECT_CURRENT,
     ANDROID_SPRD_BYPASS_BLC_ENABLE,
+    //bv zhoudengfu add for customize water mark start 20230627
+    ANDROID_SPRD_CUSTOMIZE_WATERMARK_ENABLED,
+    //bv zhoudengfu add for customize water mark end 20230627
     VENDOR_SECTION_END,
     /*not parameter but only flag between framework and hal*/
     /*sprd add flag end*/
diff --git a/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_setting.h b/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_setting.h
index d68aa9db907..32292ea0a49 100755
--- a/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_setting.h
+++ b/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_setting.h
@@ -124,6 +124,7 @@ enum setting_cmd_type {
     SETTING_RESET_CALLBACK_STREAM_INFO,
     SETTING_CTRL_AE_CAP_PARAM,
     SETTING_CLEAR_AE_CAP_PARAM,
+    SETTING_GET_SPRD_CUSTOMIZE_WATERMARK, //bv zhoudengfu add for customize water mark 20230627
     SETTING_TYPE_MAX
 };
 
diff --git a/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_watermark.h b/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_watermark.h
index 88f0f2b033b..65335468570 100644
--- a/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_watermark.h
+++ b/vendor/sprd/modules/libcamera/oem2v6/inc/cmr_watermark.h
@@ -5,6 +5,8 @@
 
 #define WATERMARK_LOGO (1 << 0)
 #define WATERMARK_TIME (1 << 1)
+#define WATERMARK_CUSTOMIZE (1 << 2) //bv zhoudengfu add for customize water mark 20230627
+
 
 typedef struct {
     int imgW;
diff --git a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_oem.c b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_oem.c
index 74b14a61d67..50f5888d136 100755
--- a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_oem.c
+++ b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_oem.c
@@ -5748,6 +5748,13 @@ cmr_u32 camera_get_watermark_flag(cmr_handle oem_handle) {
     if (setting_param.cmd_type_value)
         watermark_flag |= WATERMARK_TIME;
 
+    //bv zhoudengfu add for customize water mark start 20230627    
+    ret = cmr_setting_ioctl(setting_cxt->setting_handle,
+                            SETTING_GET_SPRD_CUSTOMIZE_WATERMARK, &setting_param);
+    if (setting_param.cmd_type_value)
+        watermark_flag |= WATERMARK_CUSTOMIZE;
+    //bv zhoudengfu add for customize water mark end 20230627    
+
     return watermark_flag;
 }
 
@@ -15541,6 +15548,13 @@ cmr_int camera_set_setting(cmr_handle oem_handle, enum camera_param_type id,
         ret = cmr_setting_ioctl(cxt->setting_cxt.setting_handle, id,
                                 &setting_param);
         break;
+    //bv zhoudengfu add for customize water mark start 20230627
+    case CAMERA_PARAM_SPRD_CUSTOMIZE_WATERMARK_ENABLED:
+    setting_param.cmd_type_value = param;
+    ret = cmr_setting_ioctl(cxt->setting_cxt.setting_handle, id,
+                            &setting_param);
+    break;
+    //bv zhoudengfu add for customize water mark end 20230627
     case CAMERA_PARAM_SPRD_AUTOCHASING_REGION_ENABLE:
         setting_param.cmd_type_value = param;
         ret = cmr_setting_ioctl(cxt->setting_cxt.setting_handle, id,
diff --git a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_setting.c b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_setting.c
index 655c03e9758..005f610bb3e 100755
--- a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_setting.c
+++ b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_setting.c
@@ -195,6 +195,7 @@ struct setting_hal_param {
     cmr_uint p2p_enable;//picture in picture
     cmr_uint sprd_logo_watermark;
     cmr_uint sprd_time_watermark;
+    cmr_uint sprd_customize_watermark; //bv zhoudengfu add 20230627
     struct img_size originalPictureSize;
     cmr_uint is_super_macrophoto;
     cmr_uint is_enable_flash_cali;
@@ -2892,6 +2893,31 @@ static cmr_int setting_get_time_watermark(struct setting_component *cpt,
     return ret;
 }
 
+//bv zhoudengfu add for customize water mark start 20230627
+static cmr_int setting_set_customize_watermark(struct setting_component *cpt,
+                                struct setting_cmd_parameter *parm) {
+    cmr_int ret = 0;
+    struct setting_hal_param *hal_param = get_hal_param(cpt, parm->camera_id);
+
+    hal_param->sprd_customize_watermark = parm->cmd_type_value;
+    CMR_LOGD("customize watermark=%d", hal_param->sprd_customize_watermark);
+
+    return ret;
+}
+
+static cmr_int setting_get_customize_watermark(struct setting_component *cpt,
+                                struct setting_cmd_parameter *parm) {
+    cmr_int ret = 0;
+    struct setting_hal_param *hal_param = get_hal_param(cpt, parm->camera_id);
+
+    parm->cmd_type_value = hal_param->sprd_customize_watermark;
+    CMR_LOGD("customize watermark=%d", hal_param->sprd_customize_watermark);
+
+    return ret;
+}
+//bv zhoudengfu add for customize water mark end 20230627
+
+
 static cmr_int setting_set_environment(struct setting_component *cpt,
                                        struct setting_cmd_parameter *parm) {
     ATRACE_BEGIN(__FUNCTION__);
@@ -4584,10 +4610,18 @@ static setting_ioctl_fun_ptr setting_list[SETTING_TYPE_MAX] = {
                              setting_set_logo_watermark,
     [CAMERA_PARAM_SPRD_TIME_WATERMARK_ENABLED] =
                              setting_set_time_watermark,
+    //bv zhoudengfu add for customize water mark start 20230627                         
+    [CAMERA_PARAM_SPRD_CUSTOMIZE_WATERMARK_ENABLED] =
+                             setting_set_customize_watermark,
+    //bv zhoudengfu add for customize water mark end 20230627                                                  
     [SETTING_GET_SPRD_LOGO_WATERMARK] =
                              setting_get_logo_watermark,
     [SETTING_GET_SPRD_TIME_WATERMARK] =
                              setting_get_time_watermark,
+    //bv zhoudengfu add for customize water mark start 20230627                         
+    [SETTING_GET_SPRD_CUSTOMIZE_WATERMARK] =
+                             setting_get_customize_watermark,   
+    //bv zhoudengfu add for customize water mark end 20230627                                                                     
     [SETTING_CTRL_AE_NOTIFY] =
                              setting_ctrl_ae_adjust,
     [SETTING_CLEAR_AE_NOTIFY] =
diff --git a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_watermark.c b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_watermark.c
index 86fc2f6f37d..f9142563d8f 100755
--- a/vendor/sprd/modules/libcamera/oem2v6/src/cmr_watermark.c
+++ b/vendor/sprd/modules/libcamera/oem2v6/src/cmr_watermark.c
@@ -11,12 +11,18 @@
 
 #include "cmr_watermark.h"
 #include "math.h"
-
+#include "errno.h"
+#include "string.h"
 /* max number of char for time watermark */
 #define TIMESTAMP_CHAR_MAX (20)
 /* watermark source file path, attention: total(PATH+NAME) should < 256 */
 #define CAMERA_LOGO_PATH "/vendor/logo/"
 
+//#define CAMERA_CUSTOMIZE_LOGO_PATH "/data/data/com.android.camera2/files/watermark.rgba" //bv zhoudengfu add for customize water mark 20230627
+
+//#define CAMERA_CUSTOMIZE_LOGO_PATH "/storage/emulated/0/Documents/watermark.rgba"
+#define CAMERA_CUSTOMIZE_LOGO_PATH "/data/data/com.android.camera2/files/watermark.rgba"
+
 
 /* local function */
 static int camera_select_time_file(sizeParam_t *pt);
@@ -498,7 +504,8 @@ static int camera_get_logo_data(unsigned char *logo, sizeParam_t *size) {
         CMR_LOGE("file name too long");
         return -1;
     }
-    strcat(tmp_name, size->filename);
+    strcat(tmp_name, "watermark.rgba");
+    CMR_LOGW("open watermark path = %s",tmp_name);
     FILE *fp = fopen(tmp_name, "rb");
     if (fp) {
         len = (unsigned int)fread(logo, 1, size->logoW * size->logoH * 4, fp);
@@ -510,6 +517,33 @@ static int camera_get_logo_data(unsigned char *logo, sizeParam_t *size) {
 
     return -ENOENT;
 }
+
+//bv zhoudengfu add for customize water mark start 20230627
+static int camera_get_customize_logo_data(unsigned char *logo, sizeParam_t *size) {
+    char tmp_name[256];
+    unsigned int len = 0;
+
+    strcpy(tmp_name, CAMERA_CUSTOMIZE_LOGO_PATH);
+    if (strlen(tmp_name) + strlen(size->filename) > sizeof(tmp_name)) {
+        CMR_LOGE("file name too long");
+        return -1;
+    }
+    CMR_LOGW("open customize watermark path = %s",tmp_name);
+    FILE *fp = fopen(tmp_name, "rb");
+    if (fp) {
+        len = (unsigned int)fread(logo, 1, size->logoW * size->logoH * 4, fp);
+        fclose(fp);
+        if (len == size->logoW * size->logoH * 4)
+            return 0;
+    }
+
+    CMR_LOGW("open customize watermark fail errno = %d reason = %s", errno, strerror(errno));
+    CMR_LOGW("open customize watermark src file failed");
+
+    return -ENOENT;
+}
+//bv zhoudengfu add for customize water mark end 20230627
+
 /* combine image as:2019-10-10 10:37:45 with src
  * input: time source(rgba)
  * output: timestamp image as 2019-10-10 10:37:45, vertical
@@ -836,6 +870,38 @@ int watermark_add_yuv(int flag, unsigned char *pyuv, sizeParam_t *sizeparam,
     }
 _END_LOGO:
 
+//bv zhoudengfu add for customize water mark start 20230627
+    // customize watermark
+    if (flag & WATERMARK_CUSTOMIZE) {
+        flag &= (~WATERMARK_CUSTOMIZE);
+        ret = camera_select_logo(sizeparam);
+        if (ret) {
+            CMR_LOGW("Get logo src fail %d", ret);
+            goto _END_LOGO_CUSTOMIZE;
+        }
+        pwmark = (unsigned char *)malloc(sizeparam->logoW * sizeparam->logoH * 4);
+        if (NULL == pwmark) {
+            CMR_LOGE("Alloc mem for logo fail");
+            goto _END_LOGO_CUSTOMIZE;
+        }
+        /* If get pos from camera_select_logo, remove the code below
+         * pos: need align 2
+         */
+        sizeparam->posX = 0;
+        sizeparam->posY = 0;
+        ret = camera_get_customize_logo_data(pwmark, sizeparam);
+        if (ret) {
+            free(pwmark);
+            goto _END_LOGO_CUSTOMIZE;
+        }
+        ret = sprd_fusion_yuv420_rgba(pyuv, pwmark, sizeparam);
+        if (ret == 0)
+            flag |= WATERMARK_CUSTOMIZE;
+        free(pwmark);
+    }
+_END_LOGO_CUSTOMIZE:
+//bv zhoudengfu add for customize water mark end 20230627
+
     // time watermark
     if (flag & WATERMARK_TIME) {
         flag &= (~WATERMARK_TIME);

上层添加

```java
diff --git a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdAndroidCamera2Settings.java b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdAndroidCamera2Settings.java
index 9b73ead..c5975a7 100644
--- a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdAndroidCamera2Settings.java
+++ b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdAndroidCamera2Settings.java
@@ -246,6 +246,15 @@ public class SprdAndroidCamera2Settings extends AndroidCamera2Settings {
             Log.i(TAG, " set CONTROL_SPRD_FAST_THUMB: mFastThumbEnable = " + mFastThumbEnable);
             requestSettings.set(CONTROL_SPRD_FAST_THUMB, mFastThumbEnable);
         }
+
+        //bv zhoudengfu add for bv customize water mark start 20230609
+        if(mCurrentEnableCustomizeWatermark!= -1){
+            Log.i(TAG, " set ANDROID_SPRD_ENABLED: mCurrentEnableCustomizeWatermark = "
+                    + mCurrentEnableCustomizeWatermark);
+            requestSettings.set(ANDROID_SPRD_CUSTOMIZEWATERMARK_ENABLED, mCurrentEnableCustomizeWatermark);
+        }
+        //bv zhoudengfu add for bv customize water mark end 20230609
+
     }
 
     protected MeteringRectangle[] legacyAreasToMeteringRectanglesOnlyPreview(
diff --git a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCameraSettings.java b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCameraSettings.java
index b31474d..33b4937 100644
--- a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCameraSettings.java
+++ b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCameraSettings.java
@@ -82,6 +82,10 @@ public abstract class SprdCameraSettings {
     protected int mCurrentEnableFaceAttributes= -1;
     protected int mCurrentEnableSmileShutter= -1;
     protected boolean mCurrentGestureCapture = false;
+    //bv zhoudengfu add for bv customize water mark start 20230609
+    protected int mCurrentEnableCustomizeWatermark = -1;
+    //bv zhoudengfu add for bv customize water mark end 20230609
+
 
     protected static final int[] MAKE_UP_DEFAULT_VALUE = new int[]{0,0,0,0,0,0,0,0,0};
     protected boolean mCurrentNeedThumb = false;
@@ -163,6 +167,9 @@ public abstract class SprdCameraSettings {
         mCurrentSlidePosition = src.mCurrentSlidePosition;
         mSuperMacroPhotoEnable = src.mSuperMacroPhotoEnable;
         mCurrentGestureCapture = src.mCurrentGestureCapture;
+        //bv zhoudengfu add for bv customize water mark start 20230609
+        mCurrentEnableCustomizeWatermark = src.mCurrentEnableCustomizeWatermark;
+        //bv zhoudengfu add for bv customize water mark end 20230609
     }
 
     public void setAntibanding(CameraCapabilities.Antibanding antibanding) {
@@ -221,6 +228,11 @@ public abstract class SprdCameraSettings {
     }
     public int getLogoWatermarkEnable() { return mCurrentEnableLogoWatermark; }
     public int getTimeWatermarkEnable() { return mCurrentEnableTimeWatermark; }
+    //bv zhoudengfu add for bv customize water mark start 20230609
+    public void setCustomizeWatermarkEnable(int enable) { mCurrentEnableCustomizeWatermark = enable; }
+    public int getCustomizeWatermarkEnable() { return mCurrentEnableCustomizeWatermark; }
+    //bv zhoudengfu add for bv customize water mark end 20230609
+
     /*
      * SPRD Bug:474721 Feature:Contrast. @{
      */
diff --git a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCaptureRequest.java b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCaptureRequest.java
index 42ae68b..87a7cee 100644
--- a/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCaptureRequest.java
+++ b/DK_AWCamera/portability/src/com/android/ex/camera2/portability/SprdCaptureRequest.java
@@ -150,4 +150,10 @@ public class SprdCaptureRequest {
 
     public static final Key<Integer> CONTROL_SPRD_AWB_CT_VALUE = new Key<Integer>(
             "com.addParameters.sprdAwbCtValue", int.class);
+
+    //bv zhoudengfu add for bv customize water mark start 20230609
+    public static final Key<Integer> ANDROID_SPRD_CUSTOMIZEWATERMARK_ENABLED = new Key<Integer>(
+            "com.addParameters.sprdCustomizeWatermarkEnabled", int.class);
+    //bv zhoudengfu add for bv customize water mark end 20230609
+
 }
在适当地方设置其值
```java
        mCameraSettings.setCustomizeWatermarkEnable(1);
        if(mCameraDevice != null) {
            mCameraDevice.applySettings(mCameraSettings);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值