summaryrefslogtreecommitdiffstats
path: root/libhb/handbrake/qsv_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'libhb/handbrake/qsv_common.h')
-rw-r--r--libhb/handbrake/qsv_common.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/libhb/handbrake/qsv_common.h b/libhb/handbrake/qsv_common.h
index ef27464d9..2d4471bb1 100644
--- a/libhb/handbrake/qsv_common.h
+++ b/libhb/handbrake/qsv_common.h
@@ -44,7 +44,7 @@ void hb_qsv_force_workarounds(); // for developers only
typedef struct hb_qsv_info_s
{
// each info struct only corresponds to one CodecId and implementation combo
- const mfxU32 codec_id;
+ mfxU32 codec_id;
mfxIMPL implementation;
// whether the encoder is available for this implementation
@@ -82,16 +82,19 @@ typedef struct hb_qsv_info_s
/* Intel Quick Sync Video utilities */
hb_display_t * hb_qsv_display_init(void);
-int hb_qsv_video_encoder_is_enabled(int encoder);
+int hb_qsv_video_encoder_is_enabled(int adapter_index, int encoder);
int hb_qsv_audio_encoder_is_enabled(int encoder);
int hb_qsv_info_init();
void hb_qsv_info_print();
hb_list_t* hb_qsv_adapters_list();
-hb_qsv_info_t* hb_qsv_info_get(int encoder);
-int qsv_hardware_generation(int cpu_platform);
+hb_qsv_info_t* hb_qsv_encoder_info_get(int adapter_index, int encoder);
+int hb_qsv_hardware_generation(int cpu_platform);
+int hb_qsv_get_platform(int adapter_index);
+int hb_qsv_get_adapter_index();
+int hb_qsv_implementation_is_hardware(mfxIMPL implementation);
/* Automatically load and unload any required MFX plug-ins */
-hb_list_t* hb_qsv_load_plugins (hb_qsv_info_t *info, mfxSession session, mfxVersion version);
+hb_list_t* hb_qsv_load_plugins (int adapter_index, hb_qsv_info_t *info, mfxSession session, mfxVersion version);
void hb_qsv_unload_plugins(hb_list_t **_l, mfxSession session, mfxVersion version);
/* Intel Quick Sync Video DECODE utilities */
@@ -247,6 +250,14 @@ enum AVPixelFormat hb_qsv_get_format(AVCodecContext *s, const enum AVPixelFormat
int hb_qsv_preset_is_zero_copy_enabled(const hb_dict_t *job_dict);
void hb_qsv_uninit_dec(AVCodecContext *s);
void hb_qsv_uninit_enc(hb_job_t *job);
+mfxIMPL hb_qsv_dx_index_to_impl(int dx_index);
+int hb_qsv_parse_adapter_index(hb_job_t *job);
+int hb_qsv_setup_job(hb_job_t *job);
+int hb_qsv_decode_h264_is_supported(int adapter_index);
+int hb_qsv_decode_h265_is_supported(int adapter_index);
+int hb_qsv_decode_h265_10_bit_is_supported(int adapter_index);
+int hb_qsv_decode_av1_is_supported(int adapter_index);
+int hb_qsv_decode_codec_supported_codec(int adapter_index, int video_codec_param, int pix_fmt);
#endif // __LIBHB__
#endif // HB_PROJECT_FEATURE_QSV