Commit Graph

862 Commits

Author SHA1 Message Date
Michael Niedermayer
0a84174f2d mov: prevent double free if the caller replaces the io context.
Fixes Ticket2148

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 05:15:47 +01:00
Reimar Döffinger
c5142a95a5 Support more AVC-Intra files
Followup to http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/151321
patch by Reimar and Thomas Mundt fixes some AVC-Intra files from
different tickets.
It does not fix http://samples.ffmpeg.org/ffmpeg-
bugs/trac/ticket524/AVCI50.mov

Authors of this commit are: Reimar and Thomas Mundt
Patch and commit message mostly taken from ffmpeg-devel, mail by Carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 21:48:38 +01:00
Clément Bœsch
c14f8a52b0 lavf/mov: fix timecode track reference usage. 2013-01-01 16:20:10 +01:00
Clément Bœsch
8d398f40b4 lavf/mov: simplify timecode track ref.
There can be only one track reference. The multiple tref handling is
handled at a different level.
2013-01-01 16:20:10 +01:00
Hendrik Leppkes
765158dd82 mov: fix parsing of the chap atom.
This was broken in 0d96ec19eb under the
assumption that there is only one tref leaf atom.

Fixes Ticket #2081.
2013-01-01 15:16:37 +01:00
Carl Eugen Hoyos
67abe21c0b mov: fix handling of odd sized yv12
Part 1 of 2 to fix Ticket339

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 00:44:44 +01:00
Michael Niedermayer
40ea343866 Merge commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011'
* commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011':
  cmdutils: pass number of groups to split_commandline().
  mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
  h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles

Conflicts:
	libavcodec/h264_ps.c
	libavformat/isom.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 12:06:15 +01:00
Janne Grunau
bb2bab92e7 mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.

Patch based on commit 5442083b1c by
Carl Eugen Hoyos. Fixes bug 393.
2012-12-19 14:50:14 +01:00
Peter Ross
f540851ce3 mov: parse @PRM and @PRQ metadata tags
These tags describe the product and quicktime library version respectively.
Originate from Adobe Premier, but some other products use them.
2012-12-10 21:12:59 +11:00
Michael Niedermayer
7c425e4f2d Merge commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333'
* commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333':
  h264: check sps.log2_max_frame_num for validity
  mov: validate number of DataReferenceBox entries against box size
  mov: compute avg_frame_rate only if duration is known
  flac: change minimum and default of lpc_passes option to 1

Conflicts:
	libavcodec/h264_ps.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 15:52:43 +01:00
Janne Grunau
8cc2fa1e5d mov: validate number of DataReferenceBox entries against box size
Avoids a 2G memory allocation and parsing of random data in
mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.
2012-12-07 11:43:28 +01:00
Janne Grunau
80b6b31417 mov: compute avg_frame_rate only if duration is known
Fixes an assert in fuzzed sample sample.mp4_s265930.
2012-12-07 11:43:28 +01:00
Carl Eugen Hoyos
5442083b1c Support Sorenson Spark in f4v files streamed by Flash Media Server. 2012-12-01 21:16:11 +01:00
Michael Niedermayer
d7b20bfbb5 Merge commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66'
* commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66':
  lavf: move nuv fourcc audio tags from riff to nuv
  lavf: add a common function for selecting a pcm codec from parameters

Conflicts:
	libavformat/internal.h
	libavformat/mov.c
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:00:44 +01:00
Justin Ruggles
261e9348ef lavf: add a common function for selecting a pcm codec from parameters 2012-11-28 11:18:50 -05:00
Michael Niedermayer
e6305f7631 mov: set flags to indicate that byte wise seeking is not supported.
Fixes Ticket1831

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 01:19:33 +01:00
Carl Eugen Hoyos
ab82b77822 Fix possible NULL-pointer dereference when decoding mov files.
Fixes CID743440, introduced in 850e5c0.
2012-11-18 08:52:50 +01:00
Xidorn Quan
8ee6db393c mov: add more udta meta data recognition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 14:12:37 +01:00
Carl Eugen Hoyos
850e5c041d Read QuickTime version 1 audio fields in broken mov files.
Matrox XMIO capture boards write files with major brand "JUNK"
and compatible brand "qt  " that contain QuickTime version 1
audio fields.

Fixes ticket #1881.
2012-11-15 14:38:19 +01:00
Michael Niedermayer
87d073eacc mov: Dont try to calculate with unknown durations, fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 14:08:44 +01:00
Michael Niedermayer
4392e69ad4 mov: check stps correctly, avoid overreading 1 element.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 21:45:53 +01:00
Michael Niedermayer
03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
  doc: git-howto: Leave reviewers time to react before pushing patches
  Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
  lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/git-howto.texi
	ffmpeg_filter.c
	libavcodec/flacdec.c
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c
	libavcodec/utils.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffer.c
	libavutil/Makefile
	libavutil/audioconvert.h
	libavutil/channel_layout.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Justin Ruggles
a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Michael Niedermayer
eb3dc23705 mov: Make sure no streams after the header lack a timescale.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 13:29:23 +01:00
Michael Niedermayer
58c2c17f1d mov_probe: use correct variable
Fixes CID739867
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 00:24:25 +02:00
Carl Eugen Hoyos
2fdc6f355c Do not detect mov with maximum score if the atom size is too small.
Fixes mpegts-in-mov, ticket #987 / issue 2223.
2012-10-23 22:41:15 +02:00
Carl Eugen Hoyos
fa190b3cd7 Improve MPEG-PS-in-MOV detection.
Fixes issue 1520.
2012-10-21 19:30:43 +02:00
Michael Niedermayer
217193facd bavformat/mov: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Petter Ericson
7abf394814 mov.c: Check for stsd + m1s tag indicating MOV-wrapped MPEG-PS, and force continued probing if found.
Fixes Ticket241
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 16:07:49 +02:00
Michael Niedermayer
a4fe661157 mov_probe: fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 17:50:14 +02:00
Michael Niedermayer
adbb75dbd8 mov: fix time types related to mov_metadata_creation_time
Fixes Ticket1817
Based on patch by: Przemyslaw Wesolek <przemyslaw.wesolek@go.art.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 02:48:30 +02:00
Michael Niedermayer
6d55a40b00 mov: print warning if ff_get_wav_header() fails
Fixes CID717497
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 20:21:31 +02:00
Michael Niedermayer
d067e25437 mov: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
f7f5370b4b mov: add option to ignore edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:18:46 +02:00
Michael Niedermayer
594b1fcb28 mov: add av_dlog() to dump edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:50:18 +02:00
Michael Niedermayer
3ceeb01c06 mov: only print multiple edit lists warning for actually unsupported cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:44:35 +02:00
Michael Niedermayer
c0209facd2 mov: remove default of 1024 sample skip for aac.
It is not correct in all cases and it is less predictable than a skip of 0
for user applications.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 20:30:37 +02:00
Michael Niedermayer
5864ce13d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: read Xing frame TOC index
  mp3dec: use named constants for Xing header flags
  libx264: add support for nal-hrd, required for Blu-ray streams.
  mov: support random access point grouping
  matroskadec: properly support BlockDuration

Conflicts:
	libavcodec/libx264.c
	libavformat/isom.h
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 21:46:35 +02:00
Michael Niedermayer
168bc5f2c5 mov: fix 32/64 format type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 23:36:35 +02:00
Yusuke Nakamura
d17d0ec8c2 mov: support random access point grouping
Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:15 +02:00
Michael Niedermayer
67d501b4f1 Merge commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c'
* commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c':
  mpegvideo: move frame size dependent memory management to separate functions
  configure: add --toolchain option
  configure: Make the smoothstreaming muxer enable the ismv muxer
  smoothstreaming: Export the mp4 codec tags
  mov: check for EOF in long lasting loops
  avcodec: cleanup utils.c
  binkaudio: remove unneeded GET_BITS_SAFE macro
  binkaudio: use float sample format
  binkaudio: use a different value for the coefficient scale for the DCT codec

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:13:53 +02:00
Luca Barbato
9888ffb1ce mov: check for EOF in long lasting loops
A quite widespread pattern in the demuxer is read a 32bit unsigned
integer and then loop till this value is reached.

Checking for EOF prevents pathological situations.
2012-09-18 15:32:52 +02:00
Michael Niedermayer
291b220377 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: flush filtered frames before reconfiguring filters
  mov: stsd entries must be at least 16 byte
  mov: detect EOF in mov_read_dref()
  file: return proper error on seek failures

Conflicts:
	libavformat/file.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 15:15:43 +02:00
Michael Niedermayer
a5ea623b36 mov: stsd entries must be at least 16 byte
Fix near infinite loop in stsd parsing.
Bug found by: Diana Elena Muscalu

The size is unsigned according the specification.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:53:06 +02:00
Michael Niedermayer
9db67bedf0 mov: detect EOF in mov_read_dref()
Avoid a near infinite loop.
Issue discovered by cosminamironesei.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:31:03 +02:00
Michael Niedermayer
fa85118510 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Pass a separate AVIOContext for reading
  af_asyncts: check return value from lavr when flushing.
  mss2: simplify loop in decode_rle()
  mss12: avoid unnecessary division in arith*_get_bit()
  mss2: do not try to read too many palette entries
  mpegvideo: set AVFrame fields to NULL after freeing the base memory
  configure: Set the right cc_e flags for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:50:24 +02:00
Samuel Pitoiset
9afb7061f9 mov_chan: Pass a separate AVIOContext for reading
This fixes crashes when called from rtpdec_qt, where
AVFormatContext->pb is null, a crash present since 3bab7cd128.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-07 10:49:35 +03:00
Piotr Bandurski
5081310b58 lavf: add missing new line to some error messages 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:35:21 +02:00
Michael Niedermayer
158a70f17a mov: fix av_log int type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 00:22:58 +02:00
Justin Greer
e16fda9236 mov: Change default aac priming fallback from 2112 to 1024
This fixes priming for faac

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:32:31 +02:00