aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2016-06-02 19:06:08 +0100
committerMark Thompson <sw@jkqxz.net>2016-06-10 21:18:58 +0100
commitd4cd8e7f6a49aeb6728af9acc1d9ac3eda431094 (patch)
treea1a0ca43dd0f276fd55ef10fcc9494bdd2e34e38
parent056a4ae771b00645184c639fe9fd6b7217eb6d87 (diff)
downloadffmpeg-d4cd8e7f6a49aeb6728af9acc1d9ac3eda431094.tar.gz
vaapi_encode_h26[45]: Reject bitrate targets higher than 2^31
-rw-r--r--libavcodec/vaapi_encode_h264.c6
-rw-r--r--libavcodec/vaapi_encode_h265.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c
index dc7774b9f1..2e2052bb71 100644
--- a/libavcodec/vaapi_encode_h264.c
+++ b/libavcodec/vaapi_encode_h264.c
@@ -731,6 +731,12 @@ static av_cold int vaapi_encode_h264_init_constant_bitrate(AVCodecContext *avctx
int hrd_buffer_size;
int hrd_initial_buffer_fullness;
+ if (avctx->bit_rate > INT32_MAX) {
+ av_log(avctx, AV_LOG_ERROR, "Target bitrate of 2^31 bps or "
+ "higher is not supported.\n");
+ return AVERROR(EINVAL);
+ }
+
if (avctx->rc_buffer_size)
hrd_buffer_size = avctx->rc_buffer_size;
else
diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c
index 17cd900b30..e4d21f0f2f 100644
--- a/libavcodec/vaapi_encode_h265.c
+++ b/libavcodec/vaapi_encode_h265.c
@@ -1158,6 +1158,12 @@ static av_cold int vaapi_encode_h265_init_constant_bitrate(AVCodecContext *avctx
int hrd_buffer_size;
int hrd_initial_buffer_fullness;
+ if (avctx->bit_rate > INT32_MAX) {
+ av_log(avctx, AV_LOG_ERROR, "Target bitrate of 2^31 bps or "
+ "higher is not supported.\n");
+ return AVERROR(EINVAL);
+ }
+
if (avctx->rc_buffer_size)
hrd_buffer_size = avctx->rc_buffer_size;
else