Michael Niedermayer
d08f2c172f
avformat/avidec: Detect index with too short entries
...
Fixes Ticket5498
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-18 23:59:02 +02:00
Paul B Mahol
323b8c95e4
avformat: add AVFormatContext to ff_get_extradata()
...
Needed for av_log() inside that function.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-04-14 18:21:08 +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
Mats Peterson
d8a1633ee4
lavf/avidec: Add blurb regarding the skipping of xxpc entries in the index
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-18 13:47:43 +01:00
Mats Peterson
caeed0479f
lavf/avidec: Skip xxpc entries in index; fixes trac #5311
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-10 00:30:39 +01:00
Derek Buitenhuis
93629735d7
avformat: Add a protocol blacklisting API
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-03-04 16:13:42 +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
Hendrik Leppkes
6a6cfeb2e7
Merge commit '5f3a081b42b84404a40a52c80ef7a354cf048c56'
...
* commit '5f3a081b42b84404a40a52c80ef7a354cf048c56':
avi: Spin out the logic to position to the next non-interleaved stream
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-08 09:41:43 +01:00
Hendrik Leppkes
e92aa34d7b
Merge commit 'd017ed878a45171f2f6c69fb9d76401c3c494110'
...
* commit 'd017ed878a45171f2f6c69fb9d76401c3c494110':
avi: Use the correct data type
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-07 15:57:02 +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
Luca Barbato
5f3a081b42
avi: Spin out the logic to position to the next non-interleaved stream
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-12-02 23:49:10 +01:00
Luca Barbato
d017ed878a
avi: Use the correct data type
...
avio_tell returns an int64_t.
2015-12-02 23:49:10 +01:00
Michael Niedermayer
0fc61c6ab6
avi: Validate the stream-id for DV as well
...
Avoid false positives while syncing.
Bug-Id: ffmpeg/4086
Bug-Id: 879
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-12-02 23:49:10 +01:00
Hendrik Leppkes
c2f861ca42
Replace remaining occurances of av_free_packet with av_packet_unref
2015-10-27 14:35:30 +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
Michael Niedermayer
d64f7d4213
avformat/avidec: disable parsing for RV40
...
Fixes: broken_rv40.avi
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-17 02:08:15 +02:00
Michael Niedermayer
59c1fec9fb
avformat/avidec: Change (last)pos to 64bit
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-15 04:26:19 +02:00
Michael Niedermayer
3e2ef00394
avformat/avidec: Workaround broken initial frame
...
Fixes Ticket4851
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-15 04:26:19 +02:00
Hendrik Leppkes
87c8812270
Merge commit '01bcc2d5c23fa757d163530abb396fd02f1be7c8'
...
* commit '01bcc2d5c23fa757d163530abb396fd02f1be7c8':
lavc: Drop deprecated destruct_packet related functions
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:50:09 +02:00
Vittorio Giovara
01bcc2d5c2
lavc: Drop deprecated destruct_packet related functions
...
Deprecated in 10/2012.
2015-08-28 16:01:16 +02:00
Michael Niedermayer
0d2a62d257
avformat/avidec: Simplify dshow_block_align based special case detection
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-12 22:51:40 +02:00
Michael Niedermayer
5f501f066e
avformat/avidec: Disable AVSTREAM_PARSE_TIMESTAMPS for flac
...
The flac parser does not support it, its also not needed.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-12 04:03:37 +02:00
Michael Niedermayer
254ff6e6bf
avformat/avidec: Add flac to the dshow_block_align exception list
...
Fixes Ticket4758
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-12 03:11:15 +02:00
Michael Niedermayer
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* 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>
2015-07-27 23:15:19 +02:00
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
Michael Niedermayer
bf1fd59c6a
avformat/avidec: Fix demuxing avi with broken index
...
Fixes: genio-avi
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 02:11:49 +02:00
Michael Niedermayer
ba77fb61f7
Merge commit 'd80811c94e068085aab797f9ba35790529126f85'
...
* commit 'd80811c94e068085aab797f9ba35790529126f85':
riff: Use the correct logging context
Conflicts:
libavformat/asfdec_o.c
libavformat/avidec.c
libavformat/dxa.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/riff.h
libavformat/riffdec.c
libavformat/wavdec.c
libavformat/wtvdec.c
libavformat/xwma.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-12 15:22:37 +02:00
Luca Barbato
d80811c94e
riff: Use the correct logging context
2015-07-11 18:45:44 +02:00
Michael Niedermayer
488383afd1
avformat/avidec: add mp2 to the list of exceptions instead of generally treating dshow_block_align==1 special
...
Fixes Ticket4552
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 01:46:09 +02:00
Michael Niedermayer
73b8155b31
Merge commit '4d0ee4962be7e07cdc038a78008ef2e4e47e5f81'
...
* commit '4d0ee4962be7e07cdc038a78008ef2e4e47e5f81':
avi: Validate sample_size
Conflicts:
libavformat/avidec.c
See: ca234639ac
See: c7369f3a4b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 22:20:37 +02:00
Andreas Cadhalpun
4d0ee4962b
avi: Validate sample_size
...
And either error out or set it to 0 if it is negative.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-09 15:51:31 +02:00
Michael Niedermayer
c7369f3a4b
avformat/avidec: print a warning for negative sample_size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 00:04:38 +02:00
Andreas Cadhalpun
ca234639ac
avidec: avoid infinite loop due to negative ast->sample_size
...
If max in clean_index is set to a negative ast->sample_size, the
following loop never ends:
while (max < 1024)
max += max;
Thus set ast->sample_size to 0 if it would otherwise be negative.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 00:04:38 +02:00
Andreas Cadhalpun
0eec40b713
avidec: check for valid bit_rate range
...
If bit_rate is negative, it can trigger an av_assert2 in av_rescale_rnd.
Since av_rescale returns int64_t, but st->codec_bit_rate is int, it can
also overflow into a negative value.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 21:11:19 +02:00
Michael Niedermayer
8a91ee7837
avformat/avidec: Do not call av_log() per byte, use ff_tlog()
...
This was av_dlog() previously and should not have been changed to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 16:21:42 +02:00
Michael Niedermayer
40d552dae6
Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'
...
* commit '1a3eb042c704dea190c644def5b32c9cee8832b8':
Replace av_dlog with normal av_log at trace level
Conflicts:
ffplay.c
libavdevice/fbdev_dec.c
libavfilter/avfilter.c
libavfilter/internal.h
libavfilter/setpts.c
libavfilter/src_movie.c
libavfilter/vf_crop.c
libavfilter/vf_drawtext.c
libavfilter/vf_fieldorder.c
libavformat/assdec.c
libavformat/avidec.c
libavformat/flvdec.c
libavformat/http.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/mov.c
libavformat/mpegenc.c
libavformat/mpegts.c
libavformat/mpegtsenc.c
libavformat/mux.c
libavformat/mxfdec.c
libavformat/nsvdec.c
libavformat/oggdec.c
libavformat/r3d.c
libavformat/rtspdec.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 03:19:47 +02:00
Vittorio Giovara
1a3eb042c7
Replace av_dlog with normal av_log at trace level
...
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Michael Niedermayer
81a6b075bd
avformat/avidec: also print frame_num in debug output
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-19 16:36:29 +01:00
Michael Niedermayer
07ca090e81
Merge commit '4326bc364b58e97fc3d89417054a6b7610179a00'
...
* commit '4326bc364b58e97fc3d89417054a6b7610179a00':
lavf: Do not list mov-only codecs in riff tags
Conflicts:
libavformat/Makefile
libavformat/avidec.c
See: 2e0b5f5c90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:09:43 +01:00
Carl Eugen Hoyos
4326bc364b
lavf: Do not list mov-only codecs in riff tags
...
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-17 13:34:22 +00:00
zhaoxiu.zeng
213ddcb029
avformat/avidec: cleanup include
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:03:26 +01:00
zhaoxiu.zeng
bf696e265a
avformat/avidec: use avpriv_find_start_code in avi_read_packet()
...
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 13:02:57 +01:00
Carl Eugen Hoyos
2e0b5f5c90
lavf: Do not list mov-only codecs in riff.c.
...
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.
Fixes a regression similar to the one described in ticket #4307 .
2015-03-13 08:49:03 +01:00
Michael Niedermayer
8c013a9e55
avformat/avidec: Check avio_read() return before using the results for meta-data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:38:20 +01:00
Michael Niedermayer
8a048fe6f8
avformat/avidec: initialize header array
...
Fixes use of uninitialized memory in case read fails
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 18:41:03 +01:00
Michael Niedermayer
a0fe1a25fa
Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'
...
* commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e':
avformat: Don't anonymously typedef structs
Conflicts:
libavformat/adtsenc.c
libavformat/aiffenc.c
libavformat/avidec.c
libavformat/gif.c
libavformat/iff.c
libavformat/img2dec.c
libavformat/jvdec.c
libavformat/matroskadec.c
libavformat/udp.c
libavformat/wtvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:07:40 +01:00
Diego Biurrun
daf8cf358a
avformat: Don't anonymously typedef structs
2015-02-14 10:13:47 -08:00
Michael Niedermayer
be023405a7
Merge commit 'f771b3ab5d3c0b763ee356152be550f4121babd0'
...
* commit 'f771b3ab5d3c0b763ee356152be550f4121babd0':
avidec: do not export stream_codec_tag
Conflicts:
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 16:17:42 +01:00
Anton Khirnov
f771b3ab5d
avidec: do not export stream_codec_tag
...
Handle its only existing use case internally.
2015-01-27 09:13:45 +01:00