aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
Commit message (Collapse)AuthorAgeFilesLines
* movenc: Apply offsets on timestamps when peeking into interleaving queuesMartin Storsjö2016-06-283-15/+30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* librtmp: Avoid an infiniloop setting connection argumentsLuca Barbato2016-06-221-0/+2
| | | | | | The exit condition was missing. CC: libav-stable@libav.org
* Add TrueMotion 2.0 Real Time decoderPaul B Mahol2016-06-201-0/+1
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Add MagicYUV decoderPaul B Mahol2016-06-202-0/+9
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mov: Support prores with multiple stsdVittorio Giovara2016-06-171-0/+2
| | | | | | This function needs to return false, or data in the additional tables will be skipped, and the decoder will not be able to decode frames associated with them.
* mov: Implement support for multiple sample description tablesVittorio Giovara2016-06-172-6/+127
| | | | | | | | | | | | | | | | Store data from each stsd in a separate extradata buffer, keep track of the stsc index for read and seek operations, switch buffers when the index differs. Decoder is notified with an AV_PKT_DATA_NEW_EXTRADATA packet side data. Since H264 supports this notification, and can be reset midstream, enable this feature only for multiple avcC's. All other stsd types (such as hvc1 and hev1) need decoder-side changes, so they are left disabled for now. This is implemented only in non-fragmented MOVs. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* get_bits: Move BITSTREAM_READER_LE definition before all relevant #includesDiego Biurrun2016-06-071-1/+3
| | | | | | | This avoids the danger that get_bits.h might get indirectly #included before BITSTREAM_READER_LE is defined. Also sort headers into canonical order where appropriate.
* Remove unnecessary get_bits.h #includesDiego Biurrun2016-06-071-1/+2
|
* build: Change structure of the linker version script templatesDiego Biurrun2016-05-291-3/+5
| | | | | | Split version files into one line per symbol/directive to allow compatibility with the Solaris linker without preprocessing and eliminate $ from version file templates to simplify the postprocessing shell command.
* rtsp: Use avcodec_descriptor_get instead of avcodec_find_decoderMartin Storsjö2016-05-251-4/+4
| | | | | | | This is only used for logging a human readable codec name for debugging. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: update muxing doxyAnton Khirnov2016-05-231-3/+3
| | | | Describe the new AVCodecParameters API.
* dump: Drop unused variableDiego Biurrun2016-05-221-1/+0
|
* movenc: Write 'loci' geotag metadata for 3gp and mp4Martin Storsjö2016-05-191-0/+53
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Factorize a function for finding a metadata entry and the associated ↵Martin Storsjö2016-05-191-7/+19
| | | | | | language Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Write ?xyz geotag metadata for mov filesMichael Niedermayer2016-05-191-0/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Also export loci altitudeMichael Niedermayer2016-05-191-2/+7
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Append place name instead of overwriting for lociMichael Niedermayer2016-05-191-3/+3
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Fix parsing short lociMichael Niedermayer2016-05-191-2/+2
| | | | | | | | | | Previously, we required the minimum number of bytes required for the full box. Don't strictly require the astronomical body and additional notes fields, but do require an altitude field (which currently isn't parsed). This matches the initial length check at the start of the function (which doesn't know about the variable length place field). Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Print reason of loci parsing failureMichael Niedermayer2016-05-191-3/+10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Add a comment referring to the standard that defines the loci boxMartin Storsjö2016-05-191-0/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a missed constMartin Storsjö2016-05-181-1/+1
| | | | | | | This was missed in e1eb0fc9601, when ff_interleaved_peek was changed to include const during the evolution of the patch. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a test for VFR with b-frames, with a duration change at a ↵Martin Storsjö2016-05-181-1/+34
| | | | | | fragment end Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Use packets in interleaving queues for the duration at the end of ↵Martin Storsjö2016-05-186-1/+49
| | | | | | | | | | | | | | fragments As long as caller only writes packets using av_interleaved_write_frame with no manual flushing, this should allow us to always have accurate durations at the end of fragments, since there should be at least one queued packet in each stream (except for the stream where the current packet is being written, but if the muxer itself does the cutting of fragments, it also has info about the next packet for that stream). Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc-test: Test write_data_typeMartin Storsjö2016-05-181-1/+44
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* matroskaenc: Provide output bytestream markersMartin Storsjö2016-05-181-0/+7
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Provide output bytestream markers for fragmented contentMartin Storsjö2016-05-181-0/+16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvenc: Provide output bytestream markersMartin Storsjö2016-05-181-0/+4
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Allow custom IO users to get labels for the output bytestreamMartin Storsjö2016-05-184-3/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows callers with avio write callbacks to get the bytestream positions that correspond to keyframes, suitable for live streaming. In the simplest form, a caller could expect that a header is written to the bytestream during the avformat_write_header, and the data output to the avio context during e.g. av_write_frame corresponds exactly to the current packet passed in. When combined with av_interleaved_write_frame, and with muxers that do buffering (most muxers that do some sort of fragmenting or clustering), the mapping from input data to bytestream positions is nontrivial. This allows callers to get directly information about what part of the bytestream is what, without having to resort to assumptions about the muxer behaviour. One keyframe/fragment/block can still be split into multiple (if they are larger than the aviocontext buffer), which would call the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by AVIO_DATA_MARKER_UNKNOWN for the second time it is called with the following data. Signed-off-by: Martin Storsjö <martin@martin.st>
* stereo3d: Add API to get name from value or value from nameVittorio Giovara2016-05-171-29/+2
| | | | Use it in av_dump_format() instead of a huge switch case.
* lavf: Raw G.729 demuxerVladimir Voroshilov2016-05-174-2/+109
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mpegtsenc: stop impersonating ses in sdtFrancois Cartegnie2016-05-171-1/+3
| | | | | | | Unless specified, users must use non registered range for network id Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Combine deprecation guards where appropriateDiego Biurrun2016-05-131-6/+6
| | | | Some code blocks use multiple bits of deprecated API.
* tests: Move all test programs to a subdirectoryDiego Biurrun2016-05-137-6/+12
|
* Split global .gitignore file into per-directory filesDiego Biurrun2016-05-131-0/+1
|
* Reduce the scope of some variablesDiego Biurrun2016-05-111-1/+1
| | | | | This avoids unused variable warnings after the next version bump. Also drop a trace level av_log() call that is in the way.
* rtsp: Parse SSRC attributes in the SDPMartin Storsjö2016-05-112-0/+9
| | | | | | | | | | | | | When feeding input RTP packets to the depacketizer via custom IO, it needs to pick the right stream using the payload type for RTP packets, and using the SSRC for RTCP packets. If the first packet is an RTCP packet, we don't (currently) know the SSRC yet and thus can't pick the right RTP depacketizer to handle it. By parsing the SSRC attribute in the SDP, we can map initial RTCP packets to the right stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Always check if we have the next packet queuedMartin Storsjö2016-05-111-1/+1
| | | | | | | | | | It doesn't matter what the actual reason for not returning an AVPacket was - if we didn't return any packet and we have the next one queued, parse it immediately. (rtp_parse_queued_packet always consumes a queued packet if one exists, so there's no risk for infinite loops.) Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Remove a leftover commentMartin Storsjö2016-05-061-2/+0
| | | | | | | The declarations that this comment referred to were removed in 2439f2ca8 - there is no unbuffered IO in this header now. Signed-off-by: Martin Storsjö <martin@martin.st>
* Mark read-only tables as staticDiego Biurrun2016-05-057-12/+13
|
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-0478-200/+200
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Remove unnecessary get_bits.h #includes and add missing headers where needed.Alexandra Hájková2016-05-045-6/+12
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Drop pointless assert.h #includesDiego Biurrun2016-05-036-14/+0
|
* mpegts: Validate the SL Packet Header ConfigurationLuca Barbato2016-05-031-0/+5
| | | | | | | timeStampLength, OCRLength and AU_Length have well specified upper boundaries. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* rtpdec_vp9: Support parsing the scalability structureMartin Storsjö2016-04-301-2/+58
| | | | | | | | We still only support one single layer though, but this allows receiving streams that have this structure present even for single layer streams. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_h264: Use avpriv_report_missing_feature instead of a manual av_logMartin Storsjö2016-04-301-3/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Use AVERROR_PATCHWELCOME instead of AVERROR(ENOSYS) for ↵Martin Storsjö2016-04-302-2/+2
| | | | | | unimplemented features Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_vp9: Update header parsing to spec draft 02Martin Storsjö2016-04-301-22/+12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_vp9: Make sure to free the temp buffer on closeMartin Storsjö2016-04-301-0/+6
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Update the comment about AVOutputFormat flagsMartin Storsjö2016-04-211-1/+1
| | | | | | Add a flag which applies here, which had been missed. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Handle pts == NOPTS when autoflushingMartin Storsjö2016-04-211-1/+4
| | | | | | | This muxer generally handles pts == NOPTS by using dts instead; do this for consistency here as well. Signed-off-by: Martin Storsjö <martin@martin.st>