summaryrefslogtreecommitdiffstats
path: root/libavformat/mov.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * mov: avoid a memleak when multiple stss boxes are presentAnton Khirnov2014-12-191-0/+1
| | | | | | | | | | CC: libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* | wavdec: RIFX file format supportThomas Volkert2014-12-181-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mov: fix integer overflow of sizeMichael Niedermayer2014-12-161-3/+3
| | | | | | | | | | | | Fixes: case1_call_stack_overflow.mp4 Found-by: Michal Zalewski <lcamtuf@coredump.cx> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mov: check atom nesting depthMichael Niedermayer2014-12-161-1/+12
| | | | | | | | | | | | | | Fixes call stack overflow Fixes: case1_call_stack_overflow.mp4 Found-by: Michal Zalewski <lcamtuf@coredump.cx> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40'Michael Niedermayer2014-12-161-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40': mov: Fix handling of zero-length metadata values Conflicts: libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: Fix handling of zero-length metadata valuesMartin Storsjö2014-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 3cec81f4d4, a zero-length metadata value would try to allocate 2*0 bytes, where av_malloc() returns NULL. Always add one to the allocated length, to allow space for a null terminator in the zero-length case. Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler bug seems to mess up the mov muxer to the point that it writes the wrong sort of metadata. Previously this bug was undetected, but since 3cec81f4d4 such mov files started returning AVERROR(ENOMEM) in the mov demuxer. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/mov: Simplify code by using OFFSET() and FLAGS macrosMichael Niedermayer2014-12-131-9/+9
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mov: Disable XMP metadata by defaultMichael Niedermayer2014-12-111-1/+1
| | | | | | | | | | | | | | | | | | This was suggested by cbsrobot, ubitux and koda There are files with huge amounts of XMP data, which would otherwise be displayed in the terminal output of FFmpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '3c01039e0bc7d269900e15551f8171c4328a0223'Michael Niedermayer2014-12-091-0/+16
|\ \ | |/ | | | | | | | | | | * commit '3c01039e0bc7d269900e15551f8171c4328a0223': mov: further expand the list of parsed metadata tags Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: further expand the list of parsed metadata tagsDave Rice2014-12-081-0/+18
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14'Michael Niedermayer2014-12-081-0/+19
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14': mov: expand the list of parsed metadata tags Conflicts: libavformat/mov.c See: 543f3db9784348499a1ac1088373e2fb9100d4c0 See: dadf668df20e041b330fa4d3c5feb32a3f495d32 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: expand the list of parsed metadata tagsVittorio Giovara2014-12-081-0/+23
| | | | | | | | Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
* | Merge commit 'b704b648f9ecb830874627db958a37e004107d1b'Michael Niedermayer2014-12-081-13/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b704b648f9ecb830874627db958a37e004107d1b': mov: parse XMP metadata on demand Conflicts: libavformat/isom.h libavformat/version.h See: 054c506e3da35471ea92dbedcaaf720d0754f04e The default is left unchanged at enabled We can change the default if people prefer but i do not want to do that in a merge. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: parse XMP metadata on demandVittorio Giovara2014-12-081-0/+4
| | | | | | | | | | | | | | | | | | The Extensible Metadata Platform tag can contain various kind of data which are not strictly related to the video file, such as history of edits and saves from the project file. So display XMP metadata only when the user explicitly requires it. Based on a patch by Marek Fort <marek.fort@chyronhego.com>.
* | Merge commit '174c5fde90060faab67796a5eaef742630f1db6e'Michael Niedermayer2014-12-081-7/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '174c5fde90060faab67796a5eaef742630f1db6e': mov: parse @PRM and @PRQ metadata tags Conflicts: libavformat/mov.c See: f540851ce320bc69621ea70b89857c54129c82c2 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: parse @PRM and @PRQ metadata tagsVittorio Giovara2014-12-081-3/+6
| | | | | | | | | | | | | | | | | | These tags describe the product and quicktime library version respectively. They originate from Adobe Premiere, but also some other programs use them. Contrary to other tags, they contain 'raw' data which is not to be interpreted as iso639 or mac strings. Based on a patch by Peter Ross <pross@xvid.org>.
* | Merge commit '35384934d6e27e0334060a23a0c83a3cb5cef198'Michael Niedermayer2014-12-081-36/+36
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '35384934d6e27e0334060a23a0c83a3cb5cef198': mov: cosmetics: reorder the list of tags Conflicts: libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: cosmetics: reorder the list of tagsVittorio Giovara2014-12-081-29/+29
| | | | | | | | | | Alphabetically order the list by the tag to facilitate the insertion of new ones.
| * mov: skip version and flags attributes in mov_read_chan()Matthieu Bouron2014-12-051-0/+3
| | | | | | | | | | | | | | | | | | Fixes decting channel layout for files with uncommon audio, such as FL and FR in two separate streams. Introduced in 3bab7cd. CC: libav-devel@libav.org Sample-Id: ticket1474.mov Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '3cec81f4d4f26b62bc2d22bb450bbf51ec3a7f09'Michael Niedermayer2014-12-021-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '3cec81f4d4f26b62bc2d22bb450bbf51ec3a7f09': mov: allocate the tag value dynamically Conflicts: libavformat/mov.c See: f31445a82d6acd0b8fab5a26c04e91645f4854d8 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: allocate the tag value dynamicallyThilo Borgmann2014-12-021-5/+10
| | | | | | | | | | | | | | | | This allows to load metadata entries longer than 1024 bytes. Displaying them is still limited to 1024 characters, but applications can load them fully now. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'e352b293712ff7cbde67eba3ce3f8510b037de09'Michael Niedermayer2014-12-021-11/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit 'e352b293712ff7cbde67eba3ce3f8510b037de09': mov: Add an option for exporting all metadata Conflicts: libavformat/isom.h libavformat/mov.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: Add an option for exporting all metadataVittorio Giovara2014-12-021-7/+18
| |
* | Merge commit '5639ed9abb58311f82cf3499b682d228290adb09'Michael Niedermayer2014-12-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '5639ed9abb58311f82cf3499b682d228290adb09': mov: do not truncate the language-prefixed tag Conflicts: libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: do not truncate the language-prefixed tagVittorio Giovara2014-12-021-1/+1
| |
* | avformat/mov: change conjugation for "Duplicate"Clément Bœsch2014-11-271-7/+7
| |
* | avformat/mov: strengthen some table allocationsClément Bœsch2014-11-271-21/+27
| |
* | avformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atomsMichael Niedermayer2014-11-261-0/+8
| | | | | | | | | | | | | | | | | | Also see [FFmpeg-devel] [PATCH] avformat/mov: strengthen some table allocations which contains more fixes but is unfinished Fixes: signal_sigabrt_7ffff6ac7bb9_3484_cov_1830000177_starfox2.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '2007082d2db25f9305b8a345798b840ea7784fdb'Michael Niedermayer2014-11-181-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '2007082d2db25f9305b8a345798b840ea7784fdb': mov: check ff_get_wav_header() return value Conflicts: libavformat/mov.c See: 6d55a40b00801899f7975b22401bdd96bbc228af Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: check ff_get_wav_header() return valueVittorio Giovara2014-11-181-3/+1
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 717497
* | mov.c: fix handling of seek return in read_mfraMika Raento2014-11-151-8/+14
| | | | | | | | | | | | this would cause mfra to be ignored in files larger than 2G Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '82ee7d0dda0fec8cdb670f4e844bf5c2927ad9de'Michael Niedermayer2014-10-261-2/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '82ee7d0dda0fec8cdb670f4e844bf5c2927ad9de': Use gmtime_r instead of gmtime and localtime_r instead of localtime Conflicts: libavformat/mov.c libavformat/mxfenc.c libavformat/wtvdec.c libavutil/parseutils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Use gmtime_r instead of gmtime and localtime_r instead of localtimeMartin Storsjö2014-10-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | gmtime isn't thread safe in general. In msvcrt (which lacks gmtime_r), the buffer used by gmtime is thread specific though. One call to localtime is left in avconv_opt.c, where thread safety shouldn't matter (instead of making avconv depend on the libavutil internal header). Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '9dcf2397219ca796f0fafce2a703770d6fd09920'Michael Niedermayer2014-10-261-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '9dcf2397219ca796f0fafce2a703770d6fd09920': lavf: Check the return value of strftime Conflicts: libavformat/wtvdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: Check the return value of strftimeMartin Storsjö2014-10-261-2/+2
| | | | | | | | | | | | | | | | If the buffer provided to strftime is too small, the buffer contents are indeterminate - it does not guarantee actually null terminating the buffer. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '50dbe6b3544fa64d5611e16553bf542fd71276b8'Michael Niedermayer2014-10-251-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '50dbe6b3544fa64d5611e16553bf542fd71276b8': mov: fix assigment check Conflicts: libavformat/mov.c See: af2e5061bbcabf5eae780929fa25784b6127759e Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: fix assigment checkVittorio Giovara2014-10-241-1/+1
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1197050
* | mov.c: reasonable bitrate for fragmented mp4Mika Raento2014-10-211-0/+11
| | | | | | | | | | | | | | | | If using MFRA for timestamps, the stream may start from a large offset and/or have gaps. With this change we calculate the bitrate based on frames we've seen. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mov.c: Prevent memory leak in case of invalid metadata reads.Thilo Borgmann2014-10-211-6/+8
| | | | | | | | | | Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mov.c: Allocate buffer in case of long metadata entries.Thilo Borgmann2014-10-201-6/+12
| | | | | | | | | | | | Fixes ticket #4018 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '74b02377980321934e33969c84733ace7e9f4eeb'Michael Niedermayer2014-10-151-1/+2
|\ \ | |/ | | | | | | | | | | * commit '74b02377980321934e33969c84733ace7e9f4eeb': mov: Correctly check the color transfer characteristics range Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: Correctly check the color transfer characteristics rangeVittorio Giovara2014-10-151-1/+2
| | | | | | | | Reported-by: Ruoyu <liangry@ucweb.com>
* | avformat/mov: auodetect "use_mfra_for"Michael Niedermayer2014-10-151-2/+27
| | | | | | | | | | Reviewed-by: Mika Raento <mikie@iki.fi> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a'Michael Niedermayer2014-10-141-0/+31
|\ \ | |/ | | | | | | | | | | * commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a': mov: Handle tfdt atoms Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mov: Handle tfdt atomsMartin Storsjö2014-10-141-0/+31
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/mov: fix mix of declaration and statementMichael Niedermayer2014-10-131-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mov.c: allow reading fragment start dts/pts from fragmented mp4Mika Raento2014-10-131-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a new option to the mov demuxer: -use_mfra_for (pts|dts). When it's given and moofs and a MFRA are present, the MFRA's TFRAs are read for fragment start times. Unfortunately some programs that produce fragmented mp4s use the TFRA time field for dts and some for pts. There is no realistic way to detect which is the case, hence the responsibility is punted onto the user. This also means that no behavioural change is enabled by default - you must pass either dts or pts for anything to happen. Without this change, timestamps for some discontinuous fragmented mp4 are wrong, and cause audio/video desync and are not usable for generating HLS. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mov: E-AC-3 streams need parsing too.Benoit Fouet2014-10-091-0/+1
| | | | | | | | | | | | | | syncframes in E-AC-3 can be combined to provide 6 audio blocks per sample, thus requiring parsing for proper decoding. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mov: Fix 'warning: format specifies type unsigned short but the ↵Michael Niedermayer2014-10-091-1/+1
| | | | | | | | | | | | argument has type int' Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6'Michael Niedermayer2014-10-091-0/+69
|\ \ | |/ | | | | | | | | | | * commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6': mov: support the Color Parameter Atoms 'colr' Merged-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud