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

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Tue Nov 22 01:57:17 EET 2016


On 20.11.2016 17:57, Martin Vignali wrote:
>>> Support uncompress and rle compression in Image Data Section.
>>           ^
>> decompression
>>
> 
> Not sure i understand, do you mean :
> Support uncompress and rle decompression in Image Data Section.
> ?
> Because currently, the psd reader, can manage uncompress or rle.

Never mind, I just didn't parse this sentence correctly.

>>
>> Also a fate test would be nice.
>>
> Il would add a fate test, with the samples (in the previous link, when the
> path will be apply (to not mix, path and fate test).

OK. Alternatively you could already send a separate patch adding the fate test.

>>> diff --git a/libavcodec/psd.c b/libavcodec/psd.c
>>> new file mode 100644
>>> index 0000000..90ee337
>>> --- /dev/null
>>> +++ b/libavcodec/psd.c
>>> @@ -0,0 +1,428 @@
>> [...]
>>> +    s->height = bytestream2_get_be32(&s->gb);
>>> +
>>> +    if ((s->height < 1) || (s->height > 30000)) {
>>
>> Why 30000?
>> ff_set_dimensions already checks for sane dimensions.
>>
> 
> Following adobe specs :
> http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1055726
> in a psd file, the width or height, can't be > to 30 000 pixels.

I see. In that case it makes sense to explicitly check this, as
the check in ff_set_dimensions is more general and might change
in the future.

On 20.11.2016 18:32, Martin Vignali wrote:
>> However, all the rle samples seem to not decode entirely correct, instead
>> > containing blue/white rectangular areas.
>> >
>> >
>> > Sorry, forget to answer to that.
> The white/blue rect have been add by me to the sample file, in order to
> "enable" the rle compression of photoshop.
> So i think, the conversion is correct for RLE compression

Thanks for explaining that.

Best regards,
Andreas


More information about the ffmpeg-devel mailing list