AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_VidMgrCheckHandleValidation(void *handle, int32_t handle_type) 2: { 3: uint32_t port_no; 4: AG903_VidMgrInputHandle *input_handle = (AG903_VidMgrInputHandle *)handle; 5: AG903_VidMgrOutputHandle *output_handle = (AG903_VidMgrOutputHandle *)handle; 6: 7: switch (handle_type) { 8: case AG903_VID_MGR_INPUT_HANDLE: 9: if ((handle == NULL) || (input_handle->id != AG903_VID_MGR_INPUT_HANDLE_ID)) { 10: return -AG903_EINVAL; 11: } 12: port_no = input_handle->port_no; 13: break; 14: case AG903_VID_MGR_OUTPUT_HANDLE: 15: if ((handle == NULL) || (output_handle->id != AG903_VID_MGR_OUTPUT_HANDLE_ID)) { 16: return -AG903_EINVAL; 17: } 18: port_no = output_handle->port_no; 19: break; 20: default: 21: return -AG903_EINVAL; 22: } 23: 24: 25: switch (VidContext.vid_format) { 26: case AG903_VID_MGR_24BIT_TO_CH0: 27: case AG903_VID_MGR_8BITCH0_TO_CH0: 28: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 0) || 29: (handle_type == AG903_VID_MGR_OUTPUT_HANDLE && port_no != 0)){ 30: return -AG903_EINVAL; 31: } 32: break; 33: case AG903_VID_MGR_8BITCH1_TO_CH1: 34: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 1) || 35: (handle_type == AG903_VID_MGR_OUTPUT_HANDLE && port_no != 1)){ 36: return -AG903_EINVAL; 37: } 38: break; 39: case AG903_VID_MGR_8BITCH01_TO_CH01: 40: if ((handle_type == AG903_VID_MGR_OUTPUT_HANDLE && (port_no != 0 && port_no != 1))) { 41: return -AG903_EINVAL; 42: } 43: break; 44: case AG903_VID_MGR_8BITCH0_TO_CH0123: 45: default: 46: if ((handle_type == AG903_VID_MGR_INPUT_HANDLE && port_no != 0)) { 47: return -AG903_EINVAL; 48: } 49: break; 50: } 51: return AG903_ENONE; 52: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.