summaryrefslogtreecommitdiff
path: root/libavcodec/vp9_parser.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: Constify all the AVCodecParsersAndreas Rheinhardt2021-04-271-1/+1
| | | | | | | Possible now that the next pointer no longer exists. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/vp9_parser: set profile in AVCodecContextJames Almer2018-10-251-1/+5
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* vp9_parser: don't split superframes into separate packetswm42017-11-291-117/+10
| | | | | We did this for the sake of the decoder. With the vp9 change, it's not necessary anymore.
* avcodec/vp9_parser: Check the input frame sizes for being consistentMichael Niedermayer2016-08-011-0/+17
| | | | | | Suggested-by: BBB Fixed-by: BBB Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vp9_parser: allow superframes with a single frame.Ronald S. Bultje2015-11-061-1/+1
|
* vp9_parser: don't overwrite cached timestamps with nopts.Ronald S. Bultje2015-10-281-1/+1
|
* vp9_parser: fix endless loop w/0-sized frameJames Zern2015-10-191-2/+2
| | | | | | | | treat this the same as an over-sized superframe packet to break out of the parser loop and allow the decoder to fail. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Zern <jzern@google.com>
* vp9_parse: fix parsing of pskip and profile 2/3.Ronald S. Bultje2015-09-041-3/+23
| | | | | The fate results change because we now correctly timestamp the pskip frames, which means the results are now identical to -vsync 0.
* vp9: add support for resolution changes in inter frames.Ronald S. Bultje2015-04-231-1/+4
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9: assign PTS to visible instead of invisible frameswm42015-02-051-0/+12
| | | | | | | | | | | | | | All the webm/vp9 files I have seen so far can have packets that contain 1 invisible and 1 visible frame. The vp9 parser separates them. Since the invisible frame is always (?) the first sub-packet, the new packet is assigned the PTS of the original packet, while the packet containing the visible frame has no PTS. This patch essentially reassigns the PTS from the invisible to the visible frame. Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9: avoid infinite loop with broken fileswm42015-01-101-2/+3
| | | | | | | | | | | | | | | With a certain fuzzed file, the parser will always return 0 consumed bytes, which makes calling code call the parser infinitely. Return the full packet size on error instead. (Here it would be nice if parsers could return errors at all.) Additionally, _if_ there's some data left, return that too, which might help with somewhat broken but still somehow playable files. Fixes ticket #4242. Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9: fix parser return values in error casewm42015-01-091-0/+2
| | | | | | | The parser must always set the out_size and out_data pointers. The API seems to require it, and the common code in parser.c also relies on it. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9/parser: change size type to unsigned.Ronald S. Bultje2014-02-081-2/+2
| | | | Fixes valgrind errors in fuzzed8.ivf because size >= 0x80000000.
* vp9: fix mt-related hang a parser infinite loop.Ronald S. Bultje2014-01-111-1/+1
| | | | | | | Fixes trac ticket 3274. Looked-at-by: ubitux Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9_parse: don't use AVCodecParserContext as av_log context.Ronald S. Bultje2014-01-051-1/+1
| | | | | | Fixes trac ticket 3273. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9_parser: handle zero-sized packets.Ronald S. Bultje2013-12-031-0/+7
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vp9: split packet parsing into an AVParser.Ronald S. Bultje2013-11-301-0/+111