summaryrefslogtreecommitdiff
path: root/libavcodec/tiffenc.c
Commit message (Collapse)AuthorAge
* avcodec/encode: Always use intermediate buffer in ff_alloc_packet2()Andreas Rheinhardt2021-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, ff_alloc_packet2() has a min_size parameter: It is supposed to be a lower bound on the final size of the packet to allocate. If it is not too far from the upper bound (namely, if it is at least half the upper bound), then ff_alloc_packet2() already allocates the final, already refcounted packet; if it is not, then the packet is not refcounted and its data only points to a buffer owned by the AVCodecContext (in this case, the packet will be made refcounted in encode_simple_internal() in libavcodec/encode.c). The goal of this was to avoid data copies and intermediate buffers if one has a precise lower bound. Yet those encoders for which precise lower bounds exist have recently been switched to ff_get_encode_buffer() (which automatically allocates final buffers), leaving only two encoders to actually set the min_size to something else than zero (namely aliaspixenc and hapenc). Both of these encoders use a very low lower bound that is not helpful in any nontrivial case. This commit therefore removes the min_size parameter as well as the codepath in ff_alloc_packet2() for the allocation of final buffers. Furthermore, the function has been renamed to ff_alloc_packet() and moved to encode.h alongside ff_get_encode_buffer(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/tiffenc: Mark encoder as init-threadsafeAndreas Rheinhardt2021-05-02
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec: Constify AVCodecsAndreas Rheinhardt2021-04-27
| | | | | | | | | | 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: Remove deprecated AVCodecContext.coded_frameAndreas Rheinhardt2021-04-27
| | | | | | | | | | Deprecated in 40cf1bbacc6220a0aa6bed5c331871d43f9ce370. (The currently disabled filter vf_mcdeint and vf_uspp were users of this field; they have not been changed, so that whoever wants to fix them can see the state of these filters when they were disabled.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/put_bits: Fix LZW warningSteinar H. Gunderson2020-07-20
| | | | | | | | | | | lzwenc stores a function pointer to either put_bits or put_bits_le; however, after the recent change, the function pointer's prototype would depend on BitBuf. BitBuf is defined in put_bits.h, whose definition depends on whether BITSTREAM_WRITER_LE is #defined or not. For safety, we set a boolean flag for little/big endian instead, which also allows the definition to be inlined. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: deprecate Lossless and Intra Only encoder capabilitesJames Almer2020-05-21
| | | | | | | Both are codec properties and not encoder capabilities. The relevant AVCodecDescriptor.props flags exist for this purpose. Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '6c445990e64124ad64c79423dfd3764520648c89'Hendrik Leppkes2016-11-14
|\ | | | | | | | | | | | | * commit '6c445990e64124ad64c79423dfd3764520648c89': tiffenc: Check zlib support for deflate option during initialization Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * tiffenc: Check zlib support for deflate option during initializationVittorio Giovara2016-06-29
| | | | | | | | | | This converts a misleading error about an option not found to a more meaningful one.
* | Merge commit '9f732e4c996243c1e57c2bbbec6c8b94c37a7a22'Hendrik Leppkes2016-11-14
|\| | | | | | | | | | | | | * commit '9f732e4c996243c1e57c2bbbec6c8b94c37a7a22': tiffenc: Check av_pix_fmt_desc_get() return value Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * tiffenc: Check av_pix_fmt_desc_get() return valueVittorio Giovara2016-06-29
| |
* | Replace all remaining occurances of step/depth_minus1 and offset_plus1Hendrik Leppkes2015-09-08
| |
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | | | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec: Add a min size parameter to ff_alloc_packet2()Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | This parameter can be used to inform the allocation code about how much downsizing might occur, and can be used to optimize how to allocate the packet Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'Michael Niedermayer2015-07-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370': Deprecate avctx.coded_frame Conflicts: ffmpeg.c libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/gif.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/proresenc_kostya.c libavcodec/pthread_frame.c libavcodec/rawenc.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/version.h libavcodec/xbmenc.c libavcodec/xwdenc.c libavdevice/v4l2.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * Deprecate avctx.coded_frameVittorio Giovara2015-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rationale is that coded_frame was only used to communicate key_frame, pict_type and quality to the caller, as well as a few other random fields, in a non predictable, let alone consistent way. There was agreement that there was no use case for coded_frame, as it is a full-sized AVFrame container used for just 2-3 int-sized properties, which shouldn't even belong into the AVCodecContext in the first place. The appropriate AVPacket flag can be used instead of key_frame, while quality is exported with the new AVPacketSideData quality factor. There is no replacement for the other fields as they were unreliable, mishandled or just not used at all. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534'Michael Niedermayer2015-07-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534': Gather all coded_frame allocations and free functions to a single place Conflicts: libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/dvenc.c libavcodec/gif.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libopenjpegenc.c libavcodec/libtheoraenc.c libavcodec/libvpxenc.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/v210enc.c libavcodec/v410enc.c libavcodec/xbmenc.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * Gather all coded_frame allocations and free functions to a single placeVittorio Giovara2015-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allocating coded_frame is what most encoders do anyway, so it makes sense to always allocate and free it in a single place. Moreover a lot of encoders freed the frame with av_freep() instead of the correct API av_frame_free(). This bring uniformity to encoder behaviour and prevents applications from erroneusly accessing this field when not allocated. Additionally this helps isolating encoders that export information with coded_frame, and heavily simplifies its deprecation. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * tiff: Return more meaningful error codesHimangi Saraogi2015-03-30
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | tiff: Return more meaningful error codesHimangi Saraogi2015-03-30
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/tiffenc: Support encoding ya16le.Carl Eugen Hoyos2015-01-22
| |
* | avcodec/tiffenc: remove double ;;Clément Bœsch2015-01-18
| |
* | Merge commit '3a3790b8f8b56ee6abc93ccac280eb693675e294'Michael Niedermayer2014-12-19
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '3a3790b8f8b56ee6abc93ccac280eb693675e294': tiff: support encoding and decoding 64bit images Conflicts: libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/version.h See: c714cd3bd4af70e0cba1db399ca420b1f51a773d Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: support encoding and decoding 64bit imagesCarl Eugen Hoyos2014-12-18
| |
* | avcodec/tiffenc: Consistently use ADD_ENTRY1()Michael Niedermayer2014-12-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0'Michael Niedermayer2014-12-15
|\| | | | | | | | | | | | | * commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0': tiff: set the correct return value when check_size() fails Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: set the correct return value when check_size() failsVittorio Giovara2014-12-15
| | | | | | | | Only one instance affected and solved as other occurences.
* | Merge commit '3c27275c1309190f2d6ed69140b67d014215b6c9'Michael Niedermayer2014-12-15
|\| | | | | | | | | | | | | | | | | | | | | * commit '3c27275c1309190f2d6ed69140b67d014215b6c9': tiff: Check the check_size() return value and forward it Conflicts: libavcodec/tiffenc.c See: d50aa006fb3430bedc3872ba10e028a714499625 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: Check the check_size() return value and forward itLuca Barbato2014-12-15
| | | | | | | | | | | | | | | | | | | | Also use the same type for add_entry and check_size. Bug-Id: CID 700699 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
* | Merge commit '0562887a984388fdc7a9b71c9374ff9c756fb4f1'Michael Niedermayer2014-11-24
|\| | | | | | | | | | | | | | | | | | | * commit '0562887a984388fdc7a9b71c9374ff9c756fb4f1': tiffenc: initialize return value Conflicts: libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiffenc: initialize return valueVittorio Giovara2014-11-24
| | | | | | | | | | | | | | | | | | 'ret' can only be used without initialization if s->height <= 0, which can only happen if avctx->height <= 0, which is validated elsewhere. Doesn't hurt to still initialize it though. CC: libav-stable@libav.org Bug-Id: CID 732296
* | libavcodec/tiffenc: Use av_freep() avoid leaving stale pointers in memoryMichael Niedermayer2014-11-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c9c7d59b7d26f0328d612995dd9256337ae1cbfb'Michael Niedermayer2014-11-12
|\| | | | | | | | | | | | | | | | | | | * commit 'c9c7d59b7d26f0328d612995dd9256337ae1cbfb': tiff: Use av_mallocz_array Conflicts: libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: Use av_mallocz_arrayLuca Barbato2014-11-11
| | | | | | | | CC: libav-stable@libav.org
| * cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avcodec/tiffenc: properly compute packet sizeChristophe Gisquet2014-10-22
| | | | | | | | | | | | | | | | | | | | | | The bytes per row is a better indication of it. Helps resolving ticket #3874 by fixing ffmpeg's encoder and transforming the issue in a issue with non-compliant decoders. ffmpeg's one is ok, but unfortunately, many others aren't handling correctly unusual chroma samplings. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '49106844929b7b71ac719064d640f8aa56c89b1f'Michael Niedermayer2014-06-18
|\| | | | | | | | | | | | | | | | | | | * commit '49106844929b7b71ac719064d640f8aa56c89b1f': tiffenc: fix packet size calculation Conflicts: libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiffenc: fix packet size calculationTristan Matthews2014-06-17
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavc/tiffenc: Enable frame-threading.Carl Eugen Hoyos2014-05-31
| |
* | Merge commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed'Michael Niedermayer2014-04-13
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed': tiff: use a better name and enum values for PhotometricInterpretation Conflicts: libavcodec/tiff.c libavcodec/tiff.h libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: use a better name and enum values for PhotometricInterpretationJustin Ruggles2014-04-12
| | | | | | | | Also add additional known values and log as missing features.
| * tiff: Support rgba encodingCarl Eugen Hoyos2014-03-16
| |
* | Consider aspect ratio when writing tiff dpi.Carl Eugen Hoyos2014-04-06
| | | | | | | | TIFFTAG_YRESOLUTION gets now adjusted to sample_aspect_ratio.
* | Merge commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7'Michael Niedermayer2013-11-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7': sunrastenc: use the AVFrame API properly. targaenc: use the AVFrame API properly. tiffenc: use the AVFrame API properly. pngenc: use the AVFrame API properly. Conflicts: libavcodec/pngenc.c libavcodec/sunrastenc.c libavcodec/targaenc.c libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiffenc: use the AVFrame API properly.Anton Khirnov2013-11-16
| |
* | Merge commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee'Michael Niedermayer2013-06-03
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee': tiff: K&R formatting cosmetics Conflicts: libavcodec/tiff.c libavcodec/tiff.h libavcodec/tiffenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * tiff: K&R formatting cosmeticsDiego Biurrun2013-06-02
| |