From a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Mon, 30 Sep 2013 00:39:51 -0400 Subject: tiff: use a better name and enum values for PhotometricInterpretation Also add additional known values and log as missing features. --- libavcodec/tiffenc.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'libavcodec/tiffenc.c') diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index f12e0f4c2a..ccfb07c5f7 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -56,7 +56,7 @@ typedef struct TiffEncoderContext { unsigned int bpp; ///< bits per pixel int compr; ///< compression level int bpp_tab_size; ///< bpp_tab size - int photometric_interpretation; ///< photometric interpretation + enum TiffPhotometric photometric_interpretation; ///< photometric interpretation int strips; ///< number of strips int rps; ///< row per strip uint8_t entries[TIFF_MAX_ENTRY * 12]; ///< entries in header @@ -237,23 +237,23 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, pfd = av_pix_fmt_desc_get(avctx->pix_fmt); s->bpp = av_get_bits_per_pixel(pfd); if (pfd->flags & AV_PIX_FMT_FLAG_PAL) - s->photometric_interpretation = 3; + s->photometric_interpretation = TIFF_PHOTOMETRIC_PALETTE; else if (pfd->flags & AV_PIX_FMT_FLAG_RGB) - s->photometric_interpretation = 2; + s->photometric_interpretation = TIFF_PHOTOMETRIC_RGB; else - s->photometric_interpretation = 1; + s->photometric_interpretation = TIFF_PHOTOMETRIC_BLACK_IS_ZERO; s->bpp_tab_size = pfd->nb_components; for (i = 0; i < s->bpp_tab_size; i++) bpp_tab[i] = s->bpp / s->bpp_tab_size; break; case AV_PIX_FMT_MONOBLACK: s->bpp = 1; - s->photometric_interpretation = 1; + s->photometric_interpretation = TIFF_PHOTOMETRIC_BLACK_IS_ZERO; s->bpp_tab_size = 0; break; case AV_PIX_FMT_MONOWHITE: s->bpp = 1; - s->photometric_interpretation = 0; + s->photometric_interpretation = TIFF_PHOTOMETRIC_WHITE_IS_ZERO; s->bpp_tab_size = 0; break; case AV_PIX_FMT_YUV420P: @@ -262,7 +262,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, case AV_PIX_FMT_YUV410P: case AV_PIX_FMT_YUV411P: av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &shift_h, &shift_v); - s->photometric_interpretation = 6; + s->photometric_interpretation = TIFF_PHOTOMETRIC_YCBCR; s->bpp = 8 + (16 >> (shift_h + shift_v)); s->subsampling[0] = 1 << shift_h; s->subsampling[1] = 1 << shift_v; @@ -410,9 +410,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, if (s->bpp_tab_size) add_entry(s, TIFF_BPP, TIFF_SHORT, s->bpp_tab_size, bpp_tab); - add_entry1(s, TIFF_COMPR, TIFF_SHORT, s->compr); - add_entry1(s, TIFF_INVERT, TIFF_SHORT, s->photometric_interpretation); - add_entry(s, TIFF_STRIP_OFFS, TIFF_LONG, strips, strip_offsets); + add_entry1(s, TIFF_COMPR, TIFF_SHORT, s->compr); + add_entry1(s, TIFF_PHOTOMETRIC, TIFF_SHORT, s->photometric_interpretation); + add_entry(s, TIFF_STRIP_OFFS, TIFF_LONG, strips, strip_offsets); if (s->bpp_tab_size) add_entry1(s, TIFF_SAMPLES_PER_PIXEL, TIFF_SHORT, s->bpp_tab_size); -- cgit v1.2.3