summaryrefslogtreecommitdiff
path: root/libavformat/movenc.c
Commit message (Collapse)AuthorAge
* 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>
* movenc: Write chan atom for all audio tracks in mov mode movies.Alex Converse2012-06-04
|
* movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.Alex Converse2012-05-25
| | | | | It's left over from stsd v0. QuickTime 7 no longer writes 'wave' or 'enda' when 'lpcm' is the audio tag.
* movenc: Support high sample rates in isomedia formats by setting the sample ↵Alex Converse2012-04-20
| | | | | | rate field in stsd to 0. Libisomediafile appears to always set this field to zero.
* movenc: Remove a dead initializationAlex Converse2012-04-12
|
* movenc: small refactor mov_write_packetLuca Barbato2012-04-11
| | | | | | | | | | Share the formerly internal write_packet with the hinter and move the fragment flush logic to the user facing one since it is not concerned about movtrack-only streams. Fixes bug #263 Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: remove redundant checkLuca Barbato2012-04-11
| | | | | | The proper check is already in mov_write_header. Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Align muxer/demuxer declarationsMartin Storsjö2012-04-06
| | | | | | | Also add missing trailing commas, break long codec_tag lines and add spaces in codec_tag declarations. Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace memset(0) by zero initializations.Diego Biurrun2012-03-28
| | | | Also remove one pointless zero initialization in rangecoder.c.
* movenc: Merge if statementsMartin Storsjö2012-03-25
| | | | | | | | This isn't exactly equivalent with the earlier code for codecs other than H264 and VC1, but those are two only codecs supported by this codepath anyway, and it simplifies it a bit. Signed-off-by: Martin Storsjö <martin@martin.st>
* avc: Add a function for converting mp4 style extradata to annex bMartin Storsjö2012-03-24
| | | | | | | Make movenc use this function instead of the current custom conversion function. Signed-off-by: Martin Storsjö <martin@martin.st>
* 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: use timestamps instead of frame_size for samples-per-packetJustin Ruggles2012-02-27
| | | | | | For encoding, AVCodecContext.frame_size is the number of input samples to send to the encoder and does not necessarily correspond directly to the timestamps of the output packets.
* movenc: use the first cluster duration as the tfhd default durationJustin Ruggles2012-02-27
|
* movenc: factorize calculation of cluster duration into a separate functionJustin Ruggles2012-02-27
|
* rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTSMartin Storsjö2012-02-23
| | | | | | This simplifies adding more flags to the macro. 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>
* 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>
* movenc: Write the unknown duration as 64 bit fields in ismvMartin Storsjö2012-02-18
| | | | | | | This is required for the files to play back properly in windows media player. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Write track durations with all bits set if duration is unknownMartin Storsjö2012-02-18
| | | | | | | | According to 14496-12, the duration should be all 1s if the duration is unknown. This is the case if writing a moov atom without any samples described in it (e.g. as in ismv files). Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Don't set a default sample duration when creating ismvMartin Storsjö2012-02-16
| | | | 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>
* movenc: Support muxing VC1Martin Storsjö2012-02-14
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Support muxing wmapro in ismv/ismaMartin Storsjö2012-02-13
| | | | 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: Allow writing to a non-seekable output if using empty moovMartin Storsjö2012-01-27
| | | | | | | | | | In this mode, no seeks will be done except for within moov/moof fragments, which should fit within the AVIOContext buffer. This allows pushing live smooth streaming format data to a live publishing point on IIS over http. 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>
* lavf: remove disabled FF_API_TIMESTAMP cruftAnton Khirnov2012-01-27
|
* lavf: remove disabled FF_API_FLAG_RTP_HINT cruftAnton Khirnov2012-01-27
|
* movenc: Don't require frame_size to be set for modes other than movMartin Storsjö2012-01-25
| | | | | | | | | The field frame_size isn't written to the output anywhere except than in mov. This facilitates stream copy from formats that don't set frame_size. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Reindent a blockMartin Storsjö2012-01-25
| | | | | | | Also add some space around operators and wrap a comment that extends past the 80 char "limit"/guideline. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Write the sample rate instead of time scale in the stsd atomMartin Storsjö2012-01-25
| | | | | | | For ismv/isma, the time scale might not be the same as the sample rate. 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: Don't store a nonzero creation time if nothing was set by the callerMartin Storsjö2012-01-10
| | | | | | | | | If the creation time is stored in the file as a zero, the mov demuxer skips exporting the creation time. Currently, files muxed without a creation time get demuxed with a Jan 1st 1970 creation timestamp. Signed-off-by: Martin Storsjö <martin@martin.st>
* 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.
* movenc: Rudimentary IODs support.Alex Converse2011-12-15
|
* 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>
* Remove extraneous semicolonsMans Rullgard2011-12-11
| | | | | | These semicolons cause invalid empty top-level declarations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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>
* Fix a bunch of common typos.Diego Biurrun2011-12-11
|
* movenc: write 'chan' tag for AC-3 in MOVJustin Ruggles2011-12-09
|
* 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.
* movenc: simplify handling of pcm vs. adpcm vs. other compressed codecsJustin Ruggles2011-12-09
| | | | | | Use Sound Sample Description Version 2 for all MOV files. Updated FATE references accordingly. Note that ADPCM is treated as compressed audio in version 2.
* lavf: make av_set_pts_info private.Anton Khirnov2011-11-30
| | | | It's supposed to be called only from (de)muxers.
* movenc: Set a correct packet size for AMR-NB mode 15, "no data"Carl Eugen Hoyos2011-11-05
| | | | | | | | | These packets are valid packets, and consist of 1 byte (which contains the mode bits). This had been analyzed and reported by Igor Levin, igor d levin comverse com. Signed-off-by: Martin Storsjö <martin@martin.st>