1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Commit Graph

128 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
a20f64bee2 lavf/img2dec: Auto-detect svg images. 2017-10-07 03:42:00 +02:00
Carl Eugen Hoyos
7f60dc03a0 lavf/img2: Add svg and svgz to allow reading image sequences.
Increase the return value for svg_probe() to make it != AVPROBE_SCORE_EXTENSION.
2017-05-22 01:09:21 +02:00
Rostislav Pehlivanov
3fefaeaa0b img2dec: use standard way to probe for svg/svgz files 2017-05-16 12:45:14 +01:00
Rostislav Pehlivanov
f68ea92833 img2dec: add support for piped SVG demuxing
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>
2017-05-16 11:27:00 +01:00
Paras Chadha
5dab7b91ad avcodec: add XPM decoder and demuxer
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
2017-03-12 18:24:49 +01:00
Carl Eugen Hoyos
fca3083282 lavf/img2dec: Reduce the probe score for incomplete jpgs.
Ensures that probing doesn't finish prematurely for small files.
2017-01-27 08:31:07 +01:00
Carl Eugen Hoyos
375a22a472 lavf/img2dec: Increase detection score of jpgs without EOI.
Also increases the score for large jpeg files.
Fixes autodetection for the file from mpv issue 3973.
2017-01-01 18:59:57 +01:00
Michael Niedermayer
fd1fcb59dc avformat/img2dec: Remove dead code from psd_probe()
Fixes CID1397124

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-21 22:40:14 +01:00
Martin Vignali
a534862b27 libavformat : add Photoshop PSD demuxer.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-14 03:21:27 +01:00
Carl Eugen Hoyos
91842005fe lavf/img2dec: Skip DQT segment when auto-detecting jpg.
DQT segments may contain 0xFFs which break auto-detection.
2016-09-03 13:38:16 +02:00
Carl Eugen Hoyos
e1023aa1dd lavf/img2dec: Also auto-detect (unusual) uncompressed pcx. 2016-07-15 10:26:27 +02:00
Clément Bœsch
48ac4532d4 lavf/img2dec: add pnm pipe demuxers 2016-06-22 15:24:19 +02:00
Michael Niedermayer
4888932c4d avformat: Fix max value of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-09 10:35:13 +02:00
Derek Buitenhuis
6f69f7a8bf Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
* 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>
2016-04-10 20:59:55 +01:00
Carl Eugen Hoyos
ef888de1c1 lavf/img2dec: Skip COM when auto-detecting jpeg.
It could theoretically contain invalid data that gets ignored by decoders.
2016-03-22 11:13:24 +01:00
Carl Eugen Hoyos
e356487fda lavf/img2dec: Use jpeg constants in jpeg_probe(). 2016-03-06 22:28:22 +01:00
Carl Eugen Hoyos
8c5092912b lavf: Add pcx auto-detection. 2016-02-29 15:49:52 +01:00
Carl Eugen Hoyos
c0ecc597fa lavf/img2dec: Skip SOS when auto-detecting jpeg.
Improves jpeg auto-detection.
2016-02-29 11:58:16 +01:00
Carl Eugen Hoyos
07eec5e721 lavf/img2dec: Skip SOF size when probing jpeg.
Fixes auto-detection for some resolutions.
Reported-by: Clément Bœsch
2016-02-26 09:53:29 +01:00
Justin Ruggles
e1c15a9475 img2dec: Support Progressive JPEG in jpeg_probe
There can be multiple SOS markers, so do not return 0 in that case.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 14:51:12 +00:00
Anton Khirnov
9200514ad8 lavf: replace AVStream.codec with AVStream.codecpar
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.
2016-02-23 17:01:58 +01:00
Derek Buitenhuis
bc9a5965c8 Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'
This also deprecates our old duplicated callbacks.

* commit '9f61abc8111c7c43f49ca012e957a108b9cc7610':
  lavf: allow custom IO for all files

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-10 14:42:41 +00:00
Anton Khirnov
9f61abc811 lavf: allow custom IO for all files
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.
2016-01-24 16:45:32 +01:00
Michael Niedermayer
b750b67d13 avformat/img2dec: Use AVOpenCallback
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-20 21:21:31 +01:00
Michael Niedermayer
7ccedc1c78 avformat/img2dec: do not interpret the filename by default if a IO context has been opened
With this, user applications which use custom IO and have set a IO context will not have
their already opened IO context ignored and glob/seq being interpreted

Comments and tests from maintainers of user apps are welcome!

Liked-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-20 17:31:01 +01:00
Michael Niedermayer
e70d56b8ad avformat/img2dec: Reuse main IO context instead of reopening a single file
Fixes part of Ticket4849

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-26 20:21:52 +01:00
Michael Niedermayer
e9e8782202 avformat/img2dec: Skip checking the input files existence if it has already been opened
Avoids a unneeded open
Fixes part of Ticket4849

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-26 20:21:52 +01:00
Clément Bœsch
43ecec0f03 avformat: use AV_OPT_TYPE_BOOL in a bunch of places 2015-12-04 15:43:33 +01:00
Hendrik Leppkes
7f5af80ba4 Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'
* commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457':
  avpacket: Replace av_free_packet with av_packet_unref

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-27 14:28:56 +01:00
Luca Barbato
ce70f28a17 avpacket: Replace av_free_packet with av_packet_unref
`av_packet_unref` matches the AVFrame ref-counted API and can be used as
a drop in replacement.

Deprecate `av_free_packet`.
2015-10-26 18:00:55 +01:00
Ganesh Ajjanagadde
26e8895b73 all: add _DEFAULT_SOURCE locally wherever needed
Glibc 2.20 onwards generates a deprecation warning for usage of _BSD_SOURCE and _SVID_SOURCE.
The solution from man feature_test_macros is to define both _DEFAULT_SOURCE and the old macros.
This solution is on the lines of the one in commit af1818276e.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2015-10-04 12:15:16 -04:00
Przemysław Sobala
01dd7e025c lavf/img2dec: Fix memory leak
Fixes #4886

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-29 19:21:13 +02:00
Carl Eugen Hoyos
e3e55758dc lavf/img2dec: Improve jpeg auto-detection.
Fixes ticket #4841.
2015-09-12 19:00:02 +02:00
Carl Eugen Hoyos
dee7943819 lavf/img2dec: Improve detection of valid Quickdraw images.
Detect Quickdraw images without application header with
lower score.
2015-06-29 16:25:11 +02:00
Carl Eugen Hoyos
a876a4da4a lavf/img2dec: Autodetect dds frames. 2015-06-29 16:13:26 +02:00
Marton Balint
93cc5ca7ed lavf/img2dec: add option to disable pattern matching
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-12 13:32:23 +02:00
Carl Eugen Hoyos
2279de6eca lavf/img2dec: Autodetect qdraw images. 2015-05-07 01:21:08 +02:00
Michael Niedermayer
e6e8cc8ce9 avformat/img2dec: do not rewind custom io buffers
Fixes double free with some applications

Fixes vlc ticket14121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 23:59:53 +02:00
Diego Biurrun
daf8cf358a avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
Timothy Gu
e66a187638 img2dec: Remove dead code
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Michael Niedermayer
e005dc621a avformat: fix mode of img2dec.c and utils.c
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:27:23 +01:00
Liviu Oniciuc
b37858eae1 avformat/img2dec: remove the non-negative number requirement for start_number option
industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 18:57:23 +01:00
Christophe Gisquet
9a9b088d9e libavformat/img2dec: fix warning when !HAVE_GLOB
Variables are unused in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:51:28 +01:00
Vittorio Giovara
456ffec35d img2dec: correctly use the parsed value from -start_number
Previously the image sequence was always starting from the minimum
number rather than the requested one.

CC: libav-stable@libav.org
2015-01-14 17:10:01 +01:00
Carl Eugen Hoyos
cd3405282c Skip Exif data when auto-detecting jpeg images. 2015-01-09 00:30:02 +01:00
Michael Niedermayer
26c72d2941 avformat/img2dec: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:50:34 +01:00
Michael Niedermayer
41ee459e88 avformat/img2dec: check w/h in dpx_probe
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 23:32:57 +01:00
Michael Niedermayer
d609566270 Merge commit 'f1ed83e23add1c26c50b146727e4c2399dfc0b3a'
* commit 'f1ed83e23add1c26c50b146727e4c2399dfc0b3a':
  img2dec: check av_new_packet return value

Conflicts:
	libavformat/img2dec.c

See: 3f8148911c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 03:37:21 +02:00
Vittorio Giovara
f1ed83e23a img2dec: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 1087077
2014-10-24 23:42:53 +01:00
Alexander Strasser
e079d43af8 avformat/img2dec: Attempt to detect non-escaped glob patterns too (-pattern_type glob)
Fixes ticket #3948

Based-on-patch-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:56:42 +02:00