Commit c31c7089 authored by Nick Renieris's avatar Nick Renieris Committed by Paul B Mahol

lavc/tiff: Decode embedded JPEGs in DNG images

Used a technique similar to lavc/tdsc.c for invoking the MJPEG decoder.

This commit adds support for:
- DNG tiles
- DNG tile huffman lossless JPEG decoding
- DNG 8-bpp ("packed" as dcraw calls it) decoding
- DNG color scaling [1]
  - LinearizationTable tag
  - BlackLevel tag

[1]: As specified in the DNG Specification - Chapter 5
Signed-off-by: 's avatarNick Renieris <velocityra@gmail.com>
parent 40abff05
...@@ -2821,6 +2821,7 @@ tdsc_decoder_deps="zlib" ...@@ -2821,6 +2821,7 @@ tdsc_decoder_deps="zlib"
tdsc_decoder_select="mjpeg_decoder" tdsc_decoder_select="mjpeg_decoder"
theora_decoder_select="vp3_decoder" theora_decoder_select="vp3_decoder"
thp_decoder_select="mjpeg_decoder" thp_decoder_select="mjpeg_decoder"
tiff_decoder_select="mjpeg_decoder"
tiff_decoder_suggest="zlib lzma" tiff_decoder_suggest="zlib lzma"
tiff_encoder_suggest="zlib" tiff_encoder_suggest="zlib"
truehd_decoder_select="mlp_parser" truehd_decoder_select="mlp_parser"
......
...@@ -618,7 +618,7 @@ OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o ...@@ -618,7 +618,7 @@ OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o
OBJS-$(CONFIG_TDSC_DECODER) += tdsc.o OBJS-$(CONFIG_TDSC_DECODER) += tdsc.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o mjpegdec.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o
OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o
......
This diff is collapsed.
...@@ -101,6 +101,8 @@ enum TiffTags { ...@@ -101,6 +101,8 @@ enum TiffTags {
enum DngTags { enum DngTags {
DNG_VERSION = 0xC612, DNG_VERSION = 0xC612,
DNG_BACKWARD_VERSION = 0xC613, DNG_BACKWARD_VERSION = 0xC613,
DNG_LINEARIZATION_TABLE = 0xC618,
DNG_BLACK_LEVEL = 0xC61A,
DNG_WHITE_LEVEL = 0xC61D, DNG_WHITE_LEVEL = 0xC61D,
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment