liyujie
2025-08-28 d9927380ed7c8366f762049be9f3fee225860833
android/hardware/aw/camera/3_4/allwinnertech/libAWIspApi/libisp_new/isp_cfg/isp_ini_parse.c
....@@ -34,6 +34,10 @@
3434 #include "SENSOR_H/gc030a_mipi_a100.h"
3535 #include "SENSOR_H/gc5025_mipi_a100.h"
3636 #include "SENSOR_H/ov5648_mipi_a100.h"
37
+#include "SENSOR_H/ov13850_cap_a100.h"
38
+#include "SENSOR_H/ov13850_crop_a100.h"
39
+#include "SENSOR_H/ov13850_pre_a100.h"
40
+#include "SENSOR_H/ov13850_2_cap_a100.h"
3741 #elif (ISP_VERSION >= 521)
3842 #include "SENSOR_H/imx317_default_ini_v459.h"
3943 #include "SENSOR_H/imx317_wdr_ini_v459.h"
....@@ -797,6 +801,10 @@
797801 {"gc2385_mipi", "gc2385_mipi_isp_cfg", 1600, 1200, 30, 0, 0, &gc2385_mipi_isp_cfg},
798802 {"gc5025_mipi", "gc5025_mipi_isp_cfg", 2592, 1944, 25, 0, 0, &gc5025_mipi_isp_cfg},
799803 {"ov5648_mipi", "ov5648_mipi_isp_cfg", 2592, 1936, 30, 0, 0, &ov5648_mipi_isp_cfg},
804
+ {"ov13850_mipi", "ov13850_pre_isp_cfg", 2112, 1568, 30, 0, 0, &ov13850_pre_isp_cfg},
805
+ {"ov13850_mipi", "ov13850_crop_isp_cfg", 3264, 2448, 25, 0, 0, &ov13850_crop_isp_cfg},
806
+ {"ov13850_mipi", "ov13850_cap_isp_cfg", 4208, 3120, 24, 0, 0, &ov13850_cap_isp_cfg},
807
+ {"ov13850_mipi_2", "ov13850_2_cap_isp_cfg", 4208, 3120, 24, 0, 0, &ov13850_2_cap_isp_cfg},
800808 #elif (ISP_VERSION >= 521)
801809 {"imx317_mipi", "imx317_default_ini_v459", 1920, 1080, 30, 0, 0, &imx317_default_ini_v459},
802810 {"imx317_mipi", "imx317_wdr_ini_4v5", 1920, 1080, 30, 1, 0, &imx317_wdr_ini_v459},
....@@ -1064,6 +1072,7 @@
10641072 int i, ret = 0;
10651073 #if !ISP_LIB_USE_INIPARSER
10661074 struct isp_cfg_pt *cfg = NULL;
1075
+ char sensor_name_2[20];
10671076
10681077 for (i = 0; i < array_size(cfg_arr); i++) {
10691078 if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 18) &&
....@@ -1076,6 +1085,23 @@
10761085 }
10771086 }
10781087
1088
+#if (ISP_VERSION == 522)
1089
+ if (isp_id == 1 && w > 4000 && h >3000) {
1090
+ strcpy(sensor_name_2, sensor_name);
1091
+ strcat(sensor_name_2, "_2");
1092
+ for (i = 0; i < array_size(cfg_arr); i++) {
1093
+ if (!strncmp(sensor_name_2, cfg_arr[i].sensor_name, 14) &&
1094
+ (w == cfg_arr[i].width) && (h == cfg_arr[i].height) &&
1095
+ (fps == cfg_arr[i].fps) && (wdr == cfg_arr[i].wdr)) {
1096
+ cfg = cfg_arr[i].cfg;
1097
+ ISP_PRINT("find %s_%d_%d_%d_%d [%s] isp config\n", cfg_arr[i].sensor_name,
1098
+ cfg_arr[i].width, cfg_arr[i].height, cfg_arr[i].fps, cfg_arr[i].wdr, cfg_arr[i].isp_cfg_name);
1099
+ break;
1100
+ }
1101
+ }
1102
+ }
1103
+#endif
1104
+
10791105 if (i == array_size(cfg_arr)) {
10801106 for (i = 0; i < array_size(cfg_arr); i++) {
10811107 if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 18) && (0 == cfg_arr[i].wdr)) {