Browse Source

lavc/tiff: Support decoding 16bit cmyk.

tags/n4.2
Carl Eugen Hoyos 7 years ago
parent
commit
6fcf7adc01
2 changed files with 17 additions and 1 deletions
  1. +16
    -0
      libavcodec/tiff.c
  2. +1
    -1
      libavcodec/version.h

+ 16
- 0
libavcodec/tiff.c View File

@@ -1547,6 +1547,22 @@ again:
}
dst += p->linesize[plane];
}
} else if (s->photometric == TIFF_PHOTOMETRIC_SEPARATED &&
s->avctx->pix_fmt == AV_PIX_FMT_RGBA64BE) {
dst = p->data[plane];
for (i = 0; i < s->height; i++) {
for (j = 0; j < s->width; j++) {
uint64_t k = 65535 - AV_RB16(dst + 8 * j + 6);
uint64_t r = (65535 - AV_RB16(dst + 8 * j )) * k;
uint64_t g = (65535 - AV_RB16(dst + 8 * j + 2)) * k;
uint64_t b = (65535 - AV_RB16(dst + 8 * j + 4)) * k;
AV_WB16(dst + 8 * j , r * 65537 >> 32);
AV_WB16(dst + 8 * j + 2, g * 65537 >> 32);
AV_WB16(dst + 8 * j + 4, b * 65537 >> 32);
AV_WB16(dst + 8 * j + 6, 65535);
}
dst += p->linesize[plane];
}
}
}



+ 1
- 1
libavcodec/version.h View File

@@ -29,7 +29,7 @@

#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 47
#define LIBAVCODEC_VERSION_MICRO 103
#define LIBAVCODEC_VERSION_MICRO 104

#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \


Loading…
Cancel
Save