Нативные сэмплированные цветовые функции

Нативный рендерер Cairo вычисляет сэмплированные цветовые функции FunctionType 0 с Order 1 или Order 3, включая несколько входов оттенка и несколько выходов альтернативных цветов

Кубическое вычисление расширяет существующее скалярное соглашение интерполяции по четырём узлам тензорным произведением по входным измерениям; окна сдвигаются внутрь у краёв таблицы, измерения с менее чем четырьмя сэмплами сохраняют существующий линейный фолбэк, а Size 1 остаётся константой

Скалярный путь передаточной функции с одним входом и одним выходом сохраняет существующее поведение

Обработка сэмплов

Входы отсекаются по Domain, отображаются через Encode и отсекаются по границам таблицы; интерполяция читает непрерывные сэмплы от старшего бита к младшему, применяет Decode и отсекает завершённые компоненты по Range

Поддерживаются глубины сэмплов 1, 2, 4, 8, 12, 16, 24 и 32 бита, первое входное измерение изменяется быстрее всего

Раздел 7.10.2 ISO 32000-1 определяет раскладку сэмплированных функций и последовательность обработки; численная формула приёмки фиксирует существующее соглашение библиотеки по четырём узлам, не утверждая, что стандарт выбирает единственное кубическое ядро

Лимиты ресурсов

Тензорное вычисление может обойти четыре ветви на каждое входное измерение; каждый посещённый узел и каждый кубический бит сэмпла попадает в агрегированные лимиты операции и опрос отмены, а ветви с нулевым весом не делают сэмпловой работы

Декодированные потоки, удерживаемые данные функций и память вычисления попадают в допуск декодированных и активных рабочих байтов; большие корректные таблицы могут потребовать выбранного вызывающим лимита операции

Сбои происходят до публикации PNG, а последующая отрисовка может переиспользовать тот же поток и API загруженного документа

Приёмка

Независимые тензорные уравнения решают веса интерполяции через систему Вандермонда и проверяют нативные пиксели для упакованных глубин сэмплов, многомерных окон, коротких измерений, кодировок и отсечения выхода

Различия исходников MuPDF и Poppler сохраняются отдельно от нативной тензорной приёмки; оба ридера также проверяют независимых компаньонов явных RGB-уравнений

Фокусированное воспроизведение фикстур и бюджетов см. в Tests/Linux/HeadlessSampledCubic.en-us.md, а контракты отрисовки и владения — в нативном Linux-рендерере Cairo