• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavcodec/

Lines Matching refs:image

89 static inline int libopenjpeg_matches_pix_fmt(const opj_image_t *image, enum AVPixelFormat pix_fmt)
94 if (desc->nb_components != image->numcomps) {
101 desc->comp[3].depth_minus1 + 1 >= image->comps[3].prec &&
102 1 == image->comps[3].dx &&
103 1 == image->comps[3].dy;
106 desc->comp[2].depth_minus1 + 1 >= image->comps[2].prec &&
107 1 << desc->log2_chroma_w == image->comps[2].dx &&
108 1 << desc->log2_chroma_h == image->comps[2].dy;
111 desc->comp[1].depth_minus1 + 1 >= image->comps[1].prec &&
112 1 << desc->log2_chroma_w == image->comps[1].dx &&
113 1 << desc->log2_chroma_h == image->comps[1].dy;
116 desc->comp[0].depth_minus1 + 1 >= image->comps[0].prec &&
117 1 == image->comps[0].dx &&
118 1 == image->comps[0].dy;
126 static inline enum AVPixelFormat libopenjpeg_guess_pix_fmt(const opj_image_t *image) {
131 switch (image->color_space) {
151 if (libopenjpeg_matches_pix_fmt(image, possible_fmts[index])) {
173 static inline void libopenjpeg_copy_to_packed8(AVFrame *picture, opj_image_t *image) {
180 for (c = 0; c < image->numcomps; c++)
181 *img_ptr++ = 0x80 * image->comps[c].sgnd + image->comps[c].data[index];
185 static inline void libopenjpeg_copy_to_packed16(AVFrame *picture, opj_image_t *image) {
189 for (x = 0; x < image->numcomps; x++)
190 adjust[x] = FFMAX(FFMIN(av_pix_fmt_desc_get(picture->format)->comp[x].depth_minus1 + 1 - image->comps[x].prec, 8), 0);
196 for (c = 0; c < image->numcomps; c++)
197 *img_ptr++ = (1 << image->comps[c].prec - 1) * image->comps[c].sgnd +
198 (unsigned)image->comps[c].data[index] << adjust[c];
202 static inline void libopenjpeg_copyto8(AVFrame *picture, opj_image_t *image) {
207 for (index = 0; index < image->numcomps; index++) {
208 comp_data = image->comps[index].data;
209 for (y = 0; y < image->comps[index].h; y++) {
211 for (x = 0; x < image->comps[index].w; x++) {
212 *img_ptr = 0x80 * image->comps[index].sgnd + *comp_data;
220 static inline void libopenjpeg_copyto16(AVFrame *picture, opj_image_t *image) {
225 for (x = 0; x < image->numcomps; x++)
226 adjust[x] = FFMAX(FFMIN(av_pix_fmt_desc_get(picture->format)->comp[x].depth_minus1 + 1 - image->comps[x].prec, 8), 0);
228 for (index = 0; index < image->numcomps; index++) {
229 comp_data = image->comps[index].data;
230 for (y = 0; y < image->comps[index].h; y++) {
232 for (x = 0; x < image->comps[index].w; x++) {
233 *img_ptr = (1 << image->comps[index].prec - 1) * image->comps[index].sgnd +
262 opj_image_t *image;
302 image = opj_decode_with_info(dec, stream, NULL);
305 if (!image) {
311 width = image->x1 - image->x0;
312 height = image->y1 - image->y0;
319 if (!libopenjpeg_matches_pix_fmt(image, avctx->pix_fmt))
323 avctx->pix_fmt = libopenjpeg_guess_pix_fmt(image);
329 for (i = 0; i < image->numcomps; i++)
330 if (image->comps[i].prec > avctx->bits_per_raw_sample)
331 avctx->bits_per_raw_sample = image->comps[i].prec;
348 opj_image_destroy(image);
350 image = opj_decode_with_info(dec, stream, NULL);
353 if (!image) {
366 libopenjpeg_copy_to_packed8(picture, image);
368 libopenjpeg_copyto8(picture, image);
373 libopenjpeg_copy_to_packed8(picture, image);
375 libopenjpeg_copyto16(picture, image);
381 libopenjpeg_copy_to_packed8(picture, image);
387 libopenjpeg_copy_to_packed16(picture, image);
400 opj_image_destroy(image);