summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
Commit message (Collapse)AuthorAge
* 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>
* mov: Fix detecting there is no sync sample.Yusuke Nakamura2012-04-13
| | | | | | Stss atom without entries doesn't mean every sample is a sync sample. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: don't overwrite existing indexes.Ronald S. Bultje2012-03-29
| | | | | | | | Prevents all kind of badness if files contain multiple indexes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* mov: Do not read past the end of the ctts_data table.Alex Converse2012-03-22
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* mov: Allow last chunk to have an arbitrary number of samples.Carl Eugen Hoyos2012-03-06
| | | | | | | Fixes ticket #673. (cherry picked from commit 8dcd2a41ecff8cc1e9b20cc267df54c59878ab3b) Signed-off-by: Alex Converse <alex.converse@gmail.com>
* mov: do not set AVCodecContext.frame_sizeJustin Ruggles2012-03-05
| | | | It is not necessary.
* lavc: deprecate AVCodecContext.color_table_id.Anton Khirnov2012-02-29
| | | | | It's currently only used as temporary storage by the mov demuxer. Make it use a local variable instead.
* mov: set channel layout for AC-3 streams based on the 'dac3' atom infoJustin Ruggles2012-02-22
| | | | fixes Bug 225
* movdec: Don't parse all fragments if ignidx is setMartin Storsjö2012-02-22
| | | | | | | | | | In nonseekable files, we already stop parsing the toplevel atoms after finding moov and one mdat. In large seekable files (or files that are seekable, but slowly, e.g. http), reading all the fragments at the start can take a considerable amount of time. This allows opting out from this behaviour. Signed-off-by: Martin Storsjö <martin@martin.st>
* movdec: Restart parsing root-level atoms at the right spotMartin Storsjö2012-02-22
| | | | | | | | | | | If parsing moov+mdat in a non-seekable file, we currently abort parsing directly after parsing the header of the mdat atom. If we want to continue parsing later (if looking to parse later fragments), we need to skip past the content of the mdat atom, otherwise we end up parsing the content of the mdat atom as root level atoms. Signed-off-by: Martin Storsjö <martin@martin.st>
* movdec: Adjust keyframe flagging in fragmented filesMartin Storsjö2012-02-21
| | | | | | | | | | | | | | For video, mark the first sample in a trun which doesn't have the sample-is-non-sync-sample flag set as a keyframe. In particular, the "sample does not depend on other samples" flag isn't enough to make it a keyframe, since later frames still can reference frames prior to that one (the flag only says that that particular frame doesn't depend on other frames). This fixes bug 215. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Use defines for sample flags in fragmentsMartin Storsjö2012-02-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Use defines for trun flagsMartin Storsjö2012-02-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Use defines for tfhd flagsMartin Storsjö2012-02-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Add an ff_ prefix to some lavf internal symbolsMartin Storsjö2012-02-15
| | | | | | | | | | Prefix the functions/tables brktimegm, pcm_read_seek, dv_offset_reset, voc_get_packet, codec_movaudio_tags, codec_movvideo_tags. After this, lavf has no global symbols without the proper prefix. Signed-off-by: Martin Storsjö <martin@martin.st>