summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_hevc.c
Commit message (Collapse)AuthorAge
* lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* cosmetics: Drop empty comment linesDiego Biurrun2016-02-18
|
* Remove stray line breaks from avpriv_{report_missing_feature|request_samples}Diego Biurrun2015-12-26
|
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | This applies to every library where performance is not critical.
* rtpdec_hevc: Drop extra sanity check for size of input packetVittorio Giovara2015-03-09
| | | | | | | In this case len is always at least 3, since it is checked against RTP_HEVC_PAYLOAD_HEADER_SIZE + 1 before entering the switch block. Bug-Id: CID 1238784
* rtpdec: Don't pass non-const pointers to fmtp attribute parsing functionsMartin Storsjö2015-02-24
| | | | | | | This makes it clear that the individual parsing functions can't touch the parsed out value. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Share the implementation of fragmented packets with h264Martin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Reduce indentation level by returning early on errorsMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Share the implementation of parsing a=framesize with h264Martin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Add asterisks at the start of each long comment lineMartin Storsjö2015-02-24
| | | | | | This is the common style for such comments. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Get rid of all trivial .alloc/.free functionsMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Set need_parsing via a handler fieldMartin Storsjö2015-02-24
| | | | | | | This avoids implementing a full function just to set this one field. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Add missing trailing commasMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation unitsMartin Storsjö2015-02-23
| | | | | | | Only the first aggregation unit has 2 bytes (DONL) prepended, if such a field is in use. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Implement parsing of aggregated packetsThomas Volkert2015-02-21
| | | | | | | With significant changes by Martin Storsjö, to use the shared function instead of reimplementing it. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Initialize variables to silence false positive compiler warningsMartin Storsjö2015-02-21
| | | | | | | For some reason, clang didn't warn about this prior to using the shared function. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Use a shared function for parsing parameter setsMartin Storsjö2015-02-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: drop unnecessary checkVittorio Giovara2014-10-20
| | | | | | len is always >=1 in that case. Bug-Id: CID 1238784
* rtpdec_hevc: Use av_realloc instead of av_malloc+memcpyMartin Storsjö2014-10-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Rename a variable for clarityMartin Storsjö2014-10-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp linesMartin Storsjö2014-10-15
| | | | | | These are assembled into extradata in the order vps/sps/pps/sei. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_hevc: Drop a duplicated, nonstandard entryVittorio Giovara2014-09-24
| | | | | | | | | | | | | | | | | | The RFC spec draft only specifies the "H265" name - there is no specification saying how to interpret "HEVC" (if such a packet format is specified it could be an entirely different format). Since this is a very new standard (still a draft), there is little need for compatibility with existing, broken implementations. Therefore remove the extra alias, to avoid the risk of encouraging incorrect usage. Intentionally keeping the ff_hevc_dynamic_handler name for the handler, to use "hevc" consistently as name for the codec instead of "h265" within the library internals as long as there only is one single variant in actual use. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: HEVC/H.265 supportThomas Volkert2014-09-03
As specified in draft-ietf-payload-rtp-h265-06. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>