1: int32_t AG903_DSPMgrSetCDParam(
AG903_DSPMgrHandle *handle,
AG903_DSPMgrCDParam *param)
2: {
3: int32_t rc =
AG903_ENONE;
4: uint8_t ch;
5:
6:
if (handle == NULL)
7:
return -
AG903_EINVAL;
8:
9: rc = DSPMgrCheckHandle(handle, &ch);
10:
11:
if (rc ==
AG903_ENONE) {
12:
DSPPrmParamCOLDET coldet;
13:
DSPPrmParamCDCTRL cdctrl;
14:
if (param == NULL) {
15:
AG903_DSPPrmGetCDCTRL(ch, &cdctrl);
16: cdctrl.be =
false;
17: cdctrl.ge =
false;
18: cdctrl.re =
false;
19: cdctrl.ae =
false;
20:
AG903_DSPPrmSetCDCTRL(ch, &cdctrl);
21: }
else {
22: cdctrl.be = param->colordetect_en_b;
23: cdctrl.ge = param->colordetect_en_g;
24: cdctrl.re = param->colordetect_en_r;
25: cdctrl.ae = param->colordetect_en_a;
26: coldet.b = param->colordetect_color_b;
27: coldet.g = param->colordetect_color_g;
28: coldet.r = param->colordetect_color_r;
29: coldet.a = param->colordetect_color_a;
30:
AG903_DSPPrmSetCOLDET(ch, &coldet);
31:
AG903_DSPPrmSetCDCTRL(ch, &cdctrl);
32: }
33: }
34:
35:
return rc;
36: }