Commit 90af9629 authored by Martin Vignali's avatar Martin Vignali Committed by Michael Niedermayer

libavcodec : add decoder for Photoshop PSD image files

Decode the Image Data Section (which contains merged pictures).
Support RGB/A and Grayscale/A in 8bits and 16 bits per channel.
Support uncompress and rle decompression in Image Data Section.
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent ad5807f8
......@@ -8,6 +8,7 @@ version <next>:
- premultiply video filter
- Support for spherical videos
- configure now fails if autodetect-libraries are requested but not found
- PSD Decoder
version 3.2:
- libopenmpt demuxer
......
......@@ -584,6 +584,8 @@ following image formats are supported:
@item PNG @tab X @tab X
@item PPM @tab X @tab X
@tab Portable PixelMap image
@item PSD @tab @tab X
@tab Photoshop
@item PTX @tab @tab X
@tab V.Flash PTX format
@item SGI @tab X @tab X
......
......@@ -462,6 +462,7 @@ OBJS-$(CONFIG_PRORES_LGPL_DECODER) += proresdec_lgpl.o proresdsp.o proresdat
OBJS-$(CONFIG_PRORES_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_AW_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_KS_ENCODER) += proresenc_kostya.o proresdata.o
OBJS-$(CONFIG_PSD_DECODER) += psd.o
OBJS-$(CONFIG_PTX_DECODER) += ptx.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o \
celp_filters.o acelp_vectors.o \
......
......@@ -287,6 +287,7 @@ void avcodec_register_all(void)
REGISTER_ENCODER(PRORES_AW, prores_aw);
REGISTER_ENCODER(PRORES_KS, prores_ks);
REGISTER_DECODER(PRORES_LGPL, prores_lgpl);
REGISTER_DECODER(PSD, psd);
REGISTER_DECODER(PTX, ptx);
REGISTER_DECODER(QDRAW, qdraw);
REGISTER_DECODER(QPEG, qpeg);
......
......@@ -411,6 +411,7 @@ enum AVCodecID {
AV_CODEC_ID_MAGICYUV,
AV_CODEC_ID_SHEERVIDEO,
AV_CODEC_ID_YLC,
AV_CODEC_ID_PSD,
/* various PCM "codecs" */
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
......
......@@ -1460,6 +1460,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_PSD,
.type = AVMEDIA_TYPE_VIDEO,
.name = "psd",
.long_name = NULL_IF_CONFIG_SMALL("Photoshop PSD file"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_PTX,
.type = AVMEDIA_TYPE_VIDEO,
......
This diff is collapsed.
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