AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_PgpMgrSetIntrCallbackFunc(AG903_PgpMgrPipelineHandle *handle, uint32_t type, void (*func)(int32_t id, void *handle)) 2: { 3: 4: if ((handle == NULL) || (handle->id != AG903_PGP_MGR_PIPELINE_HANDLE_ID)) { 5: return -AG903_EINVAL; 6: } 7: 8: switch (type) { 9: case AG903_PGP_MGR_INTR_INPUT: 10: handle->intr_vsynci_enable = (func == NULL) ? false : true; 11: handle->intr_input_func = func; 12: break; 13: case AG903_PGP_MGR_INTR_OUTPUT: 14: handle->intr_vsynco_enable = (func == NULL) ? false : true; 15: handle->intr_output_func = func; 16: break; 17: case AG903_PGP_MGR_INTR_DONE: 18: handle->intr_vsynco_enable = (func == NULL) ? false : true; 19: handle->intr_done_func = func; 20: break; 21: case AG903_PGP_MGR_INTR_VRAM_ERROR: 22: handle->intr_voicpl_enable = handle->intr_vooflw_enable = (func == NULL) ? false : true; 23: handle->intr_vram_error_func = func; 24: break; 25: case AG903_PGP_MGR_INTR_LBL_ERROR: 26: handle->intr_lblcrpt_enable = (func == NULL) ? false : true; 27: handle->intr_lbl_error_func = func; 28: break; 29: case AG903_PGP_MGR_INTR_HGM_ERROR: 30: handle->intr_hgmicpl_enable = (func == NULL) ? false : true; 31: handle->intr_hgm_error_func = func; 32: break; 33: case AG903_PGP_MGR_INTR_ND: 34: handle->intr_nd_enable = (func == NULL) ? false : true; 35: handle->intr_nd_func = func; 36: break; 37: case AG903_PGP_MGR_INTR_IFC_OVF: 38: handle->intr_ifcofs_enable = handle->intr_ifcofm_enable = (func == NULL) ? false : true; 39: handle->intr_ifc_ovf_func = func; 40: break; 41: case AG903_PGP_MGR_INTR_INPUT_LINE: 42: handle->intr_vlinei_enable = (func == NULL) ? false : true; 43: handle->intr_input_line_func = func; 44: break; 45: case AG903_PGP_MGR_INTR_OUTPUT_LINE: 46: handle->intr_vlineo_enable = (func == NULL) ? false : true; 47: handle->intr_output_line_func = func; 48: break; 49: case AG903_PGP_MGR_INTR_LBL_DONE: 50: handle->intr_lblcpl_enable = (func == NULL) ? false : true; 51: handle->intr_lbl_done_func = func; 52: break; 53: case AG903_PGP_MGR_INTR_HGM_DONE: 54: handle->intr_hgmcpl_enable = (func == NULL) ? false : true; 55: handle->intr_hgm_done_func = func; 56: break; 57: default: 58: return -AG903_EINVAL; 59: } 60: 61: handle->is_dirty = true; 62: handle->is_config_dirty[AG903_PGP_MGR_CONFIG_INTR_ENABLE] = true; 63: return AG903_ENONE; 64: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.