Commit Graph

16751 Commits

Author SHA1 Message Date
wm4
7862325f80 avformat/matroskadec: fix IGNIDX handling
Just because the user requested the seek index to be ignored, we can't
just skip essential headers. At least tags are often located at the end
of the file, and the old code simply ignored the seekhead for all
elements, not just the cue index. Also, it looks like it used the index
even if IGNIDX was set if the cue index was located in the beginning of
the file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 17:08:51 +01:00
wm4
cac2295b21 matroska: redo seekhead handling
In particular, this reads chained seekheads. This makes seeking faster
in files which have the index indirectly linked through 2 seekheads.

As a side-effect, this warns when reading level-1 (toplevel) elements
multiple times (other than seekheads, clusters, and void/crc). Such
elements are not valid and likely break everything.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 13:51:41 +01:00
Paul B Mahol
ac494e5a66 avformat/isom: add X-Com Radvision fourcc
Fixes bug #4303.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 11:47:01 +00:00
Michael Niedermayer
2924514721 Merge commit '9deaec782810d098bca11c9332fab2d2f4c5fb78'
* commit '9deaec782810d098bca11c9332fab2d2f4c5fb78':
  lavf: move internal fields from public to internal context

Conflicts:
	libavformat/avformat.h
	libavformat/internal.h
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 02:47:54 +01:00
Michael Niedermayer
b61170f51d Merge commit '1509c018bd5b054a2354e20021ccbac9c934d213'
* commit '1509c018bd5b054a2354e20021ccbac9c934d213':
  mpegts: relax restrictions on matching the packet start in read_header

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:59:14 +01:00
Michael Niedermayer
702cf8d0de Merge commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c'
* commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c':
  lavf: remove unused code

Conflicts:
	libavformat/seek.c
	libavformat/seek.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:43:00 +01: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
1509c018bd mpegts: relax restrictions on matching the packet start in read_header
analyze() is currently called both when probing and from read_header().
It determines the packet start by looking for the sync byte, followed by
unset Transport Error Indicator and valid adaptation_field_control.

This makes sense to do when probing, but once we already know the format
is MPEG-TS, it is counterproductive to be so strict -- e.g. in some
files the TEI might be set and analyze() might get called with a smaller
buffer than the one used for probing, resulting in a failure.
2015-02-10 21:43:44 +01:00
Kevin Wheatley
7fc33dca39 libavformat: DNxHD in .mov, switch unspecified color_range to mpeg
Avid prefers mpeg range [16-235] by default this change brings
ffmpeg into line with that. To obtain the old behaviour use
'-color_range jpeg' on the command line prior to the ouput
filename.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:46:12 +01:00
wm4
6938a095cb matroska: don't complain about unknown elements
Matroska is an extensible format - unknown elements must be expected. It
shouldn't complain about such elements to the user either; it'll just
generate noise. The "error_recognition & AV_EF_EXPLODE" is completely,
wrong why would it explode on valid files?

It's still useful for debugging, so the message is left in place with a
higher log level.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:33:33 +01:00
Michael Niedermayer
e8f814a907 avformat/utils: Fix division by 0
Fixes: signal_sigsegv_14999ef_1188_cov_2888512890_SVA_CL1_E.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:15:27 +01:00
Michael Niedermayer
5763f67502 avformat/mov: Check dimensions before setting aspect
Fixes division by 0
Fixes: asan_heap-uaf_143f420_728_cov_1441472032_HDV_0113.MP4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 14:52:15 +01:00
wm4
6a5b8ca432 lavf: remove unused code
Nothing uses it, and it provides no public API.

Archeological finds:

Commit 101036adb9 added the API.
Commit a8dd8dc6e9 made mpegts.c use it.
Commit af8aae3fa3 disabled it by default in mpegts.c.
Commit ae2bb52cd2 removed all uses of this from mpegts.c.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-08 21:34:05 +01:00
Michael Niedermayer
162f344971 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix standalone compilation of the mov muxer with --disable-optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 17:31:31 +01:00
Clément Bœsch
4b60bd1aac avformat/internal: fix av_interleaved_write_frame typo reference 2015-02-08 17:09:12 +01:00
Carl Eugen Hoyos
a2bc8c5601 Fix standalone compilation of the mov muxer with --disable-optimizations.
Reported-by: Bernhard Döbler
2015-02-08 15:48:26 +01:00
Michael Niedermayer
009a57b479 avformat/mxfenc: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 13:02:35 +01:00
Mark Reid
6a8a3bfb87 libavformat/mxfenc.c: added mxf opatom muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 03:53:37 +01:00
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Carl Eugen Hoyos
ac923ed470 lavf/mlv: Only add streams that are supposed to contain frames.
Fixes ticket #4296.

Reviewed-by: Peter Ross
2015-02-07 16:23:36 +01:00
Luca Barbato
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
Timothy Gu
510b39c213 nutdec: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Timothy Gu
e66a187638 img2dec: Remove dead code
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Paul B Mahol
f968166439 avformat/rpl: check av_get_packet() for failure
Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 16:07:16 +00:00
Paul B Mahol
dc3c3758ce avformat/thp: check av_get_packet() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 09:42:53 +00:00
James Almer
15a88468ae avformat/tta: only check for header and seek table crc if requested
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 23:20:40 -03:00
Carl Eugen Hoyos
afada9ac67 Fix compilation with --disable-protocol=udp 2015-02-05 10:07:03 +01:00
Michael Niedermayer
f2579dbb4b avformat/thp: Check av_get_packet() for failure not only for partial output
Fixes null pointer dereference
Fixes: signal_sigsegv_db2c1f_3108_cov_163322880_pikmin2_opening1_partial.thp

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 04:14:42 +01:00
Lukasz Marek
21051af218 lavf/avc: add buffer padding to extradata allocation
ff_avc_write_annexb_extradata() allocates extradata, but don't add
FF_INPUT_BUFFER_PADDING_SIZE value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-02-05 03:27:55 +01:00
Michael Niedermayer
05e1619529 avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 14:55:42 +01:00
Paul B Mahol
469a170135 avformat/siff: fix if_( style
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:10:53 +00:00
Stefano Sabatini
fd242b468d lavf/utils: fix if_( style 2015-02-04 13:17:30 +01:00
wm4
b737a2c528 avformat/mpc8: fix broken pointer math
This could overflow and crash at least on 32 bit systems.

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:55:47 +01:00
wm4
56cc024220 avformat/mpc8: fix hang with fuzzed file
This can lead to an endless loop by seeking back a few bytes after each
attempted chunk read. Assuming negative sizes are always invalid, this
is easy to fix. Other code in this demuxer treats negative sizes as
invalid as well.

Fixes ticket #4262.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:39:56 +01:00
Michael Niedermayer
d304cb49eb Merge commit '898276c16b1683ac77723e97574a3bfdb29507fd'
* commit '898276c16b1683ac77723e97574a3bfdb29507fd':
  r3d: Fix pos type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:04:49 +01:00
Michael Niedermayer
bd12634d6b Merge commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de'
* commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de':
  tta: Fix framepos and start_offset types

Conflicts:
	libavformat/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:49:14 +01:00
Michael Niedermayer
e005dc621a avformat: fix mode of img2dec.c and utils.c
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:27:23 +01:00
Michael Niedermayer
a83e0639c0 Merge commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f'
* commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f':
  mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom

Conflicts:
	libavformat/mov.c

See: b76bc01034
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:19:46 +01:00
Michael Niedermayer
deeba777ad Merge commit '27b99d929fe3440b4bba8e5d970c2802f274f328'
* commit '27b99d929fe3440b4bba8e5d970c2802f274f328':
  siff: Return more meaningful error values

Conflicts:
	libavformat/siff.c

See: 29c3ebf56e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:05:00 +01:00
Michael Niedermayer
46a16ca15a Merge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'
* commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128':
  siff: K&R formatting cosmetics

Conflicts:
	libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 21:53:29 +01:00
Liviu Oniciuc
b37858eae1 avformat/img2dec: remove the non-negative number requirement for start_number option
industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 18:57:23 +01:00
Luca Barbato
898276c16b r3d: Fix pos type
avio_tell can return a negative number.

Bug-Id: CID 1265715
CC: libav-stable@libav.org
2015-02-03 15:23:22 +00:00
Vittorio Giovara
ec524ed12a tta: Fix framepos and start_offset types
Also propagate errors.

CC: libav-stable@libav.org
Bug-Id: CID 1238812
2015-02-03 15:23:21 +00:00
Carl Eugen Hoyos
67e9f3907d isom: Decode Prores 4444 XQ with the existing Prores decoder
The frames seem to contain a higher bitrate which our decoder is
able to handle.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Hendrik Leppkes
e3528d2a7b mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom
This atom typically is used for a track title. The handler name is stored
as a Pascal string in the QT specs (first byte is the length of the string),
so do not export it.

A second length check based on the first character is added to avoid
overwriting an already specified handler_name (it happens with YouTube
videos for instance, the handler_name get masked), or specifying an
empty string metadata.

The Pascal string fix and the second length check are written
by Clément Bœsch <clement.boesch@smartjog.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-03 15:15:12 +00:00
wm4
6a0cd529a3 avformat/tta: fix crash with corrupted files
av_add_index_entry() can fail, for example because the parameters are
invalid, or because memory allocation fails. Check this; it can actually
happen with corrupted files.

The second hunk is just for robustness. Just in case functions like
ff_reduce_index() remove entries. (Not sure if this can actually
happen.)

Fixes ticket #4294.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 16:02:32 +01:00
Diego Biurrun
27b99d929f siff: Return more meaningful error values 2015-02-03 14:55:40 +00:00
Diego Biurrun
75439bb31b siff: K&R formatting cosmetics 2015-02-03 14:53:44 +00:00