Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#190 closed defect (fixed)

QT - add support for QT TIFF 2bpp color mode

Reported by: ami_stuff Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: tif
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Add support for QT TIFF 2bpp color mode.

C:\>ffmpeg -i TIFF_2bpp_color.mov out.avi
ffmpeg version git-N-29638-g95f163b, Copyright (c) 2000-2011 the FFmpeg develope
rs
  built on May  6 2011 12:50:01 with gcc 4.5.3
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-
runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --
enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl
e-libx264 --enable-libxavs --enable-libxvid --enable-zlib --pkg-config=pkg-confi
g
  libavutil    51.  2. 1 / 51.  2. 1
  libavcodec   53.  3. 0 / 53.  3. 0
  libavformat  53.  0. 3 / 53.  0. 3
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2.  4. 0 /  2.  4. 0
  libswscale    0. 14. 0 /  0. 14. 0
[tiff @ 01D0C340] This format is not supported (bpp=2, 1 components)
    Last message repeated 17 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 01D0B560] Could not find codec parameters (Video: tif
f, 640x480, 8695 kb/s)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'TIFF_2bpp_color.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2011-05-11 12:37:15
  Duration: 00:00:01.28, start: 0.000000, bitrate: 8209 kb/s
    Stream #0.0(eng): Audio: qdm2, 48000 Hz, 2 channels, s16, 48 kb/s
    Metadata:
      creation_time   : 2011-05-11 12:37:15
    Stream #0.1(eng): Video: tiff, 640x480, 8695 kb/s, 15 fps, 15 tbr, 15 tbn, 1
5 tbc
    Metadata:
      creation_time   : 2011-05-11 12:37:15
[buffer @ 01D14180] Invalid pixel format string '-1'
Error opening filters!

Attachments (6)

TIFF_2bpp_color.mov (1.3 MB ) - added by ami_stuff 13 years ago.
TIFF_nocompr_4bpp.mov (1.5 MB ) - added by ami_stuff 13 years ago.
TIFF_packbits_4bpp.mov (1.3 MB ) - added by ami_stuff 13 years ago.
tiff.diff (1.9 KB ) - added by ami_stuff 13 years ago.
patchtiff.diff (3.8 KB ) - added by Carl Eugen Hoyos 13 years ago.
patchtiff.2.diff (2.8 KB ) - added by Carl Eugen Hoyos 13 years ago.

Change History (12)

by ami_stuff, 13 years ago

Attachment: TIFF_2bpp_color.mov added

comment:1 by ami_stuff, 13 years ago

2bpp grayscale and 4bpp color/grayscale modes are also unsupported

comment:2 by ami_stuff, 13 years ago

This is a roundup issue 1621.

Seems like at least TIFF without compression can be easily implemented.

Author: kostya 	Date: 2009-12-15.06:32:07

Supporting raw 4-bit images is easy - see attached patch, it's harder 
to consistently support it with compression. Other reasons are that 
files are rare nowadays and developer being lazy.

Patch by Kostya:

https://roundup.libav.org/file672/tiff.patch

by ami_stuff, 13 years ago

Attachment: TIFF_nocompr_4bpp.mov added

by ami_stuff, 13 years ago

Attachment: TIFF_packbits_4bpp.mov added

comment:3 by ami_stuff, 13 years ago

I have tried to support TIFF 2/4bpp without compression, but I don't know what to do with files with inverted FillOrder (I have no 2/4bpp samples) and it seems I would need to multiply with a different value to compute grayscale for 2bpp/4bpp as well.

            /* make default grayscale pal */
            pal = (uint32_t *) s->picture.data[1];
            for (i = 0; i < 256; i++)
                pal[i] = i * 0x010101;

by ami_stuff, 13 years ago

Attachment: tiff.diff added

by Carl Eugen Hoyos, 13 years ago

Attachment: patchtiff.diff added

by Carl Eugen Hoyos, 13 years ago

Attachment: patchtiff.2.diff added

comment:4 by Michael Niedermayer, 13 years ago

patchtiff.2.diff LGTM

comment:5 by Carl Eugen Hoyos, 13 years ago

Analyzed by developer: set
Component: undeterminedavcodec
Reproduced by developer: set
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master

Fixed for the available samples.

comment:6 by Carl Eugen Hoyos, 12 years ago

Keywords: tif added
Note: See TracTickets for help on using tickets.