AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_PgpMgrExecPipeline(void *handle, uint32_t cmd) 2: { 3: uint32_t id; 4: 5: if (handle == NULL) { 6: return -AG903_EINVAL; 7: } 8: 9: 10: id = ((AG903_PgpMgrPipelineHandle *)handle)->id; 11: if ((id != AG903_PGP_MGR_PIPELINE_HANDLE_ID) && (id != AG903_PGP_MGR_FRAME_CALC_HANDLE_ID)) { 12: return -AG903_EINVAL; 13: } 14: 15: switch (cmd) { 16: case AG903_PGP_MGR_CMD_NONE: 17: case AG903_PGP_MGR_CMD_EXEC: 18: case AG903_PGP_MGR_CMD_EXEC_CONTINUE: 19: case AG903_PGP_MGR_CMD_TRIG: 20: case AG903_PGP_MGR_CMD_TRIG_CONTINUE: 21: case AG903_PGP_MGR_CMD_IDLE: 22: case AG903_PGP_MGR_CMD_RESET_TIMESTAMP_CNT: 23: case AG903_PGP_MGR_CMD_RESET_FRAME_CNT: 24: case AG903_PGP_MGR_CMD_RESET_INTR_CNT: 25: case AG903_PGP_MGR_CMD_FORCE_QUIT: 26: break; 27: default: 28: return -AG903_EINVAL; 29: } 30: 31: if (id == AG903_PGP_MGR_PIPELINE_HANDLE_ID) { 32: AG903_PgpMgrPipelineHandle *p = (AG903_PgpMgrPipelineHandle *)handle; 33: 34: if (p->is_assign == false) { 35: return -AG903_EINVAL; 36: } 37: 38: return PgpMgrExecPipelineHandle(p, cmd); 39: } else { 40: AG903_PgpMgrFrameCalcHandle *f = (AG903_PgpMgrFrameCalcHandle *)handle; 41: AG903_PgpMgrPipelineHandle *master = (AG903_PgpMgrPipelineHandle *)f->master_handle; 42: 43: if (master->is_assign == false) { 44: return -AG903_EINVAL; 45: } 46: 47: return PgpMgrExecFrameCalcHandle(f, cmd); 48: } 49: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.