1: int32_t AG903_DSPMgrGetCtrlParam(
AG903_DSPMgrHandle *handle,
AG903_DSPMgrCtrlParam *param)
2: {
3: int32_t rc =
AG903_ENONE;
4: uint8_t ch;
5:
6:
if ((handle == NULL) || (param == NULL))
7:
return -
AG903_EINVAL;
8:
if (param->syncparam == NULL)
9:
return -
AG903_EINVAL;
10:
11: rc = DSPMgrCheckHandle(handle, &ch);
12:
13:
if (rc ==
AG903_ENONE) {
14:
DSPPrmParamMOD mod;
15:
DSPPrmParamSYNC sync;
16:
DSPPrmParamVTPRM0 vtprm0;
17:
18:
AG903_DSPPrmGetMOD(ch, &mod);
19:
AG903_DSPPrmGetSYNC(ch, &sync);
20:
AG903_DSPPrmGetVTPRM0(ch, &vtprm0);
21:
22: param->ip_sel = mod.ip;
23:
AG903_DSPPrmGetFRMSIZE(ch,
24: ¶m->vt_framesize,
25: ¶m->hrz_framesize);
26:
27: param->syncparam->rgbde_sel = mod.de;
28: param->syncparam->vsync_polarity = sync.vp;
29: param->syncparam->field_hsync_polarity = sync.fp;
30: param->syncparam->vt_pulsewidth = vtprm0.vpw;
31: param->syncparam->odd_frontporch_plus1 = vtprm0.ofp;
32: param->syncparam->odd_backporch_plus1 = vtprm0.obp;
33: param->syncparam->even_frontporch_plus1 = vtprm0.efp;
34: param->syncparam->even_backporch_plus1 = vtprm0.ebp;
35:
AG903_DSPPrmGetHRZPRM0(ch, ¶m->syncparam->hrz_pulsewidth);
36:
AG903_DSPPrmGetHRZPRM1(ch,
37: ¶m->syncparam->hrz_frontporch,
38: ¶m->syncparam->hrz_backporch);
39:
AG903_DSPPrmGetVTPRM1(ch,
40: ¶m->syncparam->vt_frontporch,
41: ¶m->syncparam->vt_backporch);
42: }
43:
44:
return rc;
45: }