video: driver: separate i/o subscribe prop codec wise

Separate i/o subscribe prop codec wise.

Change-Id: Ib4ba9d6d491f26bad9798c0d4d9be62b272d6421
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
This commit is contained in:
Ankush Mitra
2023-04-20 17:50:37 +05:30
parent df3230b3d3
commit 0a26c4b8ce
3 changed files with 108 additions and 14 deletions

View File

@@ -248,10 +248,22 @@ struct msm_vidc_platform_data {
unsigned int psc_vp9_tbl_size;
const u32 *psc_av1_tbl;
unsigned int psc_av1_tbl_size;
const u32 *dec_input_prop;
unsigned int dec_input_prop_size;
const u32 *dec_output_prop;
unsigned int dec_output_prop_size;
const u32 *dec_input_prop_avc;
unsigned int dec_input_prop_size_avc;
const u32 *dec_input_prop_hevc;
unsigned int dec_input_prop_size_hevc;
const u32 *dec_input_prop_vp9;
unsigned int dec_input_prop_size_vp9;
const u32 *dec_input_prop_av1;
unsigned int dec_input_prop_size_av1;
const u32 *dec_output_prop_avc;
unsigned int dec_output_prop_size_avc;
const u32 *dec_output_prop_hevc;
unsigned int dec_output_prop_size_hevc;
const u32 *dec_output_prop_vp9;
unsigned int dec_output_prop_size_vp9;
const u32 *dec_output_prop_av1;
unsigned int dec_output_prop_size_av1;
};
struct msm_vidc_platform {

View File

@@ -2820,7 +2820,25 @@ static const u32 pineapple_vdec_psc_av1[] = {
HFI_PROP_SIGNAL_COLOR_INFO,
};
static const u32 pineapple_vdec_input_properties[] = {
static const u32 pineapple_vdec_input_properties_avc[] = {
HFI_PROP_NO_OUTPUT,
HFI_PROP_SUBFRAME_INPUT,
HFI_PROP_DPB_LIST,
};
static const u32 pineapple_vdec_input_properties_hevc[] = {
HFI_PROP_NO_OUTPUT,
HFI_PROP_SUBFRAME_INPUT,
HFI_PROP_DPB_LIST,
};
static const u32 pineapple_vdec_input_properties_vp9[] = {
HFI_PROP_NO_OUTPUT,
HFI_PROP_SUBFRAME_INPUT,
HFI_PROP_DPB_LIST,
};
static const u32 pineapple_vdec_input_properties_av1[] = {
HFI_PROP_NO_OUTPUT,
HFI_PROP_SUBFRAME_INPUT,
HFI_PROP_DPB_LIST,
@@ -2828,7 +2846,7 @@ static const u32 pineapple_vdec_input_properties[] = {
HFI_PROP_AV1_UNIFORM_TILE_SPACING,
};
static const u32 pineapple_vdec_output_properties[] = {
static const u32 pineapple_vdec_output_properties_avc[] = {
HFI_PROP_WORST_COMPRESSION_RATIO,
HFI_PROP_WORST_COMPLEXITY_FACTOR,
HFI_PROP_PICTURE_TYPE,
@@ -2836,6 +2854,27 @@ static const u32 pineapple_vdec_output_properties[] = {
HFI_PROP_FENCE,
};
static const u32 pineapple_vdec_output_properties_hevc[] = {
HFI_PROP_WORST_COMPRESSION_RATIO,
HFI_PROP_WORST_COMPLEXITY_FACTOR,
HFI_PROP_PICTURE_TYPE,
HFI_PROP_FENCE,
};
static const u32 pineapple_vdec_output_properties_vp9[] = {
HFI_PROP_WORST_COMPRESSION_RATIO,
HFI_PROP_WORST_COMPLEXITY_FACTOR,
HFI_PROP_PICTURE_TYPE,
HFI_PROP_FENCE,
};
static const u32 pineapple_vdec_output_properties_av1[] = {
HFI_PROP_WORST_COMPRESSION_RATIO,
HFI_PROP_WORST_COMPLEXITY_FACTOR,
HFI_PROP_PICTURE_TYPE,
HFI_PROP_FENCE,
};
static const struct msm_vidc_platform_data pineapple_data = {
/* resources dependent on other module */
.bw_tbl = pineapple_bw_table,
@@ -2886,10 +2925,22 @@ static const struct msm_vidc_platform_data pineapple_data = {
.psc_vp9_tbl_size = ARRAY_SIZE(pineapple_vdec_psc_vp9),
.psc_av1_tbl = pineapple_vdec_psc_av1,
.psc_av1_tbl_size = ARRAY_SIZE(pineapple_vdec_psc_av1),
.dec_input_prop = pineapple_vdec_input_properties,
.dec_input_prop_size = ARRAY_SIZE(pineapple_vdec_input_properties),
.dec_output_prop = pineapple_vdec_output_properties,
.dec_output_prop_size = ARRAY_SIZE(pineapple_vdec_output_properties),
.dec_input_prop_avc = pineapple_vdec_input_properties_avc,
.dec_input_prop_hevc = pineapple_vdec_input_properties_hevc,
.dec_input_prop_vp9 = pineapple_vdec_input_properties_vp9,
.dec_input_prop_av1 = pineapple_vdec_input_properties_av1,
.dec_input_prop_size_avc = ARRAY_SIZE(pineapple_vdec_input_properties_avc),
.dec_input_prop_size_hevc = ARRAY_SIZE(pineapple_vdec_input_properties_hevc),
.dec_input_prop_size_vp9 = ARRAY_SIZE(pineapple_vdec_input_properties_vp9),
.dec_input_prop_size_av1 = ARRAY_SIZE(pineapple_vdec_input_properties_av1),
.dec_output_prop_avc = pineapple_vdec_output_properties_avc,
.dec_output_prop_hevc = pineapple_vdec_output_properties_hevc,
.dec_output_prop_vp9 = pineapple_vdec_output_properties_vp9,
.dec_output_prop_av1 = pineapple_vdec_output_properties_av1,
.dec_output_prop_size_avc = ARRAY_SIZE(pineapple_vdec_output_properties_avc),
.dec_output_prop_size_hevc = ARRAY_SIZE(pineapple_vdec_output_properties_hevc),
.dec_output_prop_size_vp9 = ARRAY_SIZE(pineapple_vdec_output_properties_vp9),
.dec_output_prop_size_av1 = ARRAY_SIZE(pineapple_vdec_output_properties_av1),
};
int msm_vidc_pineapple_check_ddr_type(void)