Home | History | Annotate | Download | only in libjasper

Lines Matching full:prof

98 static int mono(jas_iccprof_t *prof, int op, jas_cmpxformseq_t **pxformseq);
99 static int triclr(jas_iccprof_t *prof, int op, jas_cmpxformseq_t **retpxformseq);
114 #define fwdpxformseq(prof, intent) \
115 (((prof)->pxformseqs[SEQFWD(intent)]) ? \
116 ((prof)->pxformseqs[SEQFWD(intent)]) : \
117 ((prof)->pxformseqs[SEQFWD(0)]))
119 #define revpxformseq(prof, intent) \
120 (((prof)->pxformseqs[SEQREV(intent)]) ? \
121 ((prof)->pxformseqs[SEQREV(intent)]) : \
122 ((prof)->pxformseqs[SEQREV(0)]))
124 #define simpxformseq(prof, intent) \
125 (((prof)->pxformseqs[SEQSIM(intent)]) ? \
126 ((prof)->pxformseqs[SEQSIM(intent)]) : \
127 ((prof)->pxformseqs[SEQSIM(0)]))
129 #define gampxformseq(prof) ((prof)->pxformseqs[SEQGAM])
147 jas_cmprof_t *prof;
150 prof = 0;
153 if (!(prof = jas_cmprof_createsycc()))
159 if (!(prof = jas_cmprof_createfromiccprof(iccprof)))
164 prof->clrspc = clrspc;
167 return prof;
176 jas_cmprof_t *prof;
184 if (!(prof = jas_cmprof_createfromclrspc(JAS_CLRSPC_SRGB)))
186 prof->clrspc = JAS_CLRSPC_SYCBCR;
187 assert(prof->numchans == 3 && prof->numrefchans == 3);
188 assert(prof->refclrspc == JAS_CLRSPC_CIEXYZ);
223 if (prof->pxformseqs[j]) {
224 if (jas_cmpxformseq_insertpxform(prof->pxformseqs[j], 0,
229 if (prof->pxformseqs[j]) {
230 if (jas_cmpxformseq_insertpxform(prof->pxformseqs[j],
238 return prof;
245 jas_cmprof_t *prof;
250 prof = 0;
254 if (!(prof = jas_cmprof_create()))
257 if (!(prof->iccprof = jas_iccprof_copy(iccprof)))
259 prof->clrspc = icctoclrspc(icchdr.colorspc, 0);
260 prof->refclrspc = icctoclrspc(icchdr.refcolorspc, 1);
261 prof->numchans = jas_clrspc_numchans(prof->clrspc);
262 prof->numrefchans = jas_clrspc_numchans(prof->refclrspc);
264 if (prof->numchans == 1) {
265 if (mono(prof->iccprof, 0, &fwdpxformseq))
267 if (mono(prof->iccprof, 1, &revpxformseq))
269 } else if (prof->numchans == 3) {
270 if (triclr(prof->iccprof, 0, &fwdpxformseq))
272 if (triclr(prof->iccprof, 1, &revpxformseq))
275 prof->pxformseqs[SEQFWD(0)] = fwdpxformseq;
276 prof->pxformseqs[SEQREV(0)] = revpxformseq;
279 if (prof->numchans > 1) {
280 lut(prof->iccprof, 0, PER, &pxformseq);
281 pxformseqs_set(prof, SEQFWD(PER), pxformseq);
282 lut(prof->iccprof, 1, PER, &pxformseq);
283 pxformseqs_set(prof, SEQREV(PER), pxformseq);
284 lut(prof->iccprof, 0, CLR, &pxformseq);
285 pxformseqs_set(prof, SEQREV(CLR), pxformseq);
286 lut(prof->iccprof, 1, CLR, &pxformseq);
287 pxformseqs_set(prof, SEQREV(CLR), pxformseq);
288 lut(prof->iccprof, 0, SAT, &pxformseq);
289 pxformseqs_set(prof, SEQREV(SAT), pxformseq);
290 lut(prof->iccprof, 1, SAT, &pxformseq);
291 pxformseqs_set(prof, SEQREV(SAT), pxformseq);
295 return prof;
304 if (prof) {
305 jas_cmprof_destroy(prof);
314 jas_cmprof_t *prof;
315 if (!(prof = jas_malloc(sizeof(jas_cmprof_t))))
317 memset(prof, 0, sizeof(jas_cmprof_t));
318 prof->iccprof = 0;
320 prof->pxformseqs[i] = 0;
321 return prof;
324 void jas_cmprof_destroy(jas_cmprof_t *prof)
328 if (prof->pxformseqs[i]) {
329 jas_cmpxformseq_destroy(prof->pxformseqs[i]);
330 prof->pxformseqs[i] = 0;
333 if (prof->iccprof)
334 jas_iccprof_destroy(prof->iccprof);
335 jas_free(prof);
338 jas_cmprof_t *jas_cmprof_copy(jas_cmprof_t *prof)
345 newprof->clrspc = prof->clrspc;
346 newprof->numchans = prof->numchans;
347 newprof->refclrspc = prof->refclrspc;
348 newprof->numrefchans = prof->numrefchans;
349 newprof->iccprof = jas_iccprof_copy(prof->iccprof);
351 if (prof->pxformseqs[i]) {
352 if (!(newprof->pxformseqs[i] = jas_cmpxformseq_copy(prof->pxformseqs[i])))
1277 jas_iccprof_t *jas_iccprof_createfromcmprof(jas_cmprof_t *prof)
1279 return jas_iccprof_copy(prof->iccprof);