1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-06-14 22:15:12 +02:00
Commit Graph

1549 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
2dc265619a lavf: group dump functions together 2014-06-14 00:24:35 -04:00
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
5482780a3b Allow values >31bit for -analyzeduration. 2014-06-10 14:28:34 +02:00
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
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
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
f284e85714 Report "unknown codec" instead of "unspecifed size" if the codec is unknown. 2014-06-02 08:33:40 +02:00
6e67852881 Use rc_max_rate in av_find_best_stream() if bitrate == 0.
Fixes ticket #2042.
2014-05-31 13:41:10 +02:00
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
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
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
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
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
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
7f7080dc73 avformat: add av_stream_get_end_pts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 18:53:12 +02:00
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
c23c96b638 lavf: add av_stream_get_side_data 2014-05-20 00:43:52 +02:00
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
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
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
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
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
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
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
134206ca7a avformat/utils: fix const warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 06:15:02 +02:00
dcbfb7805a probe: Support AAC_LATM in set_codec_from_probe_data 2014-05-03 18:51:37 +02:00
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
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
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
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
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
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
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
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
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
083b6e739b avformat/utils: fix typo
Found-by: reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
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
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
c0d62d999d avformat/utils: factorize if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:02:42 +02:00
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
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
9f4ab4e5f9 Show stream number when warning about stream without start time. 2014-04-05 01:15:12 +02:00