Use forward difference to iteratively evaluate quadratic
equation:
y = a*x
2
+ bx + c for x = 0,1,2 … W-1
Initialize values:
x = 0
y = a*x
2
+ b*x + c
D
x = 1
y+
D
D
D
y = a*(x+ x) +b*(x+
2
x)+c
D
y = (y+
1st diff
D
y)– y
D
y = 2*a* x*x + a*( x) + b* x = a+b
D
D
D
2
D
2
y = y(x+ x)- y(x) 2nd diff
D
D
D
D
2
y = 2*a*( x)
D
2
= 2*a
Iterate and generate sequence of y:
y = c
for n=1 to W
y +=
D
y
D
y +=
y
D
2
End
Configuration registers
y is acc and
D
y is nlin_acc
nlin_acc_init = K
nlin_acc_inc = 2*a = 2*K
720
480
120
120
left src
inner col
right src
inner col
src
1920
1080
420
420
left tar
inner col
right tar
inner col
tar
col
src
col
src col = K * (tar col)
2
K = left src inner col / (left tar inner col)
2
tar
right src inner col
left src inner col
srcWi=
480
tarWi=
1080
Internal Modules
199
SPRUHI7A – December 2012 – Revised June 2016
Copyright © 2012–2016, Texas Instruments Incorporated
High-Definition Video Processing Subsystem (HDVPSS)
1.2.11.2.4.3 Nonlinear Horizontal Scaling
The horizontal scaler supports non-linear scaling to maintain the same aspect ratio for inner picture while
stretching picture edges to fill the screen when displaying a 4x3 picture onto a 16x9 display. When setting
up a non-linear scaling application, the inner picture is defined as the center square portion of the image
with width and height equal to the height of the source image. Remaining side regions are then scaled
non-linearly.
shows a non-linear scaling case:
Figure 1-149. Non-linear Scaling Example