summaryrefslogtreecommitdiff
path: root/libavformat/img2dec.c
Commit message (Collapse)AuthorAge
* avformat: Constify all muxer/demuxersAndreas Rheinhardt2021-04-27
| | | | | | | This is possible now that the next-API is gone. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-27
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/img2dec: set r_frame_rate in addition to avg_frame_rateJan Ekström2021-04-11
| | | | | | | | | Apparently for various image sequences libavformat/utils.c can calculate rather fancy r_frame_rate values, such as `186/1921`, and since ffmpeg.c utilizes r_frame_rate for the filter chain time base, this can quite deteriorate the output frame timing - even though the user has requested the image sequence to be interpreted at a specific, constant frame rate.
* avcodec/packet: Also change av_packet_pack/unpack_dictionary to size_tAndreas Rheinhardt2021-03-19
| | | | | | | | | These are auxiliary side-data functions, so they should have been switched to size_t in d79e0fe65c51491f9bf8a470bbe36fb09f3e1280, but this has been forgotten. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* lavf/img2dec: Autodetect pfm images.Carl Eugen Hoyos2021-02-15
|
* avformat/img2dec: improve xbm probingPaul B Mahol2021-02-05
|
* avformat: add xbm_pipe demuxerPaul B Mahol2021-02-05
|
* lavf/img2dec: Increase score for very large jpeg images.Carl Eugen Hoyos2020-12-24
| | | | Avoids a conflict with the raw mjpeg demuxer.
* img2dec: export avg_frame_rateAnton Khirnov2020-12-10
|
* lavf: move AVStream.*index_entries* to AVStreamInternalAnton Khirnov2020-10-28
| | | | | | | Those are private fields, no reason to have them exposed in a public header. Since there are some (semi-)public fields located after these, even though this section is supposed to be private, keep some dummy padding there until the next major bump to preserve ABI compatibility.
* lavf/img2dec: Auto-detect Cintel scanner images.Carl Eugen Hoyos2020-10-08
|
* lavf/img2dec: Auto-detect Kodak Photo CD image files.Carl Eugen Hoyos2020-09-05
|
* libavformat/img2dec: Added pgx demuxerGautam Ramakrishnan2020-07-03
| | | | | | | This patch adds support to demux pgx file format. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/img2dec: Avoid duplicating buffer when adding side-dataAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat: Remove unnecessary av_packet_unref()Andreas Rheinhardt2020-02-10
| | | | | | | | | Since bae8844e the packet will always be unreferenced when a demuxer returns an error, so that a lot of calls to av_packet_unref() in lots of demuxers are now redundant and can be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/img2dec: add option to provide metadata fields related to input pathAlexandre Heitor Schmidt2020-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libavformat/img2.h: New field export_path_metadata to VideoDemuxData to only allow the use of the extra metadata upon explicit user request, for security reasons. libavformat/img2dec.c: Modify image2 demuxer to make available two special metadata entries called lavf.image2dec.source_path and lavf.image2dec.source_basename, which represents, respectively, the complete path to the source image for the current frame and the basename i.e. the file name related to the current frame. These can then be used by filters like drawtext and others. The metadata fields will only be available when explicitly enabled with image2 option -export_path_metadata 1. doc/demuxers.texi: Documented the new metadata fields available for image2 and how to use them. doc/filters.texi: Added an example on how to use the new metadata fields with drawtext filter, in order to plot the input file path to each output frame. Usage example: ffmpeg -f image2 -export_path_metadata 1 -pattern_type glob -framerate 18 -i '/path/to/input/files/*.jpg' -filter_complex drawtext="fontsize=40:fontcolor=white: fontfile=FreeSans.ttf:borderw=2:bordercolor=black: text='%{metadata\:lavf.image2dec.source_basename\:NA}':x=5:y=50" output.avi Fixes #2874. Signed-off-by: Alexandre Heitor Schmidt <alexandre.schmidt@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/img2dec: Fix probe_buffer leak in ff_img_read_header()Michael Niedermayer2019-06-25
| | | | | | | | Fixes: memleak Fixes: 15171/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5683881644130304 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf: Constify the probe function argument.Carl Eugen Hoyos2019-03-21
| | | | | Reviewed-by: Lauri Kasanen Reviewed-by: Tomas Härdin
* lavf: Constify AVInputFormat pointer.Carl Eugen Hoyos2019-03-20
|
* lavf/img2: Move "loop" into common options.Carl Eugen Hoyos2019-02-10
| | | | | While the image2pipe demuxer ignores the option - confusing users - the autodetecting demuxers that are favoured over image2 act on it.
* lavf/img2dec: Split img2 and img2pipe options.Carl Eugen Hoyos2019-02-10
|
* avformat: add gif pipe demuxerPaul B Mahol2018-12-10
|
* lavf/img2dec: Auto-detect xwd images.Carl Eugen Hoyos2018-05-25
|
* lavf/img2dec: use new iteration APIJosh de Kock2018-04-02
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* avformat/img2dec: fix infinite loopMichael Niedermayer2018-03-10
| | | | | | | | Fixes: kira-poc Found-by: Kira <kira_cxy@foxmail.com> Change suggested by Kira Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* lavf/img2dec: Auto-detect svg images.Carl Eugen Hoyos2017-10-07
|
* lavf/img2: Add svg and svgz to allow reading image sequences.Carl Eugen Hoyos2017-05-22
| | | | Increase the return value for svg_probe() to make it != AVPROBE_SCORE_EXTENSION.
* img2dec: use standard way to probe for svg/svgz filesRostislav Pehlivanov2017-05-16
|
* img2dec: add support for piped SVG demuxingRostislav Pehlivanov2017-05-16
| | | | | | | Only checks the extension and MIME type, since determining whether a file is SVG is difficult since they're just XML files. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec: add XPM decoder and demuxerParas Chadha2017-03-12
| | | | Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
* lavf/img2dec: Reduce the probe score for incomplete jpgs.Carl Eugen Hoyos2017-01-27
| | | | Ensures that probing doesn't finish prematurely for small files.
* lavf/img2dec: Increase detection score of jpgs without EOI.Carl Eugen Hoyos2017-01-01
| | | | | Also increases the score for large jpeg files. Fixes autodetection for the file from mpv issue 3973.
* avformat/img2dec: Remove dead code from psd_probe()Michael Niedermayer2016-12-21
| | | | | | Fixes CID1397124 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavformat : add Photoshop PSD demuxer.Martin Vignali2016-12-14
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/img2dec: Skip DQT segment when auto-detecting jpg.Carl Eugen Hoyos2016-09-03
| | | | DQT segments may contain 0xFFs which break auto-detection.
* lavf/img2dec: Also auto-detect (unusual) uncompressed pcx.Carl Eugen Hoyos2016-07-15
|
* lavf/img2dec: add pnm pipe demuxersClément Bœsch2016-06-22
|
* avformat: Fix max value of AV_OPT_TYPE_VIDEO_RATEMichael Niedermayer2016-06-09
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* | lavf/img2dec: Skip COM when auto-detecting jpeg.Carl Eugen Hoyos2016-03-22
| | | | | | | | It could theoretically contain invalid data that gets ignored by decoders.
* | lavf/img2dec: Use jpeg constants in jpeg_probe().Carl Eugen Hoyos2016-03-06
| |
* | lavf: Add pcx auto-detection.Carl Eugen Hoyos2016-02-29
| |
* | lavf/img2dec: Skip SOS when auto-detecting jpeg.Carl Eugen Hoyos2016-02-29
| | | | | | | | Improves jpeg auto-detection.
* | lavf/img2dec: Skip SOF size when probing jpeg.Carl Eugen Hoyos2016-02-26
| | | | | | | | | | Fixes auto-detection for some resolutions. Reported-by: Clément Bœsch
* | img2dec: Support Progressive JPEG in jpeg_probeJustin Ruggles2016-02-24
| | | | | | | | | | | | There can be multiple SOS markers, so do not return 0 in that case. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'Derek Buitenhuis2016-02-10
|\| | | | | | | | | | | | | | | | | This also deprecates our old duplicated callbacks. * commit '9f61abc8111c7c43f49ca012e957a108b9cc7610': lavf: allow custom IO for all files Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: allow custom IO for all filesAnton Khirnov2016-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some (de)muxers open additional files beyond the main IO context. Currently, they call avio_open() directly, which prevents the caller from using custom IO for such streams. This commit adds callbacks to AVFormatContext that default to avio_open2()/avio_close(), but can be overridden by the caller. All muxers and demuxers using AVIO are switched to using those callbacks instead of calling avio_open()/avio_close() directly. (de)muxers that use the URLProtocol layer directly instead of AVIO remain unconverted for now. This should be fixed in later commits.
* | avformat/img2dec: Use AVOpenCallbackMichael Niedermayer2016-01-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>