SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
Parameter | Controls | Description | |||
---|---|---|---|---|---|
VIP_CFG_SC4[10:0] CFG_TAR_H | Image Dimension | Source Width | |||
VIP_CFG_SC4[22:12] CFG_TAR_W | Target Width | ||||
VIP_CFG_SC0[1] CFG_LINEAR | Scaler Mode | If (linear == 1) SRC_Wi = SRC_W and TAR_Wi = TAR_W Else SRC_W= SRC_H and TAR_W = TAR_H | |||
VIP_CFG_SC0[2] CFG_SC_BYPASS | 0 = enable scaler, 1 = bypass scaler | ||||
VIP_CFG_SC0[6] CFG_AUTO_HS | CFG_AUTO_HS | CFG_DCM_2X | CFG_DCM_4X | Definition | |
0 | 0 | 0 | Polyphase scaling | ||
VIP_CFG_SC0[7] CFG_DCM_2X | 0 | 0 | 1 | Horizontal decimation by 4 and polyphase scaling | |
0 | 1 | 0 | Horizontal decimation by 2 and polyphase scaling | ||
VIP_CFG_SC0[8] CFG_DCM_4X | 1 | - | - | Automatic (selection of decimation filter is automatic) |
Scale Factor | Decimation Usage | Control Register Bit |
---|---|---|
< 1/4 | Decimation by 4 | VIP_CFG_SC0[8] CFG_DCM_4X (set to 1 to enable decimation; disabled by default) |
== 1/4 | Decimation by 4 | |
1/4 < and < 1/2 | Decimation by 2 | VIP_CFG_SC0[7] CFG_DCM_2X (set to 1 to enable decimation; disabled by default) |
== 1/2 | Decimation by 2 | |
1/2 < and < 1 | Bypassed | VIP_CFG_SC0[7] CFG_DCM_2X and CFG_DCM_4X (set to 0 to disable decimation; default value) |
1 | Bypassed | |
> 1 | Bypassed |
Parameter | Controls | Description |
---|---|---|
VIP_CFG_SC9[26:24] CFG_LIN_ACC_INC | Polyphase Scaler | if upscaling then CFG_LIN_ACC_INC = round(224*(srcWi-1)/(tarWi-1)) elseif downscaling CFG_LIN_ACC_INC= round(224*(srcWi/n-1)/(tarWi-1)) where n=2 or 4 |
VIP_CFG_SC8[10:0] CFG_NLIN_LEFT | if linear==1 CFG_NLIN_LEFT = 0 else CFG_NLIN_LEFT = (tarW - tarWi)/2 | |
VIP_CFG_SC8[22:12] CFG_NLIN_RIGHT | if linear==1 CFG_NLIN_RIGHT = tarW-1 else CFG_NLIN_RIGHT = Ltar + tarWi – 1 | |
VIP_CFG_SC5[26:24] CFG_NLIN_ACC_INC_U | if tarW/srcW >= 1 then d = 0 if Ltar!=0 K = round[224*Lsrc/(Ltar*Ltar) ] where Lsrc = (srcW-srcWi)/2 else K = 0 else d = (tarW-1)/2 if Ltar!=0 K = round[ 224 * Lsrc / (Ltar*(Ltar-2d))] where Lsrc= (srcW-srcWi)/(2n) and n=1,2 or 4 else K = 0 CFG_LIN_ACC_INC = 2*K (negative for downscaling) | |
VIP_CFG_SC4[30:28] CFG_NLIN_ACC_INIT_U | CFG_LIN_ACC_INC = K*(1-2*d) |
Source width and height variables for the polyphase filter are internally set with trimmer and decimation filter adjusted values.