wm4
d87fe2687f
avformat/mp3dec: fix gapless audio support
...
The code already had skipping of initial padding, but discarding
trailing frame padding was missing.
This is somewhat questionable, because it will make the decoder discard
any data after the declared file size in the LAME header. But note that
skipping full frames at the end of the stream is required. Encoders
actually create such files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 19:46:25 +02:00
Michael Niedermayer
36ea35bbc0
avformat/utils: free s->pb for image2 as it can be used with and without a file
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 23:25:17 +02:00
Hendrik Leppkes
e9c08e32d6
avformat/utils: Exclude the header size when computing duration from bit_rate
...
This improves the estimate for MP3s with cover art tags.
Fixes Ticket2931
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 05:22:05 +02:00
Michael Niedermayer
46ad2c4aed
avformat/utils: remove assert that tests the same condition as the if() directly above
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 15:23:23 +02:00
Michael Niedermayer
215db2935b
Merge commit 'b263f8ffe7599d9cd27ec477a12700da8eb2790d'
...
* commit 'b263f8ffe7599d9cd27ec477a12700da8eb2790d':
lavf: add AVFormatContext.max_ts_probe
Conflicts:
doc/APIchanges
libavformat/avformat.h
libavformat/utils.c
libavformat/version.h
lavf-fate/mp3 changes as the estimated input bitrate changes and that is
copied to the output
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 13:25:09 +02:00
Anton Khirnov
b263f8ffe7
lavf: add AVFormatContext.max_ts_probe
...
It allows to configure how long will avformat_find_stream_info() wait
to get the first timestamp.
2014-08-25 05:17:54 +00:00
Michael Niedermayer
9c712d0b16
vformat/utils: call flush_packet_queue() from avformat_free_context()
...
This avoids some theoretical memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 19:48:28 +02:00
Andrey Myznikov
609d5db803
Fix packet_buffer memory leak in avformat_free_context
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 19:20:12 +02:00
Anton Khirnov
d92550d191
lavf: eliminate ff_get_audio_frame_size()
...
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
(cherry picked from commit 30e50c5027
)
Conflicts:
libavformat/utils.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:12:58 +02:00
Michael Niedermayer
7b59217b60
Move WMA case from ff_get_audio_frame_size() to av_get_audio_frame_duration()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:03:56 +02:00
Michael Niedermayer
ed488d1535
Move frame_size fallback from ff_get_audio_frame_size() to av_get_audio_frame_duration()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:00:39 +02:00
Michael Niedermayer
986ec3417a
avformat/utils: Remove demuxer specific frame_size fallback from ff_get_audio_frame_size()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 02:39:59 +02:00
Michael Niedermayer
b8e4c11d93
Merge commit '481a3667495425db9fdffb653292b6460fb68208'
...
* commit '481a3667495425db9fdffb653292b6460fb68208':
cmdutils: allow matching by metadata in stream specifiers
Conflicts:
Changelog
cmdutils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:41:21 +02:00
Michael Niedermayer
f01a1281ee
Merge commit '019d3fccc4dcf5c8379112f697ce9eb08edee9b9'
...
* commit '019d3fccc4dcf5c8379112f697ce9eb08edee9b9':
Set protocol-level metadata in AVFormatContext any time a packet is read.
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:02:56 +02:00
Anton Khirnov
30e50c5027
lavf: eliminate ff_get_audio_frame_size()
...
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
2014-08-13 17:41:11 +00:00
Andrew Stone
019d3fccc4
Set protocol-level metadata in AVFormatContext any time a packet is read.
...
If any option named "metadata" is set inside the context, it is pulled up to
the context and then the option is cleared.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:10:49 +00:00
James Almer
0ab00a75e4
avcodec/raw: add avpriv_get_raw_pix_fmt_tags()
...
Used to expose ff_raw_pix_fmt_tags[] to other libav* libraries
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 12:52:38 +02:00
Carl Eugen Hoyos
ef17a0c7ba
Do not return a probe score from set_codec_from_probe_data() if the codec was ignored.
...
This is a workaround for the issue that stream probing can use
the score of another codec type for mpeg stream autodetection.
Fixes ticket #3821 .
2014-08-07 09:12:34 +02:00
Michael Niedermayer
4e855c11b5
avformat/util: change av_find_default_stream_index() to use a score based system
...
Disfavor video streams with unknown resolution and no packets
Fixes seeking in audio-only-speex.flv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 18:06:26 +02:00
Carl Eugen Hoyos
ff9a154157
Add int64_t probesize2 instead of int probesize to AVFormatContext.
...
Allows to set a probesize >2G.
Tested-by: Oliver Fromme
2014-07-30 11:09:25 +02:00
Michael Niedermayer
e066f01539
Merge commit 'e253a9e2b3d683eb51db7c776326eb07de10ad4c'
...
* commit 'e253a9e2b3d683eb51db7c776326eb07de10ad4c':
avformat: Move av_probe_input* to format.c
Conflicts:
libavformat/format.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 20:02:09 +02:00
Luca Barbato
e253a9e2b3
avformat: Move av_probe_input* to format.c
2014-07-29 15:18:51 +02:00
Michael Niedermayer
57e7d9d929
Merge commit '7215fcf84032118ecd9fb54fb14154d69fea638d'
...
* commit '7215fcf84032118ecd9fb54fb14154d69fea638d':
avformat: Mark AVOutputFormat argument in avformat_query_codec as const
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:16:09 +02:00
Diego Biurrun
7215fcf840
avformat: Mark AVOutputFormat argument in avformat_query_codec as const
2014-07-26 14:51:16 -07:00
Michael Niedermayer
62227a70f0
avformat: add av_stream_get_parser() to access avformat AVParser
...
The AVStream.parser field is considered private and its location cannot be
preserved while preserving also ABI compatibility to libav, as libav added fields
before it.
Some tools like ffmpeg.c access this field though
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 21:17:20 +02:00
Michael Niedermayer
8202c49b43
avformat/utils: do not wait for packets from discarded streams for genpts
...
Fixes long loop
Fixes Ticket3208
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 01:07:59 +02:00
Michael Niedermayer
4470a3eeaf
avformat/mpegts: dont clear programs during probing
...
Fixes Ticket 3763
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:49:15 +02:00
Michael Niedermayer
c6c172d173
avformat/mpegts: skip updating programs/streams when determining duration
...
Fixes Ticket2441
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 16:43:27 +02:00
Roman Savchenko
3d90f27ad5
avformat_new_stream: make the AVCodec parameter const
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-08 08:24:27 +00:00
Diego Biurrun
73953df71a
Replace av_malloc() and memset(0) by av_mallocz()
2014-06-22 18:43:11 +02:00
Gaullier Nicolas
650ef18078
avformat/utils: better probing for duration in estimate_timings_from_pts()
...
It seems it is more secure to simply duplicate the computing routine from compute_pkt_fields to estimate_timings_from_pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 20:48:46 +02:00
Michael Niedermayer
ac293b6685
Merge commit '194be1f43ea391eb986732707435176e579265aa'
...
* commit '194be1f43ea391eb986732707435176e579265aa':
lavf: switch to AVStream.time_base as the hint for the muxer timebase
Conflicts:
doc/APIchanges
libavformat/filmstripenc.c
libavformat/movenc.c
libavformat/mxfenc.c
libavformat/oggenc.c
libavformat/swf.h
libavformat/version.h
tests/ref/lavf/mkv
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 19:49:17 +02:00
Anton Khirnov
194be1f43e
lavf: switch to AVStream.time_base as the hint for the muxer timebase
...
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
2014-06-18 15:12:34 +02:00
Michael Niedermayer
83d100baea
Merge commit '2dc265619a2fc9c6f9aff7ac2bcdbcb90e9610cb'
...
* commit '2dc265619a2fc9c6f9aff7ac2bcdbcb90e9610cb':
lavf: group dump functions together
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 12:48:03 +02:00
Vittorio Giovara
2dc265619a
lavf: group dump functions together
2014-06-14 00:24:35 -04:00
Michael Niedermayer
fbc133915b
Merge remote-tracking branch 'cehoyos/master'
...
* cehoyos/master:
Allow values >31bit for -analyzeduration.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 18:22:41 +02:00
Carl Eugen Hoyos
5482780a3b
Allow values >31bit for -analyzeduration.
2014-06-10 14:28:34 +02:00
Michael Niedermayer
ec2b6ee59a
avformat/utils: dont wait for a first dts on demuxers which have AVFMT_NOTIMESTAMPS set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 14:22:13 +02:00
Michael Niedermayer
1a426d5404
avformat/utils/avformat_find_stream_info: Move max_analyze_duration setup out of the packet loop
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 21:21:11 +02:00
Michael Niedermayer
6f6edfe1c0
avformat/utils: Call ff_rfps_add_frame() only for video
...
This avoids some unneeded computations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 17:09:53 +02:00
Carl Eugen Hoyos
f284e85714
Report "unknown codec" instead of "unspecifed size" if the codec is unknown.
2014-06-02 08:33:40 +02:00
Carl Eugen Hoyos
6e67852881
Use rc_max_rate in av_find_best_stream() if bitrate == 0.
...
Fixes ticket #2042 .
2014-05-31 13:41:10 +02:00
Lazaros Koromilas
0f87b42b44
libavformat/utils: Warning about invalid cover art instead of an error
...
This way other streams can still be used with the -map option.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 19:12:02 +02:00
Lazaros Koromilas
bbc10a1aa5
libavformat/utils: Fix segfault on m4a cover artwork parsing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 03:35:39 +02:00
Michael Niedermayer
e6a084641a
avformat/utils: set max analyze duration depending on the circumstances
...
Fixes Ticket3673
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 22:33:01 +02:00
Michael Niedermayer
52887aa409
avformat: move default for max_analyze_duration into utils.c
...
this way we can do better tha a single fixed constant value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 22:33:01 +02:00
Michael Niedermayer
c37d179295
avformat: add format_probesize to allow tuning the maximum amount of bytes to identify the filetype
...
Currently probesize is cliped at 1mb before being used for format detection.
Alternatively this cliping could be removed but this would then tie various
things like stream analysis to the file detection.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 23:54:34 +02:00
Michael Niedermayer
220df143b9
avformat/utils: Check end time in avpriv_new_chapter()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 04:33:05 +02:00
Michael Niedermayer
7f7080dc73
avformat: add av_stream_get_end_pts()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 18:53:12 +02:00
Michael Niedermayer
7d25af1547
Merge commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37'
...
* commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37':
lavf: add av_stream_get_side_data
Conflicts:
doc/APIchanges
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 03:39:04 +02:00
Janne Grunau
c23c96b638
lavf: add av_stream_get_side_data
2014-05-20 00:43:52 +02:00
Michael Niedermayer
77a0df4b5e
estimate_timings_from_pts: Execute max 1 iteration extra to find more than 1 duration
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:13:36 +02:00
Gaullier Nicolas
68cea1bc8e
estimate_timings_from_pts: Try to get the duration for all streams
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:06:55 +02:00
Michael Niedermayer
424599c7cc
estimate_timings_from_pts: simplify filesize end check
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:49:23 +02:00
Gaullier Nicolas
5d944f58db
estimate_timings_from_pts: Also consider packet duration
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:33:20 +02:00
Gaullier Nicolas
85349d8d00
estimate_timings_from_pts: Warn about A/V streams for which no duration could be set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:22:05 +02:00
Michael Niedermayer
b3b505c73b
avformat/utils: if the id3 tag is too large for data after it to become available, use the full AVPROBE_SCORE_EXTENSION if extension matches
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 20:45:36 +02:00
Michael Niedermayer
d05588e21e
avformat/utils: limit probe score in the id3 case only if there is a chance that data after the id3 tag will become available
...
Fixes ticket3327 (sample.mp3)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 20:45:03 +02:00
Michael Niedermayer
134206ca7a
avformat/utils: fix const warnings
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 06:15:02 +02:00
Luca Barbato
dcbfb7805a
probe: Support AAC_LATM in set_codec_from_probe_data
2014-05-03 18:51:37 +02:00
Michael Niedermayer
a215b15815
avformat/utils: Set the average frame rate from the r_frame_rate if the stream appears to be cfr
...
This permits the average fps to be set in more cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 18:51:15 +02:00
Michael Niedermayer
34e7d3c368
avformat/utils: Ensure that average fps is probed if requested by the user even if tb_unreliable() is 0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 16:30:50 +02:00
Michael Niedermayer
1f249d2ca7
avformat/utils: prevent r frame rate from being set larger than 1/tb
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:49:51 +02:00
Michael Niedermayer
4394f82f52
avformat/utils: add gif to tb_unreliable()
...
This improves the used timebases when gif is the source
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:20:38 +02:00
Anton Khirnov
1eb57e1d9b
lavc: eliminate tb_unreliable()
...
If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
2014-04-28 11:34:59 +02:00
Michael Niedermayer
8064c6ac5f
Merge commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31'
...
* commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31':
lavf: do not use the parser duration for video
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:56:29 +02:00
Anton Khirnov
f9157463db
lavf: do not use the parser duration for video
...
The parser has no way of knowing video duration, and therefore no video
parsers set it.
2014-04-22 07:46:03 +02:00
Michael Niedermayer
f3743901d7
avformat: Fix decoder search in find stream info
...
Fixes Ticket3548
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 05:27:08 +02:00
Peter Ross
5331773cc3
ff_id3v2_read: add option to limit ID3 magic number search
...
Several chunked formats (AIFF, IFF,DSF) store ID3 metadata within an 'ID3 '
chunk tag. If such chunks are stored sequentially, it is possible for the
ID3v2 parser to confuse the chunk tag for the ID3 magic number. e.g.
[1st chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...]
[2nd chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...]
Fixes ticket #3530 .
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 04:25:01 +02:00
Michael Niedermayer
083b6e739b
avformat/utils: fix typo
...
Found-by: reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
Michael Niedermayer
ef818d8bf0
avformat: add av_format_inject_global_side_data(), and disable it by default
...
After this commit applications needs to call av_format_inject_global_side_data()
or handle AVStream side data by some other means if they want it not to be lost.
This fixes a API incompatibility with libav.
libav API does not allow the data to be passed through AVPackets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 02:37:40 +02:00
Michael Niedermayer
82796aacab
avformat/utils: reinject global side data on seeks
...
This fixes ffplay replaygain with seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:27:05 +02:00
Michael Niedermayer
c0d62d999d
avformat/utils: factorize if()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:02:42 +02:00
Michael Niedermayer
289f02f923
avformat/utils: Inject global side data into first packet.
...
This fixes replaygain handling in ffplay and probably other applications.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:02:05 +02:00
Lukasz Marek
e1c48e3593
lavf/utils: fix mem leak
...
Calling avformat_free_context() right after avformat_alloc_output_context2()
leaved option's default values not freed.
Options were freed only in av_write_trailer().
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 03:24:07 +02:00
Carl Eugen Hoyos
9f4ab4e5f9
Show stream number when warning about stream without start time.
2014-04-05 01:15:12 +02:00
Roman Fietze
74aeb6b584
libavformat/utils.c: av_pkt_dump_log2: use const pointers
...
Use const pointers to AVPacket and AVStream.
Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 13:31:13 +02:00
Michael Niedermayer
595ba3b962
Merge commit '25b32586566f285d797737863c97a1c5c9c84e2b'
...
* commit '25b32586566f285d797737863c97a1c5c9c84e2b':
lavf: add an AVStream field for exporting stream-global side data
Conflicts:
libavformat/utils.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 13:41:49 +01:00
Anton Khirnov
25b3258656
lavf: add an AVStream field for exporting stream-global side data
2014-03-24 06:07:51 +01:00
Michael Niedermayer
bb6de15d92
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avconv: Match stream id
Conflicts:
cmdutils.c
doc/fftools-common-opts.texi
See: ea07063fd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 14:21:27 +01:00
Michael Niedermayer
85e1368f57
Merge commit 'db9d39b4b5e5a3c20aeecf787ddeadd88f4906cf'
...
* commit 'db9d39b4b5e5a3c20aeecf787ddeadd88f4906cf':
avformat: Report the duration analysis reached
Conflicts:
libavformat/utils.c
See: 8529f9b36b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:11:47 +01:00
Luca Barbato
db9d39b4b5
avformat: Report the duration analysis reached
2014-03-11 21:55:11 +01:00
Michael Niedermayer
2dcaa1b9d1
avformat/utils: detect MPEG streams with faulty DTS and discard affected DTS
...
Fixes issue2.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 02:27:07 +01:00
Michael Niedermayer
3c096751ff
avformat/utils: compute_pkt_fields: Fix DTS for the case where has_b_frames is too large but the correct one is constant
...
Fixes issue1.m2ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Michael Niedermayer
d4dfa97ae3
avformat/utils: reset pts_buffer in estimate_timings_from_pts()
...
This fixes the first few dts after find_stream_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Michael Niedermayer
f288e1b67c
avformat/utils: factorize h264/hevc checks out in compute_pkt_fields()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Carl Eugen Hoyos
f5fe6a4f79
Do not warn about missing start time for unknown streams.
2014-02-21 17:27:37 +01:00
Carl Eugen Hoyos
1f7e9be0b0
Only complain about missing frame rate for video streams.
2014-02-21 17:27:20 +01:00
Michael Niedermayer
2969fb4393
avformat/utils: av_guess_frame_rate() favor avg_frame_rate if r_frame_rate has a comparably unlikely value
...
Fixes Ticket3399
Fixes Ticket2958
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-19 18:40:27 +01:00
Michael Niedermayer
480af3a35c
avformat/utils: skip the MPEG-2 style dts/pts code for HEVC
...
This extends the exception from H264 to H264 + HEVC
Fixes Ticket3385
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 20:51:10 +01:00
Marton Balint
6421111b52
lavf: allow av_find_best_stream to return AV_DISPOSITION_*_IMPAIRED wanted_streams
...
Previously these type of streams were not returned even if wanted stream was
set to a stream of such. Now they are only skipped if they are not wanted
streams.
Fixes ffplay -sst <stream number> out.ts where stream number is a *_IMPAIRED stream.
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 12:58:59 +01:00
Michael Niedermayer
073e771c9c
Merge commit '33c859c142ef3f49b7a6227014ad92a680cf4d74'
...
* commit '33c859c142ef3f49b7a6227014ad92a680cf4d74':
lavf: ignore attachment streams for interleaving purposes
Conflicts:
libavformat/avformat.h
libavformat/internal.h
libavformat/mux.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 15:37:05 +01:00
Anton Khirnov
33c859c142
lavf: ignore attachment streams for interleaving purposes
...
Those streams should never get any packets by definition.
2014-02-04 11:17:06 +01:00
Ståle Kristoffersen
8658390336
libavformat/utils.c: Cosmetics: Fix incorrect comma placement
2014-02-03 11:35:19 +01:00
Michael Niedermayer
1bc2fa447c
avformat: use AVPROBE_SCORE_STREAM_RETRY, instead of AVPROBE_SCORE_RETRY - 1
...
This makes the code clearer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-02 23:50:00 +01:00
Voyager1
9f6f4962fb
avformat/utils: dvd still frames read thru libdvdnav ended up in internal lavf buffer
...
This is the solution we've been using in XBMC for over 2 years for dvd still frames.
The problem is that the demuxer asks for probing of the codec in the mpeg stream.
This causes lavf to read the whole menu structure into internal buffers.
After which, it won't read from input stream anymore and no events triggers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-02 23:40:06 +01:00
Ståle Kristoffersen
16097efb8c
Auto-detect hevc in mpeg-ts.
...
Fixes decoding of files without PMT/PAT.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-01-31 19:05:08 +01:00
Michael Niedermayer
e53ec2fe38
Merge commit '78987a88a88b28d93d03ed6c228bcb33f178444f'
...
* commit '78987a88a88b28d93d03ed6c228bcb33f178444f':
lavf: include 60 fps in guessed standard frame rates
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-31 14:58:28 +01:00
Janne Grunau
78987a88a8
lavf: include 60 fps in guessed standard frame rates
...
Due to what looks like an off-by-one error 60 * 12 * 1001 / 12 * 1001
is not tested as standard frame rate in avformat_find_stream_info().
2014-01-31 11:09:10 +01:00
Michael Niedermayer
72afa381b3
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avformat: utils: Refactor duplicated PRINT macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-29 23:40:51 +01:00
Diego Biurrun
d67cfdeb53
avformat: utils: Refactor duplicated PRINT macro
2014-01-29 17:04:35 +01:00
Lukasz Marek
102bd64168
lavd: add avdevice_dev_to_app_control_message API
...
New API allows to send messages from devices to application.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-01-27 15:18:17 +01:00
Michael Niedermayer
896d6a7736
Merge commit '50ecf15712354a1d5b3f4dc9a57ff90ed7ee9654'
...
* commit '50ecf15712354a1d5b3f4dc9a57ff90ed7ee9654':
avformat: utils: K&R formatting cosmetics
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-26 23:35:38 +01:00
Diego Biurrun
50ecf15712
avformat: utils: K&R formatting cosmetics
...
Also adjust some comment wording / spelling and reorder header #includes.
2014-01-26 18:09:00 +01:00
James Darnley
86bee7984e
AVFormatContext: add metadata_header_padding field
...
This field is used to store the number of bytes that should be written
as padding to a metadata header of a file. For example:
- The FLAC format's METADATA_BLOCK_PADDING [1]
- The ID3v2 tag format's padding [2]
[1] http://xiph.org/flac/format.html#metadata_block_padding
[2] http://id3.org/id3v2.3.0#ID3v2_overview
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-24 22:33:21 +01:00
Carl Eugen Hoyos
cb36e441de
Never favour an audio stream with 0 channels in av_find_best_stream().
...
Fixes ticket #3311 .
2014-01-16 00:36:27 +01:00
Michael Niedermayer
05c78f345b
avformat/utils: av_probe_input_buffer2 decrease difference to libav
...
This removes the initialization of 2 unused fields
The change was part of c1868e7ee7
but wasnt merged as the fields could still be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:59:11 +01:00
Michael Niedermayer
05886c9d4e
avformat/utils/av_probe_input_buffer2: fix buffer passed to ffio_rewind_with_probe_data()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:24:30 +01:00
Michael Niedermayer
8c3b026a0e
avformat/utils/av_probe_input_buffer2: fix offset check
...
The check could fail if avio_read() read less than requested
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:23:40 +01:00
Michael Niedermayer
6a2064820b
avformat/utils/av_probe_input_buffer2: Fix pd.buf_size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:14:02 +01:00
Michael Niedermayer
220f0927b8
Merge commit '8b76362836f3c373c3aadc544522edcbef16dd5f'
...
* commit '8b76362836f3c373c3aadc544522edcbef16dd5f':
lavf: use a fixed width type
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 21:34:42 +01:00
Anton Khirnov
2115a35974
lavf: make av_probe_input_buffer more robust
...
Always use the actually read size as the offset instead of making
possibly invalid assumptions.
Addresses: CVE-2012-6618
2014-01-13 15:00:09 +01:00
Anton Khirnov
8b76362836
lavf: use a fixed width type
...
It's shorter and more consistent with the rest of the code.
2014-01-13 15:00:09 +01:00
Anton Khirnov
c1868e7ee7
lavf: simplify handling of offset in av_probe_input_buuffer()
2014-01-13 15:00:09 +01:00
Michael Niedermayer
76c63bc5d8
Merge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'
...
* commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f':
lavf: remove a pointless check
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:34:45 +01:00
Anton Khirnov
3867f3718b
lavf: remove a pointless check
...
AVStream.codec is always non-NULL
2014-01-06 08:21:53 +01:00
Michael Niedermayer
863f4c3c71
avformat/utils: fix rounding error accumulation for generated dts in compute_pkt_fields()
...
This only updates the case where there is no B frame reordering delay.
Tested-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 15:10:44 +01:00
Michael Niedermayer
5047849584
avformat/utils: fix order of buffers in timestamp update code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 23:27:28 +01:00
Michael Niedermayer
4bfcedb33f
avformat: dont run update_initial_duration() twice
...
This should avoid floods of first_dts not matching debug messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-31 14:13:51 +01:00
Michael Niedermayer
ee4e805093
avformat: add ff_get_extradata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-25 17:14:32 +01:00
Michael Niedermayer
d600b18f22
avformat/utils: limit rfps to values larger than fps
...
This avoids some nonsense values being produced by totally corrupted input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 21:43:19 +01:00
Michael Niedermayer
f6cd447bf1
avformat/utils: treat flv like mov with timestamp discarding
...
This prevents a regression when using an avparser with flv h264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 04:18:13 +01:00
Michael Niedermayer
0506cc2cc3
Merge commit '281a40e18f923510f2067d05c5b0cf08cc49dfee'
...
* commit '281a40e18f923510f2067d05c5b0cf08cc49dfee':
lavf: remove an unneeded call to avcodec_get_frame_defaults().
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:14:21 +01:00
Michael Niedermayer
4cbf3eb9e6
Merge commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9'
...
* commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9':
Replace all uses of avcodec_free_frame with av_frame_free().
Conflicts:
doc/examples/decoding_encoding.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:18:51 +01:00
Anton Khirnov
281a40e18f
lavf: remove an unneeded call to avcodec_get_frame_defaults().
...
avcodec_decode_*() resets the frame itself.
2013-12-11 20:39:55 +01:00
Anton Khirnov
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
2013-12-11 20:39:54 +01:00
Michael Niedermayer
81c1197494
avformat/utils: Check avcodec_open2() return code in av_find_stream_info()
...
Fixes CID1135750
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 20:32:05 +01:00
Michael Niedermayer
7f763775aa
avformat/utils: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 11:59:53 +01:00
Michael Niedermayer
1770da18f7
avformat/utils: reject poorly fitting rfps values earlier
...
This avoids collecting statistics for rfps values that very likely
will get rejected later.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 04:20:05 +01:00
Michael Niedermayer
1565a9a9e9
avformat/utils: factor rfps calculation out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 17:30:13 +01:00
Michael Niedermayer
dc1b0a54f9
avformat/utils: provide more IO statistics in debug output at start and end of av_find_streaminfo()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 16:09:11 +01:00
Michael Niedermayer
f3008f30fb
avformat/utils: move update_wrap_reference() up
...
simplifies code
also remove extra {}
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 14:36:36 +01:00
Michael Niedermayer
34b16e2d36
avformat/utils: reorder operations in update_wrap_reference()
...
prevents a integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 14:36:35 +01:00
Michael Niedermayer
394b0c830a
avformat/utils: correct for timestamp wrap earlier
...
This uses dts & pts as reference instead of first_dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
d7ead9ad44
avformat/utils: also fix wrapping of start_time in update_initial_timestamps()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
dd5f925927
avformat/utils: Fix pts_wrap_behavior calculation with negative first_dts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
ccdfa3e271
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Add missing #includes for *INT64_MAX and *INT64_C
Conflicts:
ffmpeg.c
ffmpeg_filter.c
ffplay.c
libavformat/assdec.c
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Diego Biurrun
8f8bc92365
Add missing #includes for *INT64_MAX and *INT64_C
2013-11-23 21:55:52 +01:00
Michael Niedermayer
f0f75dfa34
avformat/utils: inject audio skip side data before the side data merge code
...
This ensures that its handled the same way as other side data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 03:21:23 +01:00
Michael Niedermayer
98fc81b20d
avformat/utils: move side data merge after parser
...
merging before the parser can conflict with the parser, also
future changes depend on it being done later
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 01:02:11 +01:00
Michael Niedermayer
a8dec360c5
avformat/utils: dont count attached pics toward the probesize
...
Such pics behave more like headers which we also dont count.
Fixes Ticket3146
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-18 03:02:36 +01:00
Michael Niedermayer
0ee905e243
Merge commit '5b9c3b4505206143d85398c1410949319fa1180f'
...
* commit '5b9c3b4505206143d85398c1410949319fa1180f':
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
Conflicts:
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
libavcodec/alacenc.c
libavcodec/libopenjpegenc.c
libavcodec/libvpxenc.c
libavcodec/pcm.c
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:54:10 +01:00
Anton Khirnov
5b9c3b4505
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
2013-11-16 12:44:20 +01:00
Michael Niedermayer
074bae745d
Merge commit 'ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878'
...
* commit 'ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878':
lavf: improve support for AVC-Intra files.
Conflicts:
libavformat/internal.h
libavformat/isom.c
libavformat/mxfdec.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 21:04:44 +01:00
Reimar Döffinger
ecf442a58b
lavf: improve support for AVC-Intra files.
...
Generate extradata with SPS/PPS based on container dimensions.
Authors of this commit are: Reimar and Thomas Mundt
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-14 18:59:39 +01:00
Michael Niedermayer
676bc505f7
avformat/utils: disabled debug code to collect format probing statistics
...
This allows collecting statistics on probing scores and the amount of data
probing needed for various files and formats.
For example it can be used to find out which formats tend to need more
data for probing or which files are probed with less certain/lower scores
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-11 13:06:36 +01:00
Michael Niedermayer
8b73a3f6f6
avformat/utils: never decrease has_b_frames in compute_pkt_fields()
...
The intent of the original check was to increase has_b_frames when
it was incorrectly set to 0. Later codecs allowed larger values
Found-by: divVerent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 21:36:10 +01:00
Anton Khirnov
d1c229cdbc
lavf: do not use int to store an int64
2013-11-01 21:01:32 +01:00
Anton Khirnov
4eb49fdde8
lavf: remove unreliable timestamp guessing heuristic
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 20:10:41 +01:00
Anton Khirnov
2ba68dd044
lavf: remove unreliable timestamp guessing heuristic
2013-10-28 09:28:19 +01:00