summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_h264.c
Commit message (Collapse)AuthorAge
* lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.Carl Eugen Hoyos2018-02-14
| | | | Reviewed-by: Muhammad Faiz
* avformat/rtpdec_h264: Fix heap-buffer-overflowMichael Niedermayer2017-08-23
| | | | | | | Fixes: rtp_sdp/poc.sdp Found-by: Bingchang <l.bing.chang.bc@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * rtpdec_h264: Use avpriv_report_missing_feature instead of a manual av_logMartin Storsjö2016-04-30
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpdec: Use AVERROR_PATCHWELCOME instead of AVERROR(ENOSYS) for ↵Martin Storsjö2016-04-30
| | | | | | | | | | | | unimplemented features Signed-off-by: Martin Storsjö <martin@martin.st>
* | rtpdec_h264: Use avpriv_report_missing_feature instead of a manual av_logMartin Storsjö2016-06-14
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | rtpdec: Use AVERROR_PATCHWELCOME instead of AVERROR(ENOSYS) forMartin Storsjö2016-06-14
| | | | | | | | | | | | unimplemented features Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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.
* | avformat/rtpdec_h264: Ignore invalid sprop-parameter-sets missing PPSAndrew Shulgin2016-03-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd': rtpdec: Rename the free method to close Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Rename the free method to closeMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | Many of these functions were named foo_free_context, and since the functions no longer should free the context itself, only allocated elements within it, the previous naming was slightly misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'bb4a310bb85f43e62240145a656b1e5285b14239': rtpdec: Don't free the payload context in the .free function Conflicts: libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_mpegts.c libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Don't free the payload context in the .free functionMartin Storsjö2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it more consistent with depacketizers that don't have any .free function at all, where the payload context is freed by the surrounding framework. Always free the context in the surrounding framework, having the individual depacketizers only free any data they've specifically allocated themselves. This is similar to how this works for demuxer/muxers/codecs - a component shouldn't free the priv_data that the framework has allocated for it. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74': rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78': rtpdec: Add const to string parameters in internal fmtp parsing functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Add const to string parameters in internal fmtp parsing functionsMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | | | | | | | * commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15': rtpdec_hevc: Share the implementation of fragmented packets with h264 Conflicts: libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_hevc: Share the implementation of fragmented packets with h264Martin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | | | | | | | * commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0': rtpdec_hevc: Share the implementation of parsing a=framesize with h264 Conflicts: libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_hevc: Share the implementation of parsing a=framesize with h264Martin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8': rtpdec: Get rid of all trivial .alloc/.free functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Get rid of all trivial .alloc/.free functionsMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2b982e92f42a6e661d90b12b6592cd13cae496d4'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '2b982e92f42a6e661d90b12b6592cd13cae496d4': rtpdec: Set need_parsing via a handler field Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '0752f700d63f6b15ffd5369ac7615414cce71247'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '0752f700d63f6b15ffd5369ac7615414cce71247': rtpdec_h264: Remove an unnecessary include Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Remove an unnecessary includeMartin Storsjö2015-02-24
| | | | | | | | | | | | Nothing in this file use any network functions. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '247764a592f83521f9c1ccdc900b00a8b84f3c87'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '247764a592f83521f9c1ccdc900b00a8b84f3c87': rtpdec_h264: Remove unnecessary struct padding Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Remove unnecessary struct paddingMartin Storsjö2015-02-24
| | | | | | | | | | | | | | There's no point in adding padding in the allocation of a depacketizer specific context struct. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3cd5828fc0007e6d056067444de053a34ddedd02'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '3cd5828fc0007e6d056067444de053a34ddedd02': rtpdec: Add missing trailing commas Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Add missing trailing commasMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc'Michael Niedermayer2015-02-23
|\| | | | | | | | | | | | | | | | | | | * commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc': rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units Conflicts: libavformat/rtpdec_hevc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'ff394ca087d41941d2157e7a4e356e3ad312494e'Michael Niedermayer2015-02-22
|\| | | | | | | | | | | | | * commit 'ff394ca087d41941d2157e7a4e356e3ad312494e': rtpdec_h264: Add a missing closing paren in a log message Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Add a missing closing paren in a log messageMartin Storsjö2015-02-21
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '0de07510844517b615ef2a2e2916f6391ad88687'Michael Niedermayer2015-02-21
|\| | | | | | | | | | | | | | | | | | | | | * commit '0de07510844517b615ef2a2e2916f6391ad88687': rtpdec_h264: Make reusable functions non-static Conflicts: libavformat/rtpdec_formats.h libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Make reusable functions non-staticMartin Storsjö2015-02-21
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '16163e6bf2d446c06d4dd053c0852074bb50508d'Michael Niedermayer2015-02-21
|\| | | | | | | | | | | | | | | | | | | * commit '16163e6bf2d446c06d4dd053c0852074bb50508d': rtpdec_h264: Fix nal type counting after refactoring Conflicts: libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Fix nal type counting after refactoringMartin Storsjö2015-02-21
| | | | | | | | | | | | This fixes builds with -DDEBUG after f0a874799. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a'Michael Niedermayer2015-02-21
|\| | | | | | | | | | | | | | | | | | | * commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a': rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc Conflicts: libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevcMartin Storsjö2015-02-21
| | | | | | | | | | | | Add a parameter for skipping a number of bytes at the start of each nal. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5'Michael Niedermayer2015-02-21
|\| | | | | | | | | | | | | * commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5': rtpdec_h264: Generalize parse_sprop_parameter_sets Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Generalize parse_sprop_parameter_setsMartin Storsjö2015-02-21
| | | | | | | | | | | | | | Don't write directly into an AVCodecContext, write into given pointers. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7'Michael Niedermayer2015-02-20
|\| | | | | | | | | | | | | | | | | | | * commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7': rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_a Conflicts: libavformat/rtpdec_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_aMartin Storsjö2015-02-20
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'a335ed767161c6da2815371177cfd5e40f78e5b7'Michael Niedermayer2015-02-20
|\| | | | | | | | | | | | | * commit 'a335ed767161c6da2815371177cfd5e40f78e5b7': rtpdec_h264: Remove an unnecessary check Merged-by: Michael Niedermayer <michaelni@gmx.at>