AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_PgpMgrGetHistogramParameter 関数

ヒストグラム計測時の最頻値、最大値、最小値取得

Syntax
C++
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);
引数 
説明 
AG903_PgpMgrPipelineHandle * handle 
[in] パイプラインハンドルを指定します。 
uint32_t * most_r 
[out] Red要素の最頻値を格納するポインタを指定します。 
uint32_t * max_r 
[out] Red要素の最大値を格納するポインタを指定します。 
uint32_t * min_r 
[out] Red要素の最少値を格納するポインタを指定します。 
uint32_t * most_g 
[out] Green要素の最頻値を格納するポインタを指定します。 
uint32_t * max_g 
[out] Green要素の最大値を格納するポインタを指定します。 
uint32_t * min_g 
[out] Green要素の最少値を格納するポインタを指定します。 
uint32_t * most_b 
[out] Blue要素の最頻値を格納するポインタを指定します。 
uint32_t * max_b 
[out] Blue要素の最大値を格納するポインタを指定します。 
uint32_t * min_b 
[out] Blue要素の最少値を格納するポインタを指定します。 

取得結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
handleに不正な値が指定された場合
パイプラインが物理的に割り当てられていない場合
割り当て先の物理パイプラインが他のパイプラインハンドルで使用されている場合 

ヒストグラム計測時の各要素の最頻値、最大値、最小値を取得します。

格納ポインタ=NULL の場合、その値は取得しません。

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: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.