summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
Commit message (Collapse)AuthorAge
* lavf: Reset the entry count and allocation size variables on av_reallocp ↵Martin Storsjö2013-09-26
| | | | | | | | | | | | | | failures When av_reallocp fails, the associated variables that keep track of the number of elements in the array (and in some cases, the separate number of allocated elements) need to be reset. Not all of these might technically be needed, but it's better to reset them if in doubt, to make sure variables don't end up conflicting. Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Use av_reallocp() where suitableAlexandra Khirnova2013-09-18
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mov: Don't use a negative duration for setting other fieldsMartin Storsjö2013-09-17
| | | | | | | | | | Some files have the duration set to -1 in the mdhd atom, more or less legitimately. (We produce such files ourselves, for the initial duration in fragmented mp4 files.) Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Use av_reallocp_array() where suitableAlexandra Khirnova2013-09-10
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mov: Parse tmcd extradataLuca Barbato2013-08-25
|
* mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsdLuca Barbato2013-08-24
|
* mov: Refactor codec specific final steps in mov_finalize_stsd_codecLuca Barbato2013-08-24
|
* mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitleLuca Barbato2013-08-24
|
* mov: Refactor audio specific parsing in mov_parse_stsd_audioLuca Barbato2013-08-24
|
* mov: Refactor video specific parsing in mov_parse_stsd_videoLuca Barbato2013-08-24
|
* mov: Refactor codec id selection in mov_codec_idLuca Barbato2013-08-24
|
* mov: use tkhd enabled flag to set the default trackJohn Stebbins2013-08-23
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mov: Do not allow updating the time scale after it has been setMartin Storsjö2013-07-15
| | | | | | | | | | | | The time scale is set in mdhd, and later validated in the enclosing trak atom once all of its children have been parsed. A loose mdhd atom outside of a trak atom could update the time scale of the last stream without any validation. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Cc: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Seek back if overreading an individual atomMartin Storsjö2013-07-15
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Cc: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* Remove commented-out debug #define cruftDiego Biurrun2013-05-16
|
* avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriateDiego Biurrun2013-05-04
|
* Move misplaced file author information where it belongsDiego Biurrun2013-04-11
|
* avformat: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-13
|
* lavf: remove disabled FF_API_R_FRAME_RATE cruftAnton Khirnov2013-03-11
|
* mov: use the format context for logging.Anton Khirnov2013-02-23
| | | | CC:libav-stable@libav.org
* mov: handle h263 and flv1 for codec_tag 'H','2','6','3'Janne Grunau2012-12-19
| | | | | | | | | | 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 5442083b1c541dd166b3adf39131259fc846a62b by Carl Eugen Hoyos. Fixes bug 393.
* mov: validate number of DataReferenceBox entries against box sizeJanne Grunau2012-12-07
| | | | | Avoids a 2G memory allocation and parsing of random data in mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.
* mov: compute avg_frame_rate only if duration is knownJanne Grunau2012-12-07
| | | | Fixes an assert in fuzzed sample sample.mp4_s265930.
* lavf: add a common function for selecting a pcm codec from parametersJustin Ruggles2012-11-28
|
* Include libavutil/channel_layout.h instead of libavutil/audioconvert.hJustin Ruggles2012-11-11
| | | | Also reorder some other #include when applicable.
* mov: support random access point groupingYusuke Nakamura2012-09-19
| | | | | | | | | 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>
* mov: check for EOF in long lasting loopsLuca Barbato2012-09-18
| | | | | | | 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.
* mov: stsd entries must be at least 16 byteMichael Niedermayer2012-09-16
| | | | | | | | | | 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>
* mov: detect EOF in mov_read_dref()Michael Niedermayer2012-09-16
| | | | | | | | 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>
* mov_chan: Pass a separate AVIOContext for readingSamuel Pitoiset2012-09-07
| | | | | | | 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>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* Improve descriptiveness of a number of codec and container long namesDiego Biurrun2012-07-30
|
* lavf: deprecate r_frame_rate.Anton Khirnov2012-07-29
| | | | | | | | | | | | | | | | | | | | 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.
* avformat: move 'chan' tag parsing to mov_chan.c to share with the CAF demuxerJustin Ruggles2012-07-19
|
* mov: use forward declaration of a function instead of a table.Ronald S. Bultje2012-07-04
| | | | | MSVC gives a compile error on the tentative definition of mov_default_parse_table[].
* mov: read itunes cover art.Anton Khirnov2012-07-02
|
* mov: do not try to read total disc/track number if data atom is too short.Carl Eugen Hoyos2012-06-26
| | | | | | Fixes bug 308. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mov: make a length variable larger.Anton Khirnov2012-06-24
| | | | | Right now, it's uint16_t, but for itunes metadata a 32bit number is stored in it.
* mov: fix operator precedence bugRonald S. Bultje2012-06-20
|
* mov: Support muxing/demuxing iLBCMartin Storsjö2012-06-18
| | | | | | | The packet size, signalled via block_align, has to be passed via the container. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: set AVCodecContext.width/height for h264Mans Rullgard2012-06-09
| | | | | | | This is required for correct cropping of files from Canon cameras. Signed-off-by: Mans Rullgard <mans@mansr.com>
* mov: enable parsing for VC-1.Anton Khirnov2012-05-18
| | | | | This makes lavf discard broken timestamps for non-B frames in samples/isom/vc1-wmapro.ism.
* mov: make one comment slightly more specificDiego Biurrun2012-05-09
|
* mov: Remove write-only variable in mov_read_chan().Diego Biurrun2012-05-07
| | | | libavformat/mov.c:597:25: warning: variable ‘cflags’ set but not used
* Mark a number of variables only used in av_dlog() calls as av_unused.Diego Biurrun2012-05-06
| | | | This fixes a number of unused-but-set gcc warnings.
* mov: Parse EC3SpecificBox (dec3 atom).Yusuke Nakamura2012-04-27
| | | | | | | | Skip to parse fields for additional independent substreams and its associated dependent substreams since libavcodec's E-AC-3 decoder does not support them yet. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* mov: Treat keyframe indexes as 1-origin if starting at non-zero.Yusuke Nakamura2012-04-21
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* mov: Take stps entries into consideration also about key_off.Yusuke Nakamura2012-04-21
| | | | | | Splitted files don't start always from a sync sample. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* mov: free memory on header parsing failureDale Curtis2012-04-14
| | | | | | Call mov_read_close when mov_read_header fails. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mov: fix leaking memory with multiple drefs.Dale Curtis2012-04-14
| | | | | | | | | Instead of allocating over the original, free first. MOVStreamContext is zero initialized so no double free will occur. Same style as other fixes for the same problem in this file. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>