summaryrefslogtreecommitdiff
path: root/libs/ffvpx/libavcodec/vp9_parser.c
diff options
context:
space:
mode:
authortrav90 <travawine@palemoon.org>2022-05-30 14:44:19 -0500
committerMatt A. Tobin <email@mattatobin.com>2022-05-30 14:49:22 -0500
commit8510f335c3ff39c207d8cb906da3eb91cd73d75a (patch)
tree88bc89f66bc6b15e27dab678d34c43aaad75de80 /libs/ffvpx/libavcodec/vp9_parser.c
parentf11b40c3ab4a5a766b0b71ab1e9a6199b23bbfeb (diff)
downloadaura-central-8510f335c3ff39c207d8cb906da3eb91cd73d75a.tar.gz
[Libs:ffvpx] Update FFVPX to version 4.2.7
Diffstat (limited to 'libs/ffvpx/libavcodec/vp9_parser.c')
-rw-r--r--libs/ffvpx/libavcodec/vp9_parser.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ffvpx/libavcodec/vp9_parser.c b/libs/ffvpx/libavcodec/vp9_parser.c
index 9531f34a3..c957a7566 100644
--- a/libs/ffvpx/libavcodec/vp9_parser.c
+++ b/libs/ffvpx/libavcodec/vp9_parser.c
@@ -36,12 +36,16 @@ static int parse(AVCodecParserContext *ctx,
*out_data = data;
*out_size = size;
- if ((res = init_get_bits8(&gb, data, size)) < 0)
+ if (!size || (res = init_get_bits8(&gb, data, size)) < 0)
return size; // parsers can't return errors
get_bits(&gb, 2); // frame marker
profile = get_bits1(&gb);
profile |= get_bits1(&gb) << 1;
if (profile == 3) profile += get_bits1(&gb);
+ if (profile > 3)
+ return size;
+
+ avctx->profile = profile;
if (get_bits1(&gb)) {
keyframe = 0;