diff options
Diffstat (limited to 'src/i965_device_info.c')
-rw-r--r-- | src/i965_device_info.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/i965_device_info.c b/src/i965_device_info.c index 3e9485e8..f11264cd 100644 --- a/src/i965_device_info.c +++ b/src/i965_device_info.c @@ -641,6 +641,68 @@ static struct hw_codec_info cfl_hw_codec_info = { }, }; +static struct hw_codec_info cnl_hw_codec_info = { + .dec_hw_context_init = gen9_dec_hw_context_init, + .enc_hw_context_init = gen9_enc_hw_context_init, + .proc_hw_context_init = gen75_proc_context_init, + .render_init = gen9_render_init, + .post_processing_context_init = gen9_post_processing_context_init, + .max_resolution = gen9_max_resolution, + .preinit_hw_codec = gen9_hw_codec_preinit, + + .max_width = 4096, /* default. See max_resolution */ + .max_height = 4096, /* default. See max_resolution */ + .min_linear_wpitch = 64, + .min_linear_hpitch = 16, + + .h264_mvc_dec_profiles = (VA_PROFILE_MASK(H264StereoHigh) | VA_PROFILE_MASK(H264MultiviewHigh)), + .vp9_dec_profiles = VP9_PROFILE_MASK(0) | VP9_PROFILE_MASK(2), + .vp9_enc_profiles = VP9_PROFILE_MASK(0), + + .h264_dec_chroma_formats = EXTRA_H264_DEC_CHROMA_FORMATS, + .jpeg_dec_chroma_formats = EXTRA_JPEG_DEC_CHROMA_FORMATS, + .jpeg_enc_chroma_formats = EXTRA_JPEG_ENC_CHROMA_FORMATS, + .hevc_dec_chroma_formats = EXTRA_HEVC_DEC_CHROMA_FORMATS, + .vp9_dec_chroma_formats = EXTRA_VP9_DEC_CHROMA_FORMATS, + + .has_mpeg2_decoding = 1, + .has_mpeg2_encoding = 1, + .has_h264_decoding = 1, + .has_h264_encoding = 1, + .has_vc1_decoding = 1, + .has_jpeg_decoding = 1, + .has_jpeg_encoding = 1, + .has_vpp = 1, + .has_accelerated_getimage = 1, + .has_accelerated_putimage = 1, + .has_tiled_surface = 1, + .has_di_motion_adptive = 1, + .has_di_motion_compensated = 1, + .has_vp8_decoding = 1, + .has_vp8_encoding = 0, + .has_h264_mvc_encoding = 1, + .has_hevc_decoding = 1, + .has_hevc_encoding = 0, + .has_hevc10_decoding = 1, + .has_hevc10_encoding = 0, + .has_vp9_decoding = 1, + .has_vpp_p010 = 1, + .has_vp9_encoding = 0, + .has_lp_h264_encoding = 0, + + .lp_h264_brc_mode = VA_RC_CQP, + .h264_brc_mode = VA_RC_CQP | VA_RC_CBR | VA_RC_VBR | VA_RC_MB, + + .num_filters = 5, + .filters = { + { VAProcFilterNoiseReduction, I965_RING_VEBOX }, + { VAProcFilterDeinterlacing, I965_RING_VEBOX }, + { VAProcFilterSharpening, I965_RING_NULL }, + { VAProcFilterColorBalance, I965_RING_VEBOX}, + { VAProcFilterSkinToneEnhancement, I965_RING_VEBOX}, + }, +}; + struct hw_codec_info * i965_get_codec_info(int devid) { @@ -806,6 +868,13 @@ static const struct intel_device_info cfl_device_info = { .is_cfllake = 1, }; +static const struct intel_device_info cnl_device_info = { + .gen = 10, + + .urb_size = 4096, + .max_wm_threads = 64, /* per PSD */ +}; + const struct intel_device_info * i965_get_device_info(int devid) { |