AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_PgpMgrForceAssignPipeline(void *handle, uint32_t pipeline) 2: { 3: uint32_t id; 4: 5: if (handle == NULL) { 6: return -AG903_EINVAL; 7: } 8: 9: id = ((AG903_PgpMgrPipelineHandle *)handle)->id; 10: if ((id != AG903_PGP_MGR_PIPELINE_HANDLE_ID) && (id != AG903_PGP_MGR_FRAME_CALC_HANDLE_ID)) { 11: return -AG903_EINVAL; 12: } 13: switch (pipeline) { 14: case AG903_PGP_MGR_CALC_PIPELINE0: 15: case AG903_PGP_MGR_CALC_PIPELINE1: 16: case AG903_PGP_MGR_INPUT_PIPELINE0: 17: case AG903_PGP_MGR_INPUT_PIPELINE1: 18: case AG903_PGP_MGR_FRAME_PIPELINE0: 19: case AG903_PGP_MGR_FRAME_PIPELINE1: 20: break; 21: default: 22: return -AG903_EINVAL; 23: } 24: 25: if (id == AG903_PGP_MGR_PIPELINE_HANDLE_ID) { 26: AG903_PgpMgrPipelineHandle *p = (AG903_PgpMgrPipelineHandle *)handle; 27: 28: if (p->is_assign == true) { 29: return -AG903_EINVAL; 30: } 31: 32: if (p->input_handle == NULL) { 33: return -AG903_EINVAL; 34: } 35: 36: if (p->is_used_frame_calc == true) { 37: return -AG903_EINVAL; 38: } 39: 40: return PgpMgrForceAssignPipelineHandle(p, pipeline); 41: } else { 42: AG903_PgpMgrFrameCalcHandle *f = (AG903_PgpMgrFrameCalcHandle *)handle; 43: 44: if (f->master_handle->is_assign == true) { 45: return -AG903_EINVAL; 46: } 47: 48: if (f->master_handle->input_handle == NULL) { 49: return -AG903_EINVAL; 50: } 51: 52: if (f->slave_pipeline == true) { 53: AG903_PgpMgrPipelineHandle *slave = (AG903_PgpMgrPipelineHandle *)f->slave_handle; 54: if (slave->input_handle == NULL) { 55: return -AG903_EINVAL; 56: } 57: } 58: 59: return PgpMgrForceAssignFrameCalcHandle(f, pipeline); 60: } 61: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.