John Stebbins
7f4ec4364b
avformat: expose av_stream_new_side_data helper
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-11-18 11:36:27 +01:00
Anton Khirnov
8de1ee9f72
lavf: deprecate compute_pkt_fields2
...
All encoders set pts and dts properly now (and have been doing that for
a while), so there is no good reason to do any timestamp guessing in the
muxer.
The newly added AVStreamInternal will be later used for storing all the
private fields currently living in AVStream.
2015-11-09 07:50:55 +01:00
Anton Khirnov
aeda1121c9
lavf: factor out freeing an AVStream
...
It will be needed in other functions.
2015-11-08 11:49:23 +01:00
Anton Khirnov
a0c71a5751
lavf: initialize cur_dts to AV_NOPTS_VALUE for muxing
...
The reasoning for setting it to zero only applies to demuxing.
2015-11-08 11:48:47 +01:00
Luca Barbato
d584533cf3
avformat: Rework add_to_pktbuf
...
Make it return an error and check its return value when it is used.
Simplify the usage by calling `av_packet_ref` internally when needed.
2015-10-26 18:00:55 +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
Luca Barbato
a5d4204309
avformat: Always return ref-counted AVPacket
...
And drop the av_dup_packet from the input_thread.
2015-10-26 18:00:55 +01:00
wm4
948f3c19a8
lavc: Make AVPacket.duration int64, and deprecate convergence_duration
...
Note that convergence_duration had another meaning, one which was in
practice never used. The only real use for it was a 64 bit replacement
for the duration field. It's better just to make duration 64 bits, and
to get rid of it.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-29 14:33:00 +02:00
Vittorio Giovara
01bcc2d5c2
lavc: Drop deprecated destruct_packet related functions
...
Deprecated in 10/2012.
2015-08-28 16:01:16 +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
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Vittorio Giovara
98cab39798
lavf: Fix variables constness in ff_iso8601_to_unix_time()
...
warning: assigning to
'char *' from 'const char *' discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
2015-04-20 18:43:33 +01: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
Luca Barbato
27f2746282
parseutils: Make av_small_strptime public
...
And use it in libavformat.
Based on a similar patch by Stefano Sabatini <stefasab@gmail.com>.
2015-04-07 12:36:11 +02:00
wm4
9deaec7828
lavf: move internal fields from public to internal context
...
This is not an API change; the fields were explicitly declared private
before.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-10 21:45:04 +01:00
Anton Khirnov
4227e4fe74
lavf: add a convenience function for adding side data to a stream
2015-01-27 09:18:32 +01:00
Martin Storsjö
9f810a9b37
libavformat: Check for malloc failures in avformat_new_stream
...
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:36 +02:00
Luca Barbato
0db6bbb24c
avformat: Make avformat_free_context handle NULL
...
Work as the other free()-like functions.
Bug-Id: CID 1087081
CC: libav-stable@libav.org
2014-10-17 09:55:46 +01:00
Anton Khirnov
2d6e58497e
lavf: switch to AVCodecContext.framerate for demuxing
2014-10-15 06:37:55 +00:00
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>
2014-10-12 01:32:52 +03:00
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>
2014-09-29 17:54:25 +00: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
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
Luca Barbato
e253a9e2b3
avformat: Move av_probe_input* to format.c
2014-07-29 15:18:51 +02:00
Diego Biurrun
7215fcf840
avformat: Mark AVOutputFormat argument in avformat_query_codec as const
2014-07-26 14:51:16 -07: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
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
Vittorio Giovara
2dc265619a
lavf: group dump functions together
2014-06-14 00:24:35 -04:00
Janne Grunau
c23c96b638
lavf: add av_stream_get_side_data
2014-05-20 00:43:52 +02:00
Luca Barbato
dcbfb7805a
probe: Support AAC_LATM in set_codec_from_probe_data
2014-05-03 18:51:37 +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
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
Anton Khirnov
25b3258656
lavf: add an AVStream field for exporting stream-global side data
2014-03-24 06:07:51 +01:00
Luca Barbato
db9d39b4b5
avformat: Report the duration analysis reached
2014-03-11 21:55:11 +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
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
Diego Biurrun
d67cfdeb53
avformat: utils: Refactor duplicated PRINT macro
2014-01-29 17:04:35 +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
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
Anton Khirnov
3867f3718b
lavf: remove a pointless check
...
AVStream.codec is always non-NULL
2014-01-06 08:21:53 +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
Diego Biurrun
8f8bc92365
Add missing #includes for *INT64_MAX and *INT64_C
2013-11-23 21:55:52 +01:00
Anton Khirnov
5b9c3b4505
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
2013-11-16 12:44:20 +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
Anton Khirnov
d1c229cdbc
lavf: do not use int to store an int64
2013-11-01 21:01:32 +01:00