summaryrefslogtreecommitdiff
path: root/libavformat/movenc.h
Commit message (Collapse)AuthorAge
* movenc: Add an option for omitting the tfhd base offsetMartin Storsjö2013-09-17
| | | | | | | | | | This makes the output fragments independent of their position in the output stream, making the output work better when streamed. QuickTime Player doesn't support fragmented mp4 without the base data offset, though. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Write the moof atom in two passesMartin Storsjö2013-09-17
| | | | | | | | | | | This is a bit more work, but avoids having to fill in the data offset field afterwards instead of directly when the rest of the trun atom is written. This simplifies future cases where this field needs to be set to something different. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Make tkhd "enabled" flag QuickTime compatibleJohn Stebbins2013-08-23
| | | | | | | | QuickTime will play multiple audio tracks concurrently if this flag is set for multiple audio tracks. And if no subtitle track has this flag set, QuickTime will show no subtitles in the subtitle menu. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* movenc: add faststart option for web streamingClément Bœsch2013-08-21
| | | | | | | Faststart moves the moov atom to the beginning of the file and rewrites the rest of the file after muxing is complete. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Grow the frag_info array in chunksAndrey Semashev2013-06-04
| | | | | | | | Previously it was grown one element at a time, which leads to excessive reallocations. Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Increase the cluster array allocation by doublingAndrey Semashev2013-06-04
| | | | | | | | | | | | | | The previous allocation increment of 16384 meant that the cluster array was allocated for 0.6 MB initially, which is a bit excessive for cases with fragmentation where only a fraction of that ever actually is used. Therefore, start off at a much smaller value, and increase by doubling (to avoid reallocating too often when writing long non-fragmented mp4 files). Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Keep track of the allocated size for the cluster arrayAndrey Semashev2013-06-04
| | | | | | | | | | | | | When writing fragmented mp4, the cluster array is reset when a fragment is written. Instead of starting off reallocating the array only based on the number of current elements in it, keep track of how many elements there were allocated earlier. This avoids reallocating this array needlessly when writing fragmented mp4 files. Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Change the track struct name to match the typedefMartin Storsjö2013-06-03
| | | | | | | | This makes the struct name (which isn't used anywhere) match the name of the typedef, as for all the other structs declared in this header. Signed-off-by: Martin Storsjö <martin@martin.st>
* Give all anonymously typedeffed structs in headers a nameDiego Biurrun2012-10-06
| | | | Anonymous structs cannot be forward declared and have no benefit.
* movenc: Add a min_frag_duration optionMartin Storsjö2012-03-20
| | | | | | | | The other fragmentation options (frag_duration, frag_size and frag_keyframe) are combined with OR, cutting fragments at the first of the conditions being fulfilled. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Buffer the mdat for the initial moov fragment, tooMartin Storsjö2012-02-22
| | | | | | | | | | | | This allows writing QuickTime-compatible fragmented mp4 (with a non-empty moov atom) to a non-seekable output. This buffers the mdat for the initial fragment just as it does for all normal fragments, too. Previously, the resulting atom structure was mdat,moov, moof,mdat ..., while it now is moov,mdat, moof,mdat. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Support muxing VC1Martin Storsjö2012-02-14
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: cosmetics: Get rid of camelCase identifiersMartin Storsjö2012-01-30
| | | | | | | Also add spacing around operators on touched lines, and split one line to match the common style. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Support adding isml (smooth streaming live) metadataMartin Storsjö2012-01-27
| | | | | | | This metadata is required for pushing a live stream to an IIS publishing point. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a separate ismv/isma (smooth streaming) muxerMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Allow the caller to decide on fragmentationMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add support for writing fragmented mov filesMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a separate start_ptsMartin Storsjö2012-01-25
| | | | | | | | This fixes calculation of trackDuration if the MOVIentry array is cleared. This is required by the fragmentation support in the next patch. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Reorder entries in the MOVIentry struct, for tigheter packingMartin Storsjö2012-01-21
| | | | | | | | | | | | | Originally, sizeof(struct MOVIentry) was 48, after the reordering, it is 40 in my build configuration. When writing really long mov/mp4 files, this can make a difference - this saves a bit over 2 MB of memory per hour of video (down to 10.3 MB per hour from 12.3 MB per hour initially) for a video with 75 packets per second - 25 fps + 50 audio packets (which is the case for AMR audio). Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Rudimentary IODs support.Alex Converse2011-12-15
|
* movenc: Use the actual converted sample for RTP hintingMartin Storsjö2011-12-11
| | | | | | | | | | | | | If an annex b bitstream is muxed into mov, the actual written sample is reformatted to mp4 syntax before writing. Currently, the RTP hints that copy data from the normal video track, where the payload data might be offset compared to the original sample that the RTP hinting used (when 3 byte annex b startcodes have been converted into 4 byte mp4 format startcodes). Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace outdated references to ffmpeg tool with avconv.Diego Biurrun2011-11-02
|
* movenc: Add RTP muxer/hinter optionsMartin Storsjö2011-06-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Deprecate the global RTP hinting flag, use a private AVOption insteadMartin Storsjö2011-05-27
| | | | | | Instead of -fflags rtphint, set -movflags rtphint instead. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add an AVClass for setting muxer specific optionsMartin Storsjö2011-05-27
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Use a heuristic for describing the RTP packets using sample dataMartin Storsjö2010-05-18
| | | | Originally committed as revision 23165 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add initial support for RTP hinting in the mov muxerMartin Storsjö2010-05-18
| | | | Originally committed as revision 23164 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make mov_write_packet non-static, add ff_ prefixMartin Storsjö2010-05-18
| | | | Originally committed as revision 23163 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move the mov muxer structures to a separate headerMartin Storsjö2010-05-18
Originally committed as revision 23162 to svn://svn.ffmpeg.org/ffmpeg/trunk