Lines Matching refs:Interval
52 using tcu::Interval;
890 tcu::Interval ChannelAccess::getChannel (const tcu::FloatFormat& conversionFormat,
906 const tcu::Interval result (conversionFormat.roundOut(conversionFormat.roundOut((double)signExtend(bits, m_channelSize), false)
909 return tcu::Interval(de::max(-1.0, result.lo()), de::max(-1.0, result.hi()));
921 return tcu::Interval();
926 return tcu::Interval();
1286 tcu::Interval rangeExpandChroma (vk::VkSamplerYcbcrRange range,
1289 const tcu::Interval& sample)
1296 return conversionFormat.roundOut(sample - conversionFormat.roundOut(tcu::Interval((double)(0x1u << (bits - 1u)) / (double)((0x1u << bits) - 1u)), false), false);
1300 const tcu::Interval a (conversionFormat.roundOut(sample * tcu::Interval((double)(values - 1u)), false));
1301 const tcu::Interval dividend (conversionFormat.roundOut(a - tcu::Interval((double)(128u * (0x1u << (bits - 8u)))), false));
1302 const tcu::Interval divisor ((double)(224u * (0x1u << (bits - 8u))));
1303 const tcu::Interval result (conversionFormat.roundOut(dividend / divisor, false));
1310 return tcu::Interval();
1314 tcu::Interval rangeExpandLuma (vk::VkSamplerYcbcrRange range,
1317 const tcu::Interval& sample)
1328 const tcu::Interval a (conversionFormat.roundOut(sample * tcu::Interval((double)(values - 1u)), false));
1329 const tcu::Interval dividend (conversionFormat.roundOut(a - tcu::Interval((double)(16u * (0x1u << (bits - 8u)))), false));
1330 const tcu::Interval divisor ((double)(219u * (0x1u << (bits - 8u))));
1331 const tcu::Interval result (conversionFormat.roundOut(dividend / divisor, false));
1338 return tcu::Interval();
1342 tcu::Interval clampMaybe (const tcu::Interval& x,
1346 tcu::Interval result = x;
1351 result = result | tcu::Interval(min);
1354 result = result | tcu::Interval(max);
1363 const tcu::Interval input[4],
1364 tcu::Interval output[4])
1388 const tcu::Interval y (rangeExpandLuma(range, conversionFormat[1], bitDepth[1], input[1]));
1389 const tcu::Interval cr (rangeExpandChroma(range, conversionFormat[0], bitDepth[0], input[0]));
1390 const tcu::Interval cb (rangeExpandChroma(range, conversionFormat[2], bitDepth[2], input[2]));
1392 const tcu::Interval yClamped (clampMaybe(y, 0.0, 1.0));
1393 const tcu::Interval crClamped (clampMaybe(cr, -0.5, 0.5));
1394 const tcu::Interval cbClamped (clampMaybe(cb, -0.5, 0.5));
1440 tcu::Interval frac (const tcu::Interval& x)
1443 return tcu::Interval(0.0, 1.0);
1446 const tcu::Interval ret (deFrac(x.lo()), deFrac(x.hi()));
1452 tcu::Interval calculateUV (const tcu::FloatFormat& coordFormat,
1453 const tcu::Interval& st,
1456 return coordFormat.roundOut(coordFormat.roundOut(st, false) * tcu::Interval((double)size), false);
1460 const tcu::Interval& uv)
1462 const tcu::Interval ij (coordFormat.roundOut(coordFormat.roundOut(uv, false) - tcu::Interval(0.5), false));
1469 const tcu::Interval& uv)
1471 const tcu::Interval ij (coordFormat.roundOut(uv - tcu::Interval(0.5), false));
1478 const tcu::Interval& uv)
1485 tcu::Interval calculateAB (const deUint32 subTexelPrecisionBits,
1486 const tcu::Interval& uv,
1490 const tcu::Interval ab (frac((uv - 0.5) & tcu::Interval((double)ij, (double)(ij + 1))));
1491 const tcu::Interval gridAB (ab * tcu::Interval(subdivisions));
1492 const tcu::Interval rounded (de::max(deFloor(gridAB.lo()) / subdivisions, 0.0) , de::min(deCeil(gridAB.hi()) / subdivisions, 1.0));
1497 tcu::Interval lookupWrapped (const ChannelAccess& access,
1507 tcu::Interval linearInterpolate (const tcu::FloatFormat& filteringFormat,
1508 const tcu::Interval& a,
1509 const tcu::Interval& b,
1510 const tcu::Interval& p00,
1511 const tcu::Interval& p10,
1512 const tcu::Interval& p01,
1513 const tcu::Interval& p11)
1515 const tcu::Interval p[4] =
1522 tcu::Interval result (0.0);
1526 const tcu::Interval weightA (filteringFormat.roundOut((ndx % 2) == 0 ? (1.0 - a) : a, false));
1527 const tcu::Interval weightB (filteringFormat.roundOut((ndx / 2) == 0 ? (1.0 - b) : b, false));
1528 const tcu::Interval weight (filteringFormat.roundOut(weightA * weightB, false));
1536 tcu::Interval calculateImplicitChromaUV (const tcu::FloatFormat& coordFormat,
1538 const tcu::Interval& uv)
1546 tcu::Interval linearSample (const ChannelAccess& access,
1552 const tcu::Interval& a,
1553 const tcu::Interval& b)
1562 tcu::Interval reconstructLinearXChromaSample (const tcu::FloatFormat& filteringFormat,
1578 const tcu::Interval A (filteringFormat.roundOut( a * lookupWrapped(access, conversionFormat, addressModeU, addressModeV, tcu::IVec2(subI, j)), false));
1579 const tcu::Interval B (filteringFormat.roundOut((1.0 - a) * lookupWrapped(access, conversionFormat, addressModeU, addressModeV, tcu::IVec2(subI + 1, j)), false));
1583 tcu::Interval reconstructLinearXYChromaSample (const tcu::FloatFormat& filteringFormat,
1728 Interval bounds[4];
1730 const Interval u (calculateUV(coordFormat, st[0], gAccess.getSize().x()));
1731 const Interval v (calculateUV(coordFormat, st[1], gAccess.getSize().y()));
1753 const Interval gValue (lookupWrapped(gAccess, conversionFormat[1], addressModeU, addressModeV, IVec2(i, j)));
1754 const Interval aValue (lookupWrapped(aAccess, conversionFormat[3], addressModeU, addressModeV, IVec2(i, j)));
1758 Interval rValue, bValue;
1781 const Interval srcColor[] =
1788 Interval dstColor[4];
1797 const Interval chromaU (subsampledX ? calculateImplicitChromaUV(coordFormat, xChromaOffset, u) : u);
1798 const Interval chromaV (subsampledY ? calculateImplicitChromaUV(coordFormat, yChromaOffset, v) : v);
1807 Interval rValue, bValue;
1816 const Interval chromaA (calculateAB(subTexelPrecisionBits, chromaU, chromaI));
1817 const Interval chromaB (calculateAB(subTexelPrecisionBits, chromaV, chromaJ));
1823 const Interval srcColor[] =
1831 Interval dstColor[4];
1841 const Interval lumaA (calculateAB(subTexelPrecisionBits, u, i));
1842 const Interval lumaB (calculateAB(subTexelPrecisionBits, v, j));
1844 const Interval gValue (linearSample(gAccess, conversionFormat[1], filteringFormat[1], addressModeU, addressModeV, IVec2(i, j), lumaA, lumaB));
1845 const Interval aValue (linearSample(aAccess, conversionFormat[3], filteringFormat[3], addressModeU, addressModeV, IVec2(i, j), lumaA, lumaB));
1849 Interval rValue, bValue;
1895 const Interval srcColor[] =
1902 Interval dstColor[4];
1911 const Interval chromaU (subsampledX ? calculateImplicitChromaUV(coordFormat, xChromaOffset, u) : u);
1912 const Interval chromaV (subsampledY ? calculateImplicitChromaUV(coordFormat, yChromaOffset, v) : v);
1921 Interval rValue, bValue;
1930 const Interval chromaA (calculateAB(subTexelPrecisionBits, chromaU, chromaI));
1931 const Interval chromaB (calculateAB(subTexelPrecisionBits, chromaV, chromaJ));
1937 const Interval srcColor[] =
1944 Interval dstColor[4];