1: int32_t AG903_PgpMgrGetHistogramParameter(
AG903_PgpMgrPipelineHandle *handle, uint32_t *most_r, uint32_t *max_r, uint32_t *min_r, uint32_t *most_g, uint32_t *max_g, uint32_t *min_g, uint32_t *most_b, uint32_t *max_b, uint32_t *min_b)
2: {
3: uint32_t dummy, tmp_max, tmp_min;
4:
5:
6:
if ((handle == NULL) || (handle->id !=
AG903_PGP_MGR_PIPELINE_HANDLE_ID)) {
7:
return -
AG903_EINVAL;
8: }
9:
10:
11:
if (handle->is_assign ==
false) {
12:
return -
AG903_EINVAL;
13: }
14:
15:
if (PgpContext.exec_pipeline[handle->pipeline_no] != handle) {
16:
return -
AG903_EINVAL;
17: }
18:
19:
20:
if (most_r != NULL) {
21:
AG903_PgpPrmGetPGPnHGMMOD2(handle->pipeline_no, &dummy, most_r, &dummy);
22: }
23:
AG903_PgpPrmGetPGPnHGMRNG2(handle->pipeline_no, &tmp_max, &tmp_min);
24:
if (max_r != NULL) {
25: *max_r = tmp_max;
26: }
27:
if (min_r != NULL) {
28: *min_r = tmp_min;
29: }
30:
if (most_g != NULL) {
31:
AG903_PgpPrmGetPGPnHGMMOD1(handle->pipeline_no, &dummy, most_g, &dummy);
32: }
33:
AG903_PgpPrmGetPGPnHGMRNG1(handle->pipeline_no, &tmp_max, &tmp_min);
34:
if (max_g != NULL) {
35: *max_g = tmp_max;
36: }
37:
if (min_g != NULL) {
38: *min_g = tmp_min;
39: }
40:
if (most_b != NULL) {
41:
AG903_PgpPrmGetPGPnHGMMOD0(handle->pipeline_no, &dummy, most_b, &dummy);
42: }
43:
AG903_PgpPrmGetPGPnHGMRNG0(handle->pipeline_no, &tmp_max, &tmp_min);
44:
if (max_b != NULL) {
45: *max_b = tmp_max;
46: }
47:
if (min_b != NULL) {
48: *min_b = tmp_min;
49: }
50:
return AG903_ENONE;
51: }