Funzioni colore campionate native

Il renderer Cairo nativo valuta le funzioni colore campionate FunctionType 0 con Order 1 o Order 3, inclusi più input di tint e più output di colore alternativo

La valutazione cubica estende la convenzione di interpolazione a quattro knot esistente per gli scalari con un prodotto tensoriale sulle dimensioni di input; le finestre si spostano verso l'interno ai bordi della tabella, le dimensioni con meno di quattro campioni conservano il fallback lineare esistente, e Size 1 resta costante

Il percorso della funzione di trasferimento scalare a un input e un output mantiene il comportamento esistente

Elaborazione dei campioni

Gli input vengono clippati a Domain, mappati da Encode e clippati ai bound della tabella; l'interpolazione legge campioni continui a bit più significativo prima, applica Decode e clippa le componenti completate a Range

Le profondità dei campioni supportate sono 1, 2, 4, 8, 12, 16, 24 e 32 bit, con la prima dimensione di input che varia più rapidamente

La sezione 7.10.2 di ISO 32000-1 definisce il layout delle funzioni campionate e la sequenza di elaborazione; la formula di accettazione numerica registra la convenzione a quattro knot esistente della libreria senza rivendicare che lo standard scelga un kernel cubico unico

Limiti di risorse

La valutazione tensoriale può visitare quattro branch per dimensione di input; ogni nodo visitato e ogni bit di campione cubico entra nei limiti aggregati di operazione e nel polling di cancellazione, mentre i branch a peso zero non fanno lavoro sui campioni

Gli stream decodificati, i dati di funzione conservati e lo storage di valutazione entrano nell'ammissione di byte decodificati e byte di lavoro attivi; tabelle valide grandi possono richiedere un limite di operazione scelto dal chiamante

I fallimenti avvengono prima della pubblicazione PNG, e il rendering successivo può riusare lo stesso thread e la API del documento caricato

Accettazione

Equazioni tensoriali indipendenti risolvono i pesi di interpolazione attraverso un sistema di Vandermonde e verificano i pixel nativi per profondità di campione packed, finestre multidimensionali, dimensioni corte, encoding e clipping degli output

Le differenze tra sorgenti MuPDF e Poppler sono conservate separatamente dall'accettazione tensoriale nativa; entrambi i reader verificano anche i companion espliciti delle equazioni RGB

Si veda Tests/Linux/HeadlessSampledCubic.en-us.md per la riproduzione mirata di fixture e budget, e il renderer Cairo Linux nativo per i contratti di rendering e ownership