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