summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
Commit message (Collapse)AuthorAge
* 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>
* movdec: Avoid av_malloc(0) in stssAlex Converse2012-02-03
| | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* movdec: Parse the dvc1 atomMartin Storsjö2012-02-02
| | | | | | | | | | Normally, the actual payload data contains sequence headers, too, and the parser can extract this and set it as extradata. However, the data in the dvc1 atom is the "official" extradata for the file. This is required for proper stream copy of vc1 from ismv to ismv. Signed-off-by: Martin Storsjö <martin@martin.st>
* movdec: fix dts generation in fragmented filesJanne Grunau2012-02-02
| | | | | | | Do not use AVStream's duration for dts generation since it contains in some cases the duration of the whole file instead of duration of the samples in the moov. This happens if the mdhd holds the duration of the whole file but has no entries or a zero duration in its stts.
* movdec: Ignore sample_degradation_priority bits when checking first_sample_flagsMartin Storsjö2012-01-31
| | | | | | | | | | | This makes the first packet of a track fragment run to get the keyframe flag set properly if sample_degradation_priority is nonzero. This makes the keyframes flag be set properly for ismv files created by Microsoft. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov2012-01-27
|
* movdec: Calculate an average bit rate for fragmented streams, tooMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Remove dead stores for spherical coordinates for channel position.Alex Converse2012-01-18
|
* mov, mxfdec: Employ more meaningful return values.Daniel Huang2012-01-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.Alex Converse2012-01-05
|
* mov: Don't stick the QuickTime field ordering atom in extradata.Alex Converse2011-12-21
| | | | | | The 'fiel' atoms can be found in H.264 tracks clobbering the extradata. MJPEG supports non field based extradata, and this data should be preserved when copying.
* lavu: replace int/float punning functionsMans Rullgard2011-12-11
| | | | | | | | | | | | | | | | | | The existing functions defined in intfloat_readwrite.[ch] are both slow and incorrect (infinities are not handled). This introduces a new header with fast, inline conversion functions using direct union punning assuming an IEEE-754 system, an assumption already made throughout the code. The one use of Intel/Motorola extended 80-bit format is replaced by simpler code sufficient under the present constraints (positive normal values). The old functions are marked deprecated and retained for compatibility. Signed-off-by: Mans Rullgard <mans@mansr.com>
* mov: add support for reading and writing the 'chan' tagJustin Ruggles2011-12-09
| | | | | | This implements reading the tag in the demuxer and adds support for writing it in the muxer. Some example channel layout tables for muxing are included for ac3, aac, and alac, but they are not utilized yet.
* mov: Don't av_malloc(0).Alex Converse2011-12-05
| | | | | | | malloc() is allowed to return NULL when zero is the argument. This causes us to think malloc has failed and return AVERROR(ENOMEM). In addition OS X malloc() returns an unfreeable non-NULL pointer for size zero when alignment is greater than 16.
* mov: Allow empty stts atom.Alex Converse2011-12-04
| | | | Fixes regressions caused by 30c3d976
* lavf: make av_set_pts_info private.Anton Khirnov2011-11-30
| | | | It's supposed to be called only from (de)muxers.
* mov: Make format string match variable type.Alex Converse2011-11-26
|