Commit Graph

969 Commits

Author SHA1 Message Date
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
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
ed8e6d535c Merge commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d'
* commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d':
  lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.

Conflicts:
	libavformat/avformat.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:22:52 +02:00
Andrew Stone
afbd4b7e09 lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.
The only flags, for now, indicate if metadata was updated and are set after each call to
av_read_frame(). This comes with the caveat that, on stream start, it might not be set properly
as packets might be buffered in AVFormatContext.packet_buffer before being given to the user
in av_read_frame().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:04:48 +00:00
Michael Niedermayer
329832d779 Merge commit '24c788f4878729a42150581d7ed7e9a11daf874d'
* commit '24c788f4878729a42150581d7ed7e9a11daf874d':
  Remove obsolete FF_API_REFERENCE_DTS cruft.

Conflicts:
	libavformat/avformat.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 02:01:34 +02:00
Michael Niedermayer
c218d8218d Merge commit '24e87f7f425a52b1e69661dcb2fbe0555a76f30b'
* commit '24e87f7f425a52b1e69661dcb2fbe0555a76f30b':
  Remove obsolete FF_API_PROBE_MIME cruft.

Conflicts:
	libavformat/avformat.h
	libavformat/format.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:36:21 +02:00
Anton Khirnov
24c788f487 Remove obsolete FF_API_REFERENCE_DTS cruft. 2014-08-09 16:59:26 +00:00
Anton Khirnov
24e87f7f42 Remove obsolete FF_API_PROBE_MIME cruft. 2014-08-09 16:59:21 +00: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
9694695a21 avformat: fix probe mime version checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:02:48 +02:00
Michael Niedermayer
80a3a6611f Merge commit '3a19405d574a467c68b48e4b824c76617fd59de0'
* commit '3a19405d574a467c68b48e4b824c76617fd59de0':
  avformat: Use the mime type information in input probe

Conflicts:
	libavformat/format.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 20:57:42 +02:00
Luca Barbato
3a19405d57 avformat: Use the mime type information in input probe
It should provide a quicker guess for elementary streams provided
by http.
2014-07-29 17:47:26 +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
Michael Niedermayer
6542e5575f Merge commit 'ec4f04da1a3462dac429b9d15dee5f027309da15'
* commit 'ec4f04da1a3462dac429b9d15dee5f027309da15':
  avformat: Mark argument in av_{i|o}format_next/ffurl_protocol_next as const

Conflicts:
	libavformat/format.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:09:41 +02:00
Diego Biurrun
7215fcf840 avformat: Mark AVOutputFormat argument in avformat_query_codec as const 2014-07-26 14:51:16 -07:00
Diego Biurrun
ec4f04da1a avformat: Mark argument in av_{i|o}format_next/ffurl_protocol_next 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
4b13ec69c6 Merge commit 'c9c1265c52910578d3db1a6205c85b91ead0903f'
* commit 'c9c1265c52910578d3db1a6205c85b91ead0903f':
  avformat: update muxing doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:38:27 +02:00
Anton Khirnov
c9c1265c52 avformat: update muxing doxy
The callers should now set the stream timebase, not the codec one.
2014-07-09 13:30:22 +00: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
Michael Niedermayer
a3c479fc49 avformat/avformat: minor grammar improvement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:51:53 +02:00
Michael Niedermayer
44f079b27e Merge commit 'cdab9db2adeec46b3984309c8c651bdd737d2b6b'
* commit 'cdab9db2adeec46b3984309c8c651bdd737d2b6b':
  lavf: document av_dump_format()

Conflicts:
	libavformat/avformat.h

See: 61f96be08a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:39:23 +02:00
Vittorio Giovara
cdab9db2ad lavf: document av_dump_format() 2014-07-02 23:37:21 -04: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
Carl Eugen Hoyos
5482780a3b Allow values >31bit for -analyzeduration. 2014-06-10 14:28:34 +02:00
Carl Eugen Hoyos
d58bcc1921 Allow >2G for skip_initial_bytes. 2014-06-06 09:16:53 +02:00
Michael Niedermayer
d858ee717b Merge commit '6d212599aa684f30511fb08ca30fe2378405304e'
* commit '6d212599aa684f30511fb08ca30fe2378405304e':
  avformat: Provide a standard compliance flag

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 00:20:48 +02:00
Luca Barbato
6d212599aa avformat: Provide a standard compliance flag
Provide f_strict for avconv usage.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-28 22:04:56 +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
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
999a99c865 Merge commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c'
* commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c':
  lavf: deprecate now unused AVStream.pts

Conflicts:
	libavformat/mux.c
	libavformat/version.h

mostly not merged as the code is needed for a/vsync drop handling
and what the code does is what is needed, it could maybe be moved
elsewhere or factored somehow but simply removing it would be droping
these features.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 18:38:10 +02:00
Anton Khirnov
a312f71090 lavf: deprecate now unused AVStream.pts 2014-05-19 07:14:24 +02:00
Michael Niedermayer
8636b11bdc Merge commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f'
* commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f':
  lavf: extend avg_frame_rate documentation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:27:29 +02:00
Anton Khirnov
7a5f4f6853 lavf: extend avg_frame_rate documentation. 2014-05-18 10:24:24 +02:00
Michael Niedermayer
eacf7d650d Merge commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52'
* commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52':
  lavf: add AVFMT_FLAG_BITEXACT.

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/flacenc.c
	libavformat/movenc.c
	libavformat/oggenc.c
	libavformat/options_table.h
	libavformat/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:16:57 +02:00
Anton Khirnov
0c1959b056 lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.

Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
2014-05-15 07:42:07 +02:00
Michael Niedermayer
6a72260e6b Merge commit 'a738540366c9b114949b7914c0d08e2c28982cfb'
* commit 'a738540366c9b114949b7914c0d08e2c28982cfb':
  lavf: properly document the distinction between flags and ctx_flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 13:54:21 +02:00
Anton Khirnov
a738540366 lavf: properly document the distinction between flags and ctx_flags 2014-05-14 07:47:56 +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
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
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
6db42a2b6b lavd: add device capabilities API
Provides API to query device capabilities.
Each device must implement callbacks to benefit from this API.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-04-11 15:37:43 +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
Fred Rothganger
3f3229cd10 avformat: extracting NTP timestamp from RTCP
For muxing, it accepts
both 0 and AV_NOPTS_VALUE. For demuxing, it will present
AV_NOPTS_VALUE when start_time_realtime is unknown.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 13:33:14 +01:00
Anshul Maheshwari
61f96be08a Documented av_dump_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 13:24:53 +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
6742614c23 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: Replace @parblock syntax with manual linebreaks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 21:26:59 +01:00
Michael Niedermayer
f3bb5f28d3 Merge commit '4d7ab5cfebef91820af2933ef2f622ea598e6b53'
* commit '4d7ab5cfebef91820af2933ef2f622ea598e6b53':
  doxygen: Add a number of missing function parameter descriptions

Conflicts:
	libavformat/avformat.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 21:11:29 +01:00
Diego Biurrun
2f2b2efd31 doxygen: Replace @parblock syntax with manual linebreaks
@parblock is only supported in very recent Doxygen versions.
2014-02-17 15:36:17 +01:00
Diego Biurrun
4d7ab5cfeb doxygen: Add a number of missing function parameter descriptions 2014-02-17 15:36:09 +01:00
Lukasz Marek
81c3f81d6f lavd: add list devices API
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-16 20:07:08 +01:00
Nicolas George
1b05ac220e lavf: add write_uncoded_frame() API. 2014-02-11 10:29:02 +01:00
Michael Niedermayer
8560fdc451 Merge commit '394fb56c29eee7f4f8f0334d8b5d30d3c54ac703'
* commit '394fb56c29eee7f4f8f0334d8b5d30d3c54ac703':
  lavf: always unref the packet passed to av_interleaved_write_frame() on error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 20:30:58 +01:00
Anton Khirnov
394fb56c29 lavf: always unref the packet passed to av_interleaved_write_frame() on error 2014-02-10 15:08:06 +01:00
Michael Niedermayer
ec8e232b53 Merge commit '18c896be3d8e926ef806e7de29c4a168d7763389'
* commit '18c896be3d8e926ef806e7de29c4a168d7763389':
  lavf: extend / improve the AVFormatContext doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 14:18:47 +01:00
Michael Niedermayer
c84280b09c Merge commit '54f7e79d4706a8343dad1d8da51b7d3d3b2cd3b2'
* commit '54f7e79d4706a8343dad1d8da51b7d3d3b2cd3b2':
  lavf: add some basic documentation of the muxing process

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 14:09:29 +01:00
Michael Niedermayer
6fd7ea44b2 Merge commit '4c750599509c3973afbe2850953a1fb963f696e5'
* commit '4c750599509c3973afbe2850953a1fb963f696e5':
  lavf: rewrite the av_write_frame() doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 13:51:56 +01:00
Michael Niedermayer
58fdc6db6c Merge commit 'ad7f2b69a546ec65ef6b11e1a0fd58e6bb66bc4b'
* commit 'ad7f2b69a546ec65ef6b11e1a0fd58e6bb66bc4b':
  lavf: rewrite the av_interleaved_write_frame() doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 13:37:37 +01:00
Anton Khirnov
18c896be3d lavf: extend / improve the AVFormatContext doxy 2014-02-10 11:46:49 +01:00
Anton Khirnov
54f7e79d47 lavf: add some basic documentation of the muxing process 2014-02-10 11:44:21 +01:00
Anton Khirnov
4c75059950 lavf: rewrite the av_write_frame() doxy
Remove some vague / incorrect statements and make the text more specific
and less confusing.
2014-02-10 11:37:30 +01:00
Anton Khirnov
ad7f2b69a5 lavf: rewrite the av_interleaved_write_frame() doxy
Remove some vague / incorrect statements and make the text more specific
and less confusing.
2014-02-10 11:34:41 +01:00
Michael Niedermayer
3adb5f8d8b Merge commit 'd9ae1031f5edbd25c8526b4cb51aba66d3bee931'
* commit 'd9ae1031f5edbd25c8526b4cb51aba66d3bee931':
  lavf: improve handling of sparse streams when muxing

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/mux.c
	libavformat/options_table.h
	libavformat/version.h

See: 37ed5df5c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-05 03:19:22 +01:00
Luca Barbato
d9ae1031f5 lavf: improve handling of sparse streams when muxing
Currently ff_interleave_packet_per_dts() waits until it gets a frame for
each stream before outputting packets in interleaved order.

Sparse streams (i.e. streams with much fewer packets than the other
streams, like subtitles or audio with DTX) tend to add up latency and in
specific cases end up allocating a large amount of memory.

Emit the top packet from the packet_buffer if it has a time delta
larger than a specified threshold.

Original report of the issue and initial proposed solution by
mus.svz@gmail.com.

Bug-id: 31
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-02-04 22:01:42 +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
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
Stefano Sabatini
5871ee5072 lavf: add output_ts_offset option to AVFormatContext
This option can be generally useful to set an output offset, needed when
setting an absolute index in the output.
2014-02-02 13:16:17 +01:00
Stefano Sabatini
a535d3952c lavf/avformat.h: fix typos 2014-02-02 13:11:59 +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
Lukasz Marek
7151411b9c lavd: add avdevice_app_to_dev_control_message API
New API allows to send messages from application to devices.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-01-27 15:18:17 +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
wm4
1a193c438c lavf: add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 22:15:32 +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
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
249cc58c3a Merge commit '8b64c2ba0382892cad9e1a5ba601696d4cbb4d04'
* commit '8b64c2ba0382892cad9e1a5ba601696d4cbb4d04':
  lavc: add a dummy field to AVStream to preserve ABI compatibility for avconv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 20:47:23 +01:00
Anton Khirnov
8b64c2ba03 lavc: add a dummy field to AVStream to preserve ABI compatibility for avconv
avconv abuses the API by accessing AVStream.parser (which is private).
Removing AVStream.reference_dts in
2ba68dd044 breaks ABI compatibility for an
old avconv using a newer lavf. Fix this by adding a dummy field until
the next bump.
2013-10-29 14:19:10 +01:00
Anton Khirnov
2ba68dd044 lavf: remove unreliable timestamp guessing heuristic 2013-10-28 09:28:19 +01:00
Michael Niedermayer
5082fcc0e2 avformat: add support to force specific AVCodecs
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
96e6447d62 Merge commit '596e5d4783ca951258a7c580951fd161f1785ec1'
* commit '596e5d4783ca951258a7c580951fd161f1785ec1':
  lavf: Add a flag to enable/disable per-packet flushing

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	libavformat/version.h

This adds a 2nd API to set per packet flushing
If the user application indicates through either a non default then this non default takes
precedence over the other still default value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:01:35 +02:00
Luca Barbato
596e5d4783 lavf: Add a flag to enable/disable per-packet flushing
This is enabled by default and can be disabled with
"-fflags -flush_packets".

Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:11:08 +03:00
Michael Niedermayer
2230d85ceb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: Allow chapters to be written in trailer

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 13:34:37 +02:00
John Stebbins
26b241c079 matroskaenc: Allow chapters to be written in trailer
This allows creation of frame accurate chapter marks from sources like
DVD and BD where the precise chapter location is not known until the
chapter mark has been reached during reading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-04 20:30:43 +02:00
Michael Niedermayer
e31db621bf avformat: export probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 22:18:57 +02:00
Michael Niedermayer
9ab8de4b23 Merge commit '64af59bc4916fac5578b31c89da13c30b591bddf'
* commit '64af59bc4916fac5578b31c89da13c30b591bddf':
  avformat: Fix references to removed av_close_input_file in Doxygen

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 10:38:45 +02:00
Diego Biurrun
64af59bc49 avformat: Fix references to removed av_close_input_file in Doxygen 2013-08-20 13:33:47 +02:00
Alexis Ballier
7a48b1c492 Remove FF_API_PKT_DUMP cruft. Not compiled since libavformat 54.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 04:18:32 +02:00
Anshul Maheshwari
a553cb4683 documented that av_codec_close is required to call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:49:01 +02:00
Michael Niedermayer
f9d7431272 avformat/AVFormatContext: Move fields down to match the fork
avconv uses private and internal fields from libavformat, we thus must
match the layout even of the fields marked non public.
Otherwise ffmpegs libavformat could not be used as a dropin replacement
on debian/ubuntu

The current soname of libavformat was not part of any release nor are any
fields marked public moved thus in theory
no installed shared lib ABI breakage should occur. Still the need for this
change is unfortunate and chilling.
If you installed shared libs from a recent development version of libavformat
that is more recent than the last release. You probably want to check or rebuild
applications that linked to it.

minor versions of avformat & avdevice are bumped to allow detecting this
as both use the updated struct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Matthew Heaney
bc35df29c1 lavf: add AV_DISPOSITION flags for WebVTT text track kinds
There are 4 separate WebVTT text track kinds: subtitles (the default
if not otherwise specified), captions, descriptions, and metadata.
The WebM muxer needs to know which WebVTT text track kind this is, in
order to synthesize the correct track type and codec id.

To allow a demuxer to indicate the text track kind of the input, a new
set of AV_DISPOSITION flag values has been added, corresponding to
each of the non-default text track kind values.
2013-06-25 00:13:47 +02:00
Michael Niedermayer
f083b4c338 Merge commit 'e0f8be6413b6a8d334d6052e610af32935c310af'
* commit 'e0f8be6413b6a8d334d6052e610af32935c310af':
  avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate

Conflicts:
	libavformat/ac3dec.c
	libavformat/avformat.h
	libavformat/avs.c
	libavformat/m4vdec.c
	libavformat/mov.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegvideodec.c
	libavformat/psxstr.c
	libavformat/pva.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:31:03 +02:00
Diego Biurrun
e0f8be6413 avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate 2013-05-04 21:43:06 +02:00