memcpy(data,(unsigned char *)gen9_avc_intra_scaling_factor,size * sizeof(unsigned char));
}
- if (IS_KBL(i965->intel.device_info))
+ if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
{
data += size;
if (IS_SKL(i965->intel.device_info)||
IS_BXT(i965->intel.device_info))
is_g95 = 0;
- else if (IS_KBL(i965->intel.device_info))
- is_g95 = 1;
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
+ is_g95 = 1;
/* brc history buffer*/
gen9_add_buffer_gpe_surface(ctx,
}
}
- else if (IS_KBL(i965->intel.device_info))
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
{
cmd.g95 = (gen95_avc_mbenc_curbe_data *)i965_gpe_context_map_curbe(gpe_context);
if(!cmd.g95)
if (IS_SKL(i965->intel.device_info)||
IS_BXT(i965->intel.device_info))
is_g95 = 0;
- else if (IS_KBL(i965->intel.device_info))
- is_g95 = 1;
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
+ is_g95 = 1;
obj_surface = encode_state->reconstructed_object;
kernel_param.curbe_size = sizeof(gen9_avc_scaling4x_curbe_data);
kernel_param.inline_data_size = sizeof(gen9_avc_scaling4x_curbe_data);
}
- else if (IS_KBL(i965->intel.device_info))
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
{
kernel_param.curbe_size = sizeof(gen95_avc_scaling4x_curbe_data);
kernel_param.inline_data_size = sizeof(gen95_avc_scaling4x_curbe_data);
IS_BXT(i965->intel.device_info)) {
curbe_size = sizeof(gen9_avc_mbenc_curbe_data);
}
- else if (IS_KBL(i965->intel.device_info)) {
+ else if (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info)) {
curbe_size = sizeof(gen9_avc_mbenc_curbe_data);
}
if (IS_SKL(i965->intel.device_info)||
IS_BXT(i965->intel.device_info))
generic_ctx->pfn_set_curbe_scaling4x = gen9_avc_set_curbe_scaling4x;
- else if (IS_KBL(i965->intel.device_info))
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info))
generic_ctx->pfn_set_curbe_scaling4x = gen95_avc_set_curbe_scaling4x;
}
generic_ctx->enc_kernel_ptr = (void *)skl_avc_encoder_kernels;
generic_ctx->enc_kernel_size = sizeof(skl_avc_encoder_kernels);
}
- else if (IS_KBL(i965->intel.device_info)) {
+ else if (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info)) {
generic_ctx->enc_kernel_ptr = (void *)kbl_avc_encoder_kernels;
generic_ctx->enc_kernel_size = sizeof(kbl_avc_encoder_kernels);
}
avc_state->brc_const_data_surface_width = 64;
avc_state->brc_const_data_surface_height = 44;
}
- else if (IS_KBL(i965->intel.device_info)) {
+ else if (IS_KBL(i965->intel.device_info)||
+ IS_GLK(i965->intel.device_info)) {
avc_state->brc_const_data_surface_width = 64;
avc_state->brc_const_data_surface_height = 53;
//gen95
/* For the Normal H264 */
if (slice_index &&
- IS_KBL(i965->intel.device_info)) {
+ (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info))) {
saved_macroblock_address = slice_params->macroblock_address;
slice_params->macroblock_address = 0;
}
slice_header1 = slice_header;
if (slice_index &&
- IS_KBL(i965->intel.device_info)) {
+ (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info))) {
slice_params->macroblock_address = saved_macroblock_address;
}
unsigned char *slice_header1 = NULL;
if (slice_index &&
- IS_KBL(i965->intel.device_info)) {
+ (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info))) {
slice_header_index = (encode_state->slice_header_index[0] & SLICE_PACKED_DATA_INDEX_MASK);
}
{
struct i965_driver_data *i965 = i965_driver_data(ctx);
- if (IS_KBL(i965->intel.device_info)) {
+ if (IS_KBL(i965->intel.device_info) ||
+ IS_GLK(i965->intel.device_info)) {
gen95_vdenc_hw_interfaces_init(ctx, encoder_context, vdenc_context);
} else {
gen9_vdenc_hw_interfaces_init(ctx, encoder_context, vdenc_context);
.has_mpeg2_decoding = 1,
.has_h264_decoding = 1,
- .has_h264_encoding = 0,
+ .has_h264_encoding = 1,
.has_vc1_decoding = 1,
.has_jpeg_decoding = 1,
- .has_jpeg_encoding = 0,
+ .has_jpeg_encoding = 1,
.has_vpp = 1,
.has_accelerated_getimage = 1,
.has_accelerated_putimage = 1,
.has_di_motion_adptive = 1,
.has_di_motion_compensated = 1,
.has_vp8_decoding = 1,
- .has_vp8_encoding = 0,
+ .has_vp8_encoding = 1,
.has_h264_mvc_encoding = 0,
.has_hevc_decoding = 1,
.has_hevc_encoding = 0,
.has_hevc10_encoding = 0,
.has_vp9_decoding = 1,
.has_vpp_p010 = 1,
- .has_vp9_encoding = 0,
+ .has_vp9_encoding = 1,
+ .has_lp_h264_encoding = 1,
+
+ .lp_h264_brc_mode = VA_RC_CQP,
.num_filters = 5,
.filters = {