Anton Khirnov
2d6e58497e
lavf: switch to AVCodecContext.framerate for demuxing
10 years ago
Michael Niedermayer
bd239c9a2e
lavf: Don't drop both pts and dts if timestamps are invalid
...
In these cases, only drop dts. Because if we drop both we have no
timestamps at all for some files.
This improves playback of HLS streams from GoPro cameras.
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Justin Ruggles
19133e96d3
lavf: fix memleaks in avformat_find_stream_info()
...
When AVFMT_FLAG_NOBUFFER is set, the packets are not added to the
AVFormatContext packet list, so they need to be freed when they are
no longer needed.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
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.
10 years ago
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.
11 years ago
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>
11 years ago
Luca Barbato
e253a9e2b3
avformat: Move av_probe_input* to format.c
11 years ago
Diego Biurrun
7215fcf840
avformat: Mark AVOutputFormat argument in avformat_query_codec as const
11 years ago
Roman Savchenko
3d90f27ad5
avformat_new_stream: make the AVCodec parameter const
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Diego Biurrun
73953df71a
Replace av_malloc() and memset(0) by av_mallocz()
11 years ago
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).
11 years ago
Vittorio Giovara
2dc265619a
lavf: group dump functions together
11 years ago
Janne Grunau
c23c96b638
lavf: add av_stream_get_side_data
11 years ago
Luca Barbato
dcbfb7805a
probe: Support AAC_LATM in set_codec_from_probe_data
11 years ago
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.
11 years ago
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.
11 years ago
Anton Khirnov
25b3258656
lavf: add an AVStream field for exporting stream-global side data
11 years ago
Luca Barbato
db9d39b4b5
avformat: Report the duration analysis reached
11 years ago
Anton Khirnov
33c859c142
lavf: ignore attachment streams for interleaving purposes
...
Those streams should never get any packets by definition.
11 years ago
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().
11 years ago
Diego Biurrun
d67cfdeb53
avformat: utils: Refactor duplicated PRINT macro
11 years ago
Diego Biurrun
50ecf15712
avformat: utils: K&R formatting cosmetics
...
Also adjust some comment wording / spelling and reorder header #includes.
11 years ago
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
11 years ago
Anton Khirnov
8b76362836
lavf: use a fixed width type
...
It's shorter and more consistent with the rest of the code.
11 years ago
Anton Khirnov
c1868e7ee7
lavf: simplify handling of offset in av_probe_input_buuffer()
11 years ago
Anton Khirnov
3867f3718b
lavf: remove a pointless check
...
AVStream.codec is always non-NULL
11 years ago
Anton Khirnov
281a40e18f
lavf: remove an unneeded call to avcodec_get_frame_defaults().
...
avcodec_decode_*() resets the frame itself.
11 years ago
Anton Khirnov
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
11 years ago
Diego Biurrun
8f8bc92365
Add missing #includes for *INT64_MAX and *INT64_C
11 years ago
Anton Khirnov
5b9c3b4505
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
11 years ago
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>
11 years ago
Anton Khirnov
d1c229cdbc
lavf: do not use int to store an int64
11 years ago
Anton Khirnov
2ba68dd044
lavf: remove unreliable timestamp guessing heuristic
11 years ago
Martin Storsjö
ce67f442be
lavf: Avoid setting avg_frame_rate if delta_dts is negative
...
This avoids setting avg_frame_rate to invalid (negative)
values.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Alexandra Khirnova
5626f994f2
avformat: Use av_reallocp() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Alexandra Khirnova
68b4677420
lavf: Make probe_codec return an error code
...
This allows handling errors from av_realloc properly.
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Alexandra Khirnova
f369b9356c
avformat: Use av_reallocp_array() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Anton Khirnov
26f027fba1
lavf: fix the comparison in an overflow check
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years ago
Anton Khirnov
df33a58e53
lavf: avoid integer overflow when estimating bitrate
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
11 years ago
Anton Khirnov
fab694dd39
lavf: move a variable declaration to the block where it's used
11 years ago
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
12 years ago
Michael Niedermayer
c5b46a064d
lavf: Don't interpret just slightly broken timestamps as wraparound
...
This avoids breaking some slightly incorrect (dts > pts) timestamps
in sample HLS streams from Apple.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Martin Storsjö
e740929a07
lavf: Make sure avg_frame_rate can be calculated without integer overflow
...
If either of the deltas is too large for the multiplications to
succeed, don't use this for setting the avg frame rate.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Luca Barbato
df9f22d42b
avf: move url utility functions in a separate file
12 years ago
Luca Barbato
12db891dcd
avf: move ff_write_chained to mux.c
12 years ago
Luca Barbato
508998f7d5
avf: move riff tags accessors where they belong
12 years ago
Luca Barbato
ec7c51c786
avf: move ff_http_match_no_proxy to network
...
It is only used by network protocols.
12 years ago
Luca Barbato
afc8685395
avf: split off format register and lookup function
12 years ago
Anton Khirnov
c330eba84c
lavf: preserve side data when parsing packets.
12 years ago
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
12 years ago