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

フレーム間演算パラメータ設定

Syntax
C++
int32_t AG903_PgpMgrSetConfigFrameCalcParameter(AG903_PgpMgrFrameCalcHandle * handle, uint32_t scan, uint32_t limit, uint32_t slave_src, uint32_t operation);
引数 
説明 
AG903_PgpMgrFrameCalcHandle * handle 
[in] フレーム間演算ハンドルを指定します。 
uint32_t scan 
[in] フレーム走査方法を指定します。 
uint32_t limit 
[in] 出力値のリミットを指定します。 
uint32_t slave_src 
[in] スレーブ側の入力ソースを指定します。 
uint32_t operation 
[in] フレーム間の演算方法を指定します。 

設定結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
handleに不正な値が指定された場合
scanに不正な値が指定された場合
limitに不正な値が指定された場合
slave_srcに不正な値が指定された場合
operationに不正な値が指定された場合 

フレーム間演算のパラメータを設定します。 

引数に指定可能な範囲は以下の通りです。

引数 
設定可能範囲 
scan 
limit 
slave_src 
PGPフレーム入力ソース 
operation 
PGPフレーム間演算方法 

PGPリミット のうち、AG903_PGP_MGR_LIMIT_0_255 / AG903_PGP_MGR_LIMIT_16_235_AND_240 / AG903_PGP_MGR_IFC_LIMIT_M128_127 が指定可能です。

1: int32_t AG903_PgpMgrSetConfigFrameCalcParameter(AG903_PgpMgrFrameCalcHandle *handle, uint32_t scan, uint32_t limit, uint32_t slave_src, uint32_t operation) 2: { 3: 4: if ((handle == NULL) || (handle->id != AG903_PGP_MGR_FRAME_CALC_HANDLE_ID)) { 5: return -AG903_EINVAL; 6: } 7: 8: switch (scan) { 9: case AG903_PGP_MGR_SCAN_PROGRESSIVE: 10: case AG903_PGP_MGR_SCAN_INTERLACE: 11: break; 12: default: 13: return -AG903_EINVAL; 14: } 15: switch (limit) { 16: case AG903_PGP_MGR_IFC_LIMIT_0_255: 17: case AG903_PGP_MGR_IFC_LIMIT_16_235_AND_240: 18: case AG903_PGP_MGR_IFC_LIMIT_M128_127: 19: break; 20: default: 21: return -AG903_EINVAL; 22: } 23: switch (slave_src) { 24: case AG903_PGP_MGR_IFC_SLAVE_VRAM_UI: 25: case AG903_PGP_MGR_IFC_SLAVE_VRAM_I: 26: case AG903_PGP_MGR_IFC_SLAVE_PIPELINE: 27: break; 28: default: 29: return -AG903_EINVAL; 30: } 31: switch (operation) { 32: case AG903_PGP_MGR_IFC_OP_AND: 33: case AG903_PGP_MGR_IFC_OP_OR: 34: case AG903_PGP_MGR_IFC_OP_XOR: 35: case AG903_PGP_MGR_IFC_OP_ADD: 36: case AG903_PGP_MGR_IFC_OP_ABS: 37: break; 38: default: 39: return -AG903_EINVAL; 40: } 41: 42: handle->master_handle->ifc_scan = scan; 43: handle->master_handle->ifc_limit = limit; 44: handle->master_handle->ifc_slave_src = (handle->slave_pipeline == true) ? AG903_PGP_MGR_IFC_SLAVE_PIPELINE : slave_src; 45: handle->master_handle->ifc_operation = operation; 46: handle->master_handle->is_config_dirty[AG903_PGP_MGR_CONFIG_IFC_PARAM] = true; 47: handle->master_handle->is_dirty = true; 48: return AG903_ENONE; 49: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.