AG903ライブラリリファレンス
Body Source
AG903_PgpMgrSetInputPort 関数
本文ソース
コピコード
1: int32_t AG903_PgpMgrSetInputPort(
AG903_PgpMgrPipelineHandle
*handle,
void
*src) 2: { 3:
const
uint32_t via_port[4] = { 4:
AG903_PGP_MGR_INPUT_PORT_VIA_0
, 5:
AG903_PGP_MGR_INPUT_PORT_VIA_1
, 6:
AG903_PGP_MGR_INPUT_PORT_VIA_2
, 7:
AG903_PGP_MGR_INPUT_PORT_VIA_3
, 8: }; 9:
const
uint32_t vid_port[4] = { 10:
AG903_PGP_MGR_INPUT_PORT_VID_0
, 11:
AG903_PGP_MGR_INPUT_PORT_VID_1
, 12:
AG903_PGP_MGR_INPUT_PORT_VID_2
, 13:
AG903_PGP_MGR_INPUT_PORT_VID_3
, 14: }; 15: 16:
AG903_ViaMgrInputHandle
*via_h = (
AG903_ViaMgrInputHandle
*)src; 17:
AG903_VidMgrOutputHandle
*vid_h = (
AG903_VidMgrOutputHandle
*)src; 18:
AG903_PgpMgrVRAMInputHandle
*vram_h = (
AG903_PgpMgrVRAMInputHandle
*)src; 19: 20: 21:
if
((handle == NULL) || (handle->id !=
AG903_PGP_MGR_PIPELINE_HANDLE_ID
)) { 22:
return
-
AG903_EINVAL
; 23: } 24: 25:
if
(src != NULL) { 26:
if
(via_h->id ==
AG903_VIA_MGR_INPUT_HANDLE_ID
) { 27: handle->input_port = via_port[via_h->port_no]; 28: }
else
if
(vid_h->id ==
AG903_VID_MGR_OUTPUT_HANDLE_ID
) { 29: handle->input_port = vid_port[vid_h->port_no]; 30: }
else
if
(vram_h->id ==
AG903_PGP_MGR_VRAM_INPUT_HANDLE_ID
) { 31: 32: vram_h->ref_cnt++; 33: }
else
{ 34:
return
-
AG903_EINVAL
; 35: } 36: } 37: 38: 39: vram_h = (
AG903_PgpMgrVRAMInputHandle
*)handle->input_handle; 40:
if
((vram_h != NULL) && (vram_h->id ==
AG903_PGP_MGR_VRAM_INPUT_HANDLE_ID
)) { 41: vram_h->ref_cnt--; 42: } 43: 44: 45: handle->is_config_dirty[
AG903_PGP_MGR_CONFIG_INPUT_TRIG_CH
] =
true
; 46: handle->input_handle = src; 47:
return
AG903_ENONE
; 48: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.
内容
|
インデックス
|
ホーム