AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_PgpMgrExecLabeling(AG903_PgpMgrPipelineHandle *handle, uint32_t cmd) 2: { 3: PGPPrmParamPGPnSTATE state; 4: 5: 6: if ((handle == NULL) || (handle->id != AG903_PGP_MGR_PIPELINE_HANDLE_ID)) { 7: return -AG903_EINVAL; 8: } 9: 10: switch (cmd) { 11: case AG903_PGP_MGR_LBL_CMD_NONE: 12: case AG903_PGP_MGR_LBL_CMD_EXEC: 13: case AG903_PGP_MGR_LBL_CMD_DELETE: 14: case AG903_PGP_MGR_LBL_CMD_RESET: 15: break; 16: default: 17: return -AG903_EINVAL; 18: } 19: 20: 21: if (handle->is_assign == false) { 22: return -AG903_EINVAL; 23: } 24: 25: AG903_PgpPrmGetPGPnSTATE(handle->pipeline_no, &state); 26: 27: if ((PgpContext.exec_pipeline[handle->pipeline_no] != handle ) && (state.st != AG903_PGP_MGR_STATE_IDLE)) { 28: return -AG903_EBUSY; 29: } 30: 31: PGPPrmParamPGPnLBLSTAT lblstat; 32: AG903_PgpPrmGetPGPnLBLSTAT(handle->pipeline_no, &lblstat); 33: 34: if ((cmd == AG903_PGP_MGR_LBL_CMD_EXEC) && (lblstat.queue == (AG903_PGP_MGR_LBL_CMD_MAX_QUEUE - 1))) { 35: return -AG903_EBUSY; 36: } 37: 38: 39: AG903_PgpPrmSetPGPnLBLCMD(handle->pipeline_no, cmd); 40: 41: return AG903_ENONE; 42: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.