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

82 Commits

Author SHA1 Message Date
4d8875ec23 lavf: Constify the probe function argument.
Reviewed-by: Lauri Kasanen
Reviewed-by: Tomas Härdin
2019-03-21 11:42:17 +01:00
1fd80106be avformat: fix id3 chapters
These changes store id3 chapter data in ID3v2ExtraMeta and introduce
ff_id3v2_parse_chapters to parse them into the format context if needed.

Encoders using ff_id3v2_read, which previously parsed chapters into the
format context automatically, were adjusted to call
ff_id3v2_parse_chapters.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-10-05 17:10:23 +02:00
5b2c0eebee lavf/omadec: Fix packet duration for Atrac 3 lossless. 2017-02-11 19:01:14 +01:00
7ff445874b lavf/omadec: Remove an unsed variable. 2017-02-11 15:55:11 +01:00
280a40dd27 avcodec: add ATRAC Advanced Lossless decoders
Only lossy part is decoded for now.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-11 12:00:38 +01:00
d74c471a39 omadec: fix overflows during bit rate calculation
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2017-01-06 19:58:42 +01:00
6f69f7a8bf Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
* commit '9200514ad8717c63f82101dc394f4378854325bf':
  lavf: replace AVStream.codec with AVStream.codecpar

This has been a HUGE effort from:
    - Derek Buitenhuis <derek.buitenhuis@gmail.com>
    - Hendrik Leppkes <h.leppkes@gmail.com>
    - wm4 <nfxjfg@googlemail.com>
    - Clément Bœsch <clement@stupeflix.com>
    - James Almer <jamrial@gmail.com>
    - Michael Niedermayer <michael@niedermayer.cc>
    - Rostislav Pehlivanov <atomnuker@gmail.com>

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-10 20:59:55 +01:00
9200514ad8 lavf: replace AVStream.codec with AVStream.codecpar
Currently, AVStream contains an embedded AVCodecContext instance, which
is used by demuxers to export stream parameters to the caller and by
muxers to receive stream parameters from the caller. It is also used
internally as the codec context that is passed to parsers.

In addition, it is also widely used by the callers as the decoding (when
demuxer) or encoding (when muxing) context, though this has been
officially discouraged since Libav 11.

There are multiple important problems with this approach:
    - the fields in AVCodecContext are in general one of
        * stream parameters
        * codec options
        * codec state
      However, it's not clear which ones are which. It is consequently
      unclear which fields are a demuxer allowed to set or a muxer allowed to
      read. This leads to erratic behaviour depending on whether decoding or
      encoding is being performed or not (and whether it uses the AVStream
      embedded codec context).
    - various synchronization issues arising from the fact that the same
      context is used by several different APIs (muxers/demuxers,
      parsers, bitstream filters and encoders/decoders) simultaneously, with
      there being no clear rules for who can modify what and the different
      processes being typically delayed with respect to each other.
    - avformat_find_stream_info() making it necessary to support opening
      and closing a single codec context multiple times, thus
      complicating the semantics of freeing various allocated objects in the
      codec context.

Those problems are resolved by replacing the AVStream embedded codec
context with a newly added AVCodecParameters instance, which stores only
the stream parameters exported by the demuxers or read by the muxers.
2016-02-23 17:01:58 +01:00
f53583ea6e omadec: Fix position of opening parenthesis 2015-10-30 12:46:56 +01:00
8deb1fdac8 avformat/omadec: Fix { typo
Fixes CID1324299

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 22:31:38 +02:00
182550e42c Merge commit '10de408738d28ab17aa5c1fdccd809b0637c12d5'
* commit '10de408738d28ab17aa5c1fdccd809b0637c12d5':
  lavf: Update to the new crypto API

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-16 11:06:55 +02:00
10de408738 lavf: Update to the new crypto API 2015-09-13 17:34:45 +02:00
059a934806 lavc: Consistently prefix input buffer defines
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
0f55bc29d4 avformat/omadec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:01:54 +01:00
29fd3032cc avformat/omadec: Subtract headersize in timestamp calculation
Fixes pts/dts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:16:20 +01:00
7c2fa13df9 avformat/omadec: only compute timestamps based on bitrate if its set
Fixes division by zero

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:12:56 +01:00
7474ea7495 Merge commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1'
* commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1':
  oma: Report a timestamp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:01:52 +01:00
e352520e3e oma: Report a timestamp
Reported-By: jb@videolan.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 15:36:15 +01:00
f1f7f5903a avformat/omadec: fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01: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
a84f9c75bc avformat/omadec: fix probetest failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 22:07:43 +02:00
28ee7757f5 Merge commit 'd92024f18fa3d69937cb2575f3a8bf973df02430'
* commit 'd92024f18fa3d69937cb2575f3a8bf973df02430':
  lavf: more correct printf format specifiers

Conflicts:
	libavformat/asfdec.c
	libavformat/cafdec.c
	libavformat/dxa.c
	libavformat/framecrcenc.c
	libavformat/hnm.c
	libavformat/iff.c
	libavformat/mov.c
	libavformat/mxfdec.c
	libavformat/rmdec.c
	libavformat/rpl.c
	libavformat/smacker.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 21:05:34 +01:00
d92024f18f lavf: more correct printf format specifiers 2014-03-11 13:13:41 +01:00
e6f0bb6527 ATRAC3+ decoder
Cleanup by Diego Biurrun.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-01-09 19:33:07 +01:00
54bb30bae2 omadec: Disable "Unsupported codec ATRAC3+" warning
Also add a list of supported decoders.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-29 01:11:21 +01:00
bd75651378 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  omadec: loosen format probing constraints

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 22:46:22 +01:00
aeaca3816c Merge commit '1c736bedd9891501960ebac0f7c05eb60225e947'
* commit '1c736bedd9891501960ebac0f7c05eb60225e947':
  omadec: check GEOB sizes against buffer size

Conflicts:
	libavformat/omadec.c

See: e74fa25cb9
See: 91e72e3514
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 22:08:59 +01:00
0a7fef39fc omadec: loosen format probing constraints
Imporoves detection of some files in the wild:

- ID3v2 a.k.a. "ea3" header is optional.
- Version and flags in ID3v2 header are unspecified.

Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 18:43:18 +01:00
1c736bedd9 omadec: check GEOB sizes against buffer size
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 18:43:03 +01:00
97f50e92b5 omadec: Fix wrong number of array elements
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 18:38:01 +01:00
a807c68253 avformat: use ff_alloc_extradata()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:13:38 +00:00
5c7d86cbde Merge remote-tracking branch 'qatar/master'
* qatar/master:
  omadec: fix bitrate for ATRAC3+ streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 02:21:41 +02:00
7a28a9f68e Merge commit '23d0fdcf6f30843fc3f14084d80581f1ca10f1f3'
* commit '23d0fdcf6f30843fc3f14084d80581f1ca10f1f3':
  Add support for multichannel ATRAC3+ streams.

Conflicts:
	libavformat/oma.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 02:15:36 +02:00
487b54104a omadec: fix bitrate for ATRAC3+ streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-29 21:54:51 +02:00
23d0fdcf6f Add support for multichannel ATRAC3+ streams.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-29 21:52:57 +02:00
fb45de779c avformat/omadec: simplify checks in nprobe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 00:29:02 +02:00
a444ddff03 Merge commit '342c43d154e586bc022c86b168fe8d36f69da9d3'
* commit '342c43d154e586bc022c86b168fe8d36f69da9d3':
  omadec: Properly check lengths before incrementing the position

See: f1d6f013b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:15:42 +02:00
342c43d154 omadec: Properly check lengths before incrementing the position
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
4cfe3b7405 Merge commit '7df9e693a34c84c698da60426c78140c950f95ed'
* commit '7df9e693a34c84c698da60426c78140c950f95ed':
  cosmetics: Fix ATRAC codec name spelling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:05:18 +02:00
7df9e693a3 cosmetics: Fix ATRAC codec name spelling 2013-09-02 21:38:57 +02:00
5fb652dddb Merge commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93'
* commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93':
  oma: correctly mark and decrypt partial packets

Conflicts:
	libavformat/omadec.c

See: dcd013a535
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:01:20 +02:00
9d8fb23747 Merge commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937'
* commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937':
  oma: check geob tag boundary

Conflicts:
	libavformat/omadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:41:32 +02:00
bc672a016f Merge commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a'
* commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a':
  oma: refactor seek function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:21:52 +02:00
2219e27b5b oma: correctly mark and decrypt partial packets
Incomplete crypted files would lead to a read after buffer boundary
otherwise.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
9d0b45ade8 oma: check geob tag boundary
Prevent read after buffer boundary on corrupted tag.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
4f03a77e52 oma: refactor seek function
Properly propagate seek errors from avio and the generic pcm seek.
2013-07-28 22:54:55 +02:00
f302ba4dda Merge commit 'db9aee6ccf183508835acc325f5ad87d595eacc4'
* commit 'db9aee6ccf183508835acc325f5ad87d595eacc4':
  oma: properly forward errors in oma_read_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:41:45 +02:00
d13bc208da Merge commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0'
* commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0':
  oma: return meaningful errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:37:26 +02:00
db9aee6ccf oma: properly forward errors in oma_read_packet
Prevent spurios EIO on EOF.

CC:libav-stable@libav.org
2013-05-07 14:37:32 +02:00
6f98508e2b oma: return meaningful errors 2013-05-07 14:37:32 +02:00