Commit Graph

155 Commits

Author SHA1 Message Date
Diego Biurrun 6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Anton Khirnov aba232cfa9 lavf: deprecate r_frame_rate.
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.

Replace it with the average framerate where it makes sense.

FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.

In some other tests lavf starts making up frame durations from different
frame.
2012-07-29 08:06:30 +02:00
Justin Ruggles b0e9edc44f avcodec: add a cook parser to get subpacket duration
Fixes jittery video playback of rm files with cook audio.
2012-04-20 12:11:20 -04:00
Kostya Shishkov b8560637d9 RealAudio Lossless decoder 2012-03-19 18:46:34 +01:00
Alex Converse 1697c29d75 rmdec: Honor .RMF tag size rather than assuming 18. 2012-03-02 09:31:32 -08:00
Diego Biurrun 75c553eb26 rmdec: adjust printf format string specifier to fix warning
libavformat/rmdec.c:383: warning: format ‘%d’ expects type ‘int’, but argument 7 has type ‘int64_t’
2012-03-01 23:11:14 +01:00
Ronald S. Bultje aac07a7a4c rm: prevent infinite loops for index parsing.
Specifically, prevent jumping back in the file for the next index, since
this can lead to infinite loops where we jump between indexes referring
to each other, and don't read indexes that don't fit in the file.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-22 12:00:23 -08:00
Ronald S. Bultje e30b3e59a4 rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.
We read sub_packet_h / 2 packets per line of data (during deinterleaving),
which equals zero if sub_packet_h <= 1, thus causing us to not read any
data, leading to an infinite loop.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-22 09:17:27 -08:00
Anton Khirnov 6e9651d106 lavf: remove AVFormatParameters from AVFormatContext.read_header signature 2012-01-27 10:51:57 +01:00
Diego Biurrun 3dc99a18d4 cosmetics: drop some pointless parentheses 2012-01-07 22:13:07 +01:00
Anton Khirnov c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Anton Khirnov d3e3ffa501 rmdec: don't set codec timebase.
It's not supposed to be set outside of lavc.
Set r_frame_rate instead.
2011-11-30 07:47:43 +01:00
Martin Storsjö 0882689116 rdt: Set AVFMT_NOFILE on ff_rdt_demuxer
This makes rdt work again, which has been broken since
603b8bc2a1. This commit made
opening a demuxer without a file (or in this case, with a filename
which can't be opened) fail, unless the demuxer actually declared
AVFMT_NOFILE.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 11:24:10 +02:00
Anton Khirnov 3b3bbdd3e6 lavf,lavd: replace av_new_stream->avformat_new_stream part I.
Trivial replacements with sed are done in this commit:
sed 's/av_new_stream(\([^)]*\), 0)/avformat_new_stream(\1, NULL)/'
2011-10-19 17:02:11 +02:00
Laurent Aimar f06068bbd6 rmdec: Reject invalid deinterleaving parameters
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 15:45:22 +03:00
Laurent Aimar 3e033da847 rmdec: use the deinterleaving mode and not the codec when creating audio packets.
It prevents crashes due to non initialized fields.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:37:31 +02:00
Kostya Shishkov 10397215aa Use deinterleavers for demangling audio packets in RealMedia.
Unlike other containers RealMedia stores its audio packets in scrambled form,
with interleaver ID preceeding audio codec ID. Currently deinterleaving
decision is tied to the codec while it's possible to have non-default
deinterleaver with audio codec (like Int0 deinterleaver instead of specific
one for Sipro).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-27 17:23:45 +02:00
Kostya Shishkov a43b1e74e2 rmdec: parse FPS in RealMedia properly
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov 48ce8b8da7 Use parsers for RealVideo 3/4 to determine correct PTS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov 7c1f6df4b5 rmdec: correct DTS calculation in RealMedia container.
First, container stores only DTS and not PTS as it was believed.
Second, multiple frames in a packet store timestamp instead of position
after the frame length.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov e9fb763611 Remove redundant and dubious video codec detection by its extradata
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 14:03:01 +02:00
Anton Khirnov dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Anton Khirnov 412b4367c5 rmdec: remove useless ap parameter from rm_read_header_old() 2011-07-17 06:58:29 +02:00
Anton Khirnov d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Mans Rullgard e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01:00
Diego Biurrun 045dd4b928 Replace some commented-out debug printf() / av_log() messages with av_dlog(). 2011-04-29 17:27:01 +02:00
Anton Khirnov 8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov 45a8a02a41 lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:24:51 -04:00
Anton Khirnov 66e5b1df36 avio: deprecate url_feof
AVIOContext.eof_reached should be used directly instead.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 17:20:31 -05:00
Anton Khirnov a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov e356fc57a2 lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:22:16 -05:00
Anton Khirnov 6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov b7effd4e83 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Diego Elio Pettenò c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Reimar Döffinger c32b701749 Do not read the RM index when input is streamed (since it requires seeking
forward and then back again) or AVFMT_FLAG_IGNIDX is set.

Originally committed as revision 23509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-06 18:48:49 +00:00
Francesco Lavra 74e8ccad4c Move rm_codec_tags to rm.c so muxer/demuxer can share it.
Patch by Francesco Lavra <francescolavra interfree it>.

Originally committed as revision 23360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 18:18:33 +00:00
Zhou Zongyi aafb822ba5 We're using generic tag-to-ID functions, so specific codec_id assignments
are no longer necessary. Patch by Zhou Zongyi <zhouzy AT os pku edu cn>.

Originally committed as revision 23312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 15:39:32 +00:00
Stefano Sabatini 2ef6c1242a Mark av_metadata_set() as deprecated, and use av_metadata_set2()
in its place.

av_metadata_set() is going to be dropped at the next major bump.

Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Stefano Sabatini 2874c81cc8 Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR(ENOMEM).

AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.

Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +00:00
Ronald S. Bultje 7b374c9ff2 Another uninitialized value.
See http://tranquillity.ath.cx/clang/2010-03-30-1/report-e6KUTb.html#EndPath

Originally committed as revision 22783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:58:55 +00:00
Ronald S. Bultje 190413cf81 Fix uninitialized value in codepath.
See http://tranquillity.ath.cx/clang/2010-03-30-1/report-40QvF3.html#EndPath

Originally committed as revision 22782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:58:03 +00:00
Ronald S. Bultje ddf8e75ede Remove dead initialization.
Originally committed as revision 22781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:56:59 +00:00
Jean-Daniel Dupas cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini 72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Aurelien Jacobs 1ab0406db1 export rm_reorder_sipr_data() for future use by matroska demuxer
Originally committed as revision 22491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:35:59 +00:00
Aurelien Jacobs adae9fa65e export sipr_subpk_size for future use by matroska demuxer
Originally committed as revision 22490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:34:30 +00:00
Ronald S. Bultje 98287358e9 Print a warning when DATA chunk is encountered in the middle of chunk.
From multirate RM patch by Ronald S. Bultje

Originally committed as revision 21392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 09:42:52 +00:00
Ronald S. Bultje f9664ca026 Use the correct ByteIOContext in extradata parsing.Fixes half of issue
1658.

Originally committed as revision 21095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:15:46 +00:00