Lines Matching refs:image
157 static inline int libopenjpeg_matches_pix_fmt(const opj_image_t *image, enum AVPixelFormat pix_fmt) in libopenjpeg_matches_pix_fmt() argument
162 if (desc->nb_components != image->numcomps) { in libopenjpeg_matches_pix_fmt()
169 desc->comp[3].depth >= image->comps[3].prec && in libopenjpeg_matches_pix_fmt()
170 1 == image->comps[3].dx && in libopenjpeg_matches_pix_fmt()
171 1 == image->comps[3].dy; in libopenjpeg_matches_pix_fmt()
174 desc->comp[2].depth >= image->comps[2].prec && in libopenjpeg_matches_pix_fmt()
175 1 << desc->log2_chroma_w == image->comps[2].dx && in libopenjpeg_matches_pix_fmt()
176 1 << desc->log2_chroma_h == image->comps[2].dy; in libopenjpeg_matches_pix_fmt()
179 desc->comp[1].depth >= image->comps[1].prec && in libopenjpeg_matches_pix_fmt()
180 1 << desc->log2_chroma_w == image->comps[1].dx && in libopenjpeg_matches_pix_fmt()
181 1 << desc->log2_chroma_h == image->comps[1].dy; in libopenjpeg_matches_pix_fmt()
184 desc->comp[0].depth >= image->comps[0].prec && in libopenjpeg_matches_pix_fmt()
185 1 == image->comps[0].dx && in libopenjpeg_matches_pix_fmt()
186 1 == image->comps[0].dy; in libopenjpeg_matches_pix_fmt()
194 static inline enum AVPixelFormat libopenjpeg_guess_pix_fmt(const opj_image_t *image) { in libopenjpeg_guess_pix_fmt() argument
199 switch (image->color_space) { in libopenjpeg_guess_pix_fmt()
219 if (libopenjpeg_matches_pix_fmt(image, possible_fmts[index])) { in libopenjpeg_guess_pix_fmt()
241 static inline void libopenjpeg_copy_to_packed8(AVFrame *picture, opj_image_t *image) { in libopenjpeg_copy_to_packed8() argument
248 for (c = 0; c < image->numcomps; c++) in libopenjpeg_copy_to_packed8()
249 *img_ptr++ = 0x80 * image->comps[c].sgnd + image->comps[c].data[index]; in libopenjpeg_copy_to_packed8()
253 static inline void libopenjpeg_copy_to_packed16(AVFrame *picture, opj_image_t *image) { in libopenjpeg_copy_to_packed16() argument
258 for (x = 0; x < image->numcomps; x++) in libopenjpeg_copy_to_packed16()
259 … adjust[x] = FFMAX(FFMIN(desc->comp[x].depth - image->comps[x].prec, 8), 0) + desc->comp[x].shift; in libopenjpeg_copy_to_packed16()
265 for (c = 0; c < image->numcomps; c++) in libopenjpeg_copy_to_packed16()
266 *img_ptr++ = (1 << image->comps[c].prec - 1) * image->comps[c].sgnd + in libopenjpeg_copy_to_packed16()
267 (unsigned)image->comps[c].data[index] << adjust[c]; in libopenjpeg_copy_to_packed16()
271 static inline void libopenjpeg_copyto8(AVFrame *picture, opj_image_t *image) { in libopenjpeg_copyto8() argument
276 for (index = 0; index < image->numcomps; index++) { in libopenjpeg_copyto8()
277 comp_data = image->comps[index].data; in libopenjpeg_copyto8()
278 for (y = 0; y < image->comps[index].h; y++) { in libopenjpeg_copyto8()
280 for (x = 0; x < image->comps[index].w; x++) { in libopenjpeg_copyto8()
281 *img_ptr = 0x80 * image->comps[index].sgnd + *comp_data; in libopenjpeg_copyto8()
289 static inline void libopenjpeg_copyto16(AVFrame *picture, opj_image_t *image) { in libopenjpeg_copyto16() argument
295 for (x = 0; x < image->numcomps; x++) in libopenjpeg_copyto16()
296 … adjust[x] = FFMAX(FFMIN(desc->comp[x].depth - image->comps[x].prec, 8), 0) + desc->comp[x].shift; in libopenjpeg_copyto16()
298 for (index = 0; index < image->numcomps; index++) { in libopenjpeg_copyto16()
299 comp_data = image->comps[index].data; in libopenjpeg_copyto16()
300 for (y = 0; y < image->comps[index].h; y++) { in libopenjpeg_copyto16()
302 for (x = 0; x < image->comps[index].w; x++) { in libopenjpeg_copyto16()
303 *img_ptr = (1 << image->comps[index].prec - 1) * image->comps[index].sgnd + in libopenjpeg_copyto16()
334 opj_image_t *image = NULL; in libopenjpeg_decode_frame() local
389 ret = !opj_read_header(stream, dec, &image); in libopenjpeg_decode_frame()
397 width = image->x1 - image->x0; in libopenjpeg_decode_frame()
398 height = image->y1 - image->y0; in libopenjpeg_decode_frame()
405 if (!libopenjpeg_matches_pix_fmt(image, avctx->pix_fmt)) in libopenjpeg_decode_frame()
409 avctx->pix_fmt = libopenjpeg_guess_pix_fmt(image); in libopenjpeg_decode_frame()
416 for (i = 0; i < image->numcomps; i++) in libopenjpeg_decode_frame()
417 if (image->comps[i].prec > avctx->bits_per_raw_sample) in libopenjpeg_decode_frame()
418 avctx->bits_per_raw_sample = image->comps[i].prec; in libopenjpeg_decode_frame()
423 ret = !opj_decode(dec, stream, image); in libopenjpeg_decode_frame()
431 for (i = 0; i < image->numcomps; i++) { in libopenjpeg_decode_frame()
432 if (!image->comps[i].data) { in libopenjpeg_decode_frame()
447 libopenjpeg_copy_to_packed8(picture, image); in libopenjpeg_decode_frame()
449 libopenjpeg_copyto8(picture, image); in libopenjpeg_decode_frame()
454 libopenjpeg_copy_to_packed8(picture, image); in libopenjpeg_decode_frame()
456 libopenjpeg_copyto16(picture, image); in libopenjpeg_decode_frame()
462 libopenjpeg_copy_to_packed8(picture, image); in libopenjpeg_decode_frame()
468 libopenjpeg_copy_to_packed16(picture, image); in libopenjpeg_decode_frame()
483 opj_image_destroy(image); in libopenjpeg_decode_frame()