summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gen9_vp9_encoder.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gen9_vp9_encoder.c b/src/gen9_vp9_encoder.c
index a9f2c8ca..858e1baa 100644
--- a/src/gen9_vp9_encoder.c
+++ b/src/gen9_vp9_encoder.c
@@ -46,6 +46,7 @@
#include "vp9_probs.h"
#include "gen9_vp9_const_def.h"
+#define MAX_VP9_ENCODER_FRAMERATE 60
#define MAX_VP9_ENCODER_SURFACES 64
#define MAX_URB_SIZE 4096 /* In register */
@@ -3723,6 +3724,11 @@ gen9_encode_vp9_check_parameter(VADriverContextP ctx,
vp9_state->gop_size = encoder_context->brc.gop_size;
vp9_state->framerate = encoder_context->brc.framerate[0];
+ if ((vp9_state->framerate.num / vp9_state->framerate.den) > MAX_VP9_ENCODER_FRAMERATE) {
+ vp9_state->framerate.num = MAX_VP9_ENCODER_FRAMERATE * vp9_state->framerate.den;
+ i965_log_info(ctx, "gen9_encode_vp9_check_parameter: Too high frame rate(num: %d, den: %d), max supported is %d fps.\n",
+ vp9_state->framerate.num, vp9_state->framerate.den, MAX_VP9_ENCODER_FRAMERATE);
+ }
if (encoder_context->rate_control_mode == VA_RC_CBR ||
!encoder_context->brc.target_percentage[0]) {