summaryrefslogtreecommitdiff
path: root/src/i965_encoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/i965_encoder.c')
-rw-r--r--src/i965_encoder.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/i965_encoder.c b/src/i965_encoder.c
index b8b9c69..b5abed3 100644
--- a/src/i965_encoder.c
+++ b/src/i965_encoder.c
@@ -40,6 +40,7 @@
#include "gen6_vme.h"
#include "gen6_mfc.h"
#include "gen9_mfc.h"
+#include "gen9_vdenc.h"
extern Bool gen6_mfc_context_init(VADriverContextP ctx, struct intel_encoder_context *encoder_context);
extern Bool gen6_vme_context_init(VADriverContextP ctx, struct intel_encoder_context *encoder_context);
@@ -801,10 +802,14 @@ gen8_enc_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
struct hw_context *
gen9_enc_hw_context_init(VADriverContextP ctx, struct object_config *obj_config)
{
- if (obj_config->profile == VAProfileHEVCMain) {
- return intel_enc_hw_context_init(ctx, obj_config, gen9_vme_context_init, gen9_hcpe_context_init);
- } else if (obj_config->profile == VAProfileJPEGBaseline)
- return intel_enc_hw_context_init(ctx, obj_config, gen8_vme_context_init, gen8_mfc_context_init);
- else
- return intel_enc_hw_context_init(ctx, obj_config, gen9_vme_context_init, gen9_mfc_context_init);
+ if (obj_config->entrypoint == VAEntrypointEncSliceLP) {
+ return intel_enc_hw_context_init(ctx, obj_config, NULL, gen9_vdenc_context_init);
+ } else {
+ if (obj_config->profile == VAProfileHEVCMain) {
+ return intel_enc_hw_context_init(ctx, obj_config, gen9_vme_context_init, gen9_hcpe_context_init);
+ } else if (obj_config->profile == VAProfileJPEGBaseline)
+ return intel_enc_hw_context_init(ctx, obj_config, gen8_vme_context_init, gen8_mfc_context_init);
+ else
+ return intel_enc_hw_context_init(ctx, obj_config, gen9_vme_context_init, gen9_mfc_context_init);
+ }
}