1: int32_t AG903_DSPMgrSetDithParam(
AG903_DSPMgrHandle *handle, _Bool en,
AG903_DSPMgrDithParam *param)
2: {
3: int32_t rc =
AG903_ENONE;
4: uint8_t ch;
5:
DSPPrmParamMOD mod;
6:
7:
if (handle == NULL)
8:
return -
AG903_EINVAL;
9:
10: rc = DSPMgrCheckHandle(handle, &ch);
11:
12:
if (rc ==
AG903_ENONE) {
13:
if (param != NULL) {
14:
AG903_DSPPrmSetDITHAREA0A(ch, param->DITHAREA[0].x0, param->DITHAREA[0].y0);
15:
AG903_DSPPrmSetDITHAREA0B(ch, param->DITHAREA[0].x1, param->DITHAREA[0].y1);
16:
AG903_DSPPrmSetDITHAREA1A(ch, param->DITHAREA[1].x0, param->DITHAREA[1].y0);
17:
AG903_DSPPrmSetDITHAREA1B(ch, param->DITHAREA[1].x1, param->DITHAREA[1].y1);
18:
AG903_DSPPrmSetDITHAREA2A(ch, param->DITHAREA[2].x0, param->DITHAREA[2].y0);
19:
AG903_DSPPrmSetDITHAREA2B(ch, param->DITHAREA[2].x1, param->DITHAREA[2].y1);
20:
AG903_DSPPrmSetDITHAREA3A(ch, param->DITHAREA[3].x0, param->DITHAREA[3].y0);
21:
AG903_DSPPrmSetDITHAREA3B(ch, param->DITHAREA[3].x1, param->DITHAREA[3].y1);
22: }
23:
AG903_DSPPrmGetMOD(ch, &mod);
24: mod.dith = en ?
true :
false;
25:
AG903_DSPPrmSetMOD(ch, &mod);
26: }
27:
28:
return rc;
29: }