[FFmpeg-devel] libavcodec : add psd image file decoder

Rostislav Pehlivanov atomnuker at gmail.com
Sat Jul 9 19:41:21 EEST 2016


On 9 July 2016 at 16:29, Martin Vignali <martin.vignali at gmail.com> wrote:

> Hello,
>
> In attach patch to add decoding of .psd file (Photoshop file).
>
> PSD file can contain merge layers data at the end of the file (Image Data
> Section)
>
> This patch add support for this kind of files, using uncompress data Image
> Data Section
>
> Support Gray/A, and RGB/A with 8b or 16 bits by channel.
>
>
> Samples can be found here :
>
> https://we.tl/GK6yQhUV8j
>
>
> Comments welcome
>
> Martin
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
This has the potential to turn into the shittiest thing in libavcodec. PSD
is a notoriously horrible format and I believe code needed to read and
render it belongs outside of libavcodec. Not to mention that close to 90%
of the features it has are unsupported by the framework, be it vectors, the
colorspaces, layers, etc. The decoder's also pretty raw and only supports
uncompressed images, with every other mode currently unsupported, giving
the deceptive idea it's a simple decoder for a simple format. A decoder
which can open a very small part of all psd files floating around isn't a
very useful one.
There is simply no simple way to expose all the quirks of the format in a
nice way to libavcodec, given that this decoder can be potentially as
complex and bad as photoshop. Please make this a separate library or a
program, you don't even need any framework features since it's a simple
bytestream.

In case you need the testament of someone who's done the work already take
a read at this:
https://github.com/gco/xee/blob/master/XeePhotoshopLoader.m#L108-L136


More information about the ffmpeg-devel mailing list