You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Next i<br />
' cubic function is rate(i) + s*(d(i) + s*(c(i) + s*(b(i))) where s = x - dist(i)<br />
' or rate(i) + s*d(i) + s*s*c(i) + s*s*s*b(i)<br />
' primitive is s*rate(i) + s*s*d(i)/2 + s*s*s*c(i)/3 + s*s*s*s*b(i)/4<br />
<strong>Deliver</strong> <strong>High</strong> <strong>Quality</strong>, <strong>High</strong> <strong>Performance</strong> <strong>HEVC</strong> <strong>via</strong> <strong>Intel®</strong> <strong>Media</strong> <strong>Server</strong> <strong>Studio</strong><br />
Dim s0 As Double<br />
Dim s1 As Double<br />
Dim result As Double<br />
result = 0<br />
For i = 1 To 3<br />
s0 = log_dist(i)<br />
s1 = log_dist(i + 1)<br />
' clip s0 to valid range<br />
s0 = WorksheetFunction.Max(s0, low)<br />
s0 = WorksheetFunction.Min(s0, high)<br />
' clip s1 to valid range<br />
s1 = WorksheetFunction.Max(s1, low)<br />
s1 = WorksheetFunction.Min(s1, high)<br />
s0 = s0 - log_dist(i)<br />
s1 = s1 - log_dist(i)<br />
If (s1 > s0) Then<br />
result = result + (s1 - s0) * log_rate(i)<br />
result = result + (s1 * s1 - s0 * s0) * d(i) / 2<br />
result = result + (s1 * s1 * s1 - s0 * s0 * s0) * c(i) / 3<br />
result = result + (s1 * s1 * s1 * s1 - s0 * s0 * s0 * s0) * b(i) / 4<br />
End If<br />
Next i<br />
bdrint = result<br />
End Function<br />
86<br />
Public Function bdrate(rateA As Range, distA As Range, rateB As Range, distB As Range) As Double<br />
Dim minPSNR As Double<br />
Dim maxPSNR As Double