AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_PgpMgrSetConfigScaling(AG903_PgpMgrPipelineHandle *handle, uint32_t limit, uint32_t filter, uint32_t nmr_v, uint32_t dnm_v, uint32_t nmr_h, uint32_t dnm_h) 2: { 3: 4: if ((handle == NULL) || (handle->id != AG903_PGP_MGR_PIPELINE_HANDLE_ID)) { 5: return -AG903_EINVAL; 6: } 7: 8: 9: switch (limit) { 10: case AG903_PGP_MGR_LIMIT_0_255: 11: case AG903_PGP_MGR_LIMIT_16_235_AND_240: 12: break; 13: default: 14: return -AG903_EINVAL; 15: } 16: switch (filter) { 17: case AG903_PGP_MGR_FILTER_NEAREST: 18: case AG903_PGP_MGR_FILTER_LINEAR: 19: break; 20: default: 21: return -AG903_EINVAL; 22: } 23: if ((nmr_v == 0) || (nmr_v > AG903_PGP_MGR_MAX_SCALING_VALUE)) { 24: return -AG903_EINVAL; 25: } 26: if ((dnm_v == 0) || (dnm_v > AG903_PGP_MGR_MAX_SCALING_VALUE)) { 27: return -AG903_EINVAL; 28: } 29: if ((nmr_h == 0) || (nmr_h > AG903_PGP_MGR_MAX_SCALING_VALUE)) { 30: return -AG903_EINVAL; 31: } 32: if ((dnm_h == 0) || (dnm_h > AG903_PGP_MGR_MAX_SCALING_VALUE)) { 33: return -AG903_EINVAL; 34: } 35: 36: 37: handle->scale_limit = limit; 38: handle->scale_mtd = filter; 39: handle->scale_v_nmr = nmr_v; 40: handle->scale_v_dnm = dnm_v; 41: handle->scale_h_nmr = nmr_h; 42: handle->scale_h_dnm = dnm_h; 43: handle->is_config_dirty[AG903_PGP_MGR_CONFIG_SCALING] = true; 44: handle->is_dirty = true; 45: return AG903_ENONE; 46: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.