aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/psd.c
Commit message (Collapse)AuthorAgeFilesLines
* avutil/common: Don't auto-include mem.hAndreas Rheinhardt2024-03-311-0/+1
| | | | | | | | | | | There are lots of files that don't need it: The number of object files that actually need it went down from 2011 to 884 here. Keep it for external users in order to not cause breakages. Also improve the other headers a bit while just at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/frame: deprecate palette_has_changedJames Almer2023-05-181-0/+4
| | | | | | | | Not only this is information that relies on the concept of a sequence of frames, which is completely out of place as a field in AVFrame, but there are no known or intended uses of this field. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/codec_internal: Add macro to set AVCodec.long_nameAndreas Rheinhardt2022-09-031-1/+1
| | | | | | | | It reduces typing: Before this patch, there were 105 codecs whose long_name-definition exceeded the 80 char line length limit. Now there are only nine of them. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/internal: Move ff_set_dimensions() to decode.hAndreas Rheinhardt2022-08-271-1/+0
| | | | | | | | | Decoder-only, as the dimensions are set by the user when encoding. Also fixup the other headers a bit while removing unnecessary internal.h inclusions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/internal: Move ff_get_buffer() to decode.hAndreas Rheinhardt2022-08-271-0/+1
| | | | | | | | | Only used by decoders (encoders have ff_encode_alloc_frame()). Also clean up the other headers a bit while removing now redundant internal.h inclusions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec_internal: Use union for FFCodec decode/encode callbacksAndreas Rheinhardt2022-04-051-1/+1
| | | | | | | | | | | This is possible, because every given FFCodec has to implement exactly one of these. Doing so decreases sizeof(FFCodec) and therefore decreases the size of the binary. Notice that in case of position-independent code the decrease is in .data.rel.ro, so that this translates to decreased memory consumption. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec_internal: Make FFCodec.decode use AVFrame*Andreas Rheinhardt2022-04-051-3/+1
| | | | | | | | This increases type-safety by avoiding conversions from/through void*. It also avoids the boilerplate "AVFrame *frame = data;" line for non-subtitle decoders. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec_internal: Add FFCodec, hide internal part of AVCodecAndreas Rheinhardt2022-03-211-6/+7
| | | | | | | | | | | | | | | | Up until now, codec.h contains both public and private parts of AVCodec. This exposes the internals of AVCodec to users and leads them into the temptation of actually using them and forces us to forward-declare structures and types that users can't use at all. This commit changes this by adding a new structure FFCodec to codec_internal.h that extends AVCodec, i.e. contains the public AVCodec as first member; the private fields of AVCodec are moved to this structure, leaving codec.h clean. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: Constify AVCodecsAndreas Rheinhardt2021-04-271-1/+1
| | | | | | | | | | Given that the AVCodec.next pointer has now been removed, most of the AVCodecs are not modified at all any more and can therefore be made const (as this patch does); the only exceptions are the very few codecs for external libraries that have a init_static_data callback. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/psd: remove unneeded codeSteven Liu2019-10-221-2/+0
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavc/psd: Support CMYK images.Carl Eugen Hoyos2019-01-121-0/+84
| | | | | | Based on a05635e by Michael Niedermayer. Fixes ticket #6797.
* avcodec/psd : add support for gray floatMartin Vignali2018-08-221-0/+2
|
* libavcodec/psd : add test for channel depth/channel count in bitmap modeMartin Vignali2017-01-141-0/+6
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/psd: fix ugly typoPaul B Mahol2017-01-111-1/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* libavcodec/psd : add support for psd bitmap modeMartin Vignali2017-01-111-3/+8
| | | | | | Fixes ticket #6044 Based on patch by Carl Eugen Hoyos
* lavc/psd: Interpret DUOTONE as GRAYSCALE.Carl Eugen Hoyos2017-01-111-0/+2
| | | | | | | | This is what gimp, ImageMagick and FreeImage do and what the Adobe Photoshop file format specification suggests. Fixes a sample from ticket #6045. Reviewed-by: Martin Vignali
* lavc/psd: Support indexed files.Carl Eugen Hoyos2017-01-021-0/+24
| | | | Fixes ticket #6045.
* lavc/psd: Remove an uninitialized variable.Carl Eugen Hoyos2016-12-301-2/+2
|
* libavcodec : add decoder for Photoshop PSD image filesMartin Vignali2016-12-141-0/+435
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: Michael Niedermayer <michael@niedermayer.cc>