diff --git a/driver/platform/anorak/src/msm_vidc_anorak.c b/driver/platform/anorak/src/msm_vidc_anorak.c index bed07e0b96..7c463e184d 100644 --- a/driver/platform/anorak/src/msm_vidc_anorak.c +++ b/driver/platform/anorak/src/msm_vidc_anorak.c @@ -329,7 +329,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_OUTBUF_FENCE, HFI_PROP_FENCE, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, /* * Client to do set_ctrl with FENCE_ID to set fence_id @@ -1472,7 +1472,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BITSTREAM_RESOLUTION, HFI_PROP_BITSTREAM_RESOLUTION, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_CROP_OFFSETS, DEC, AV1, V4L2_MPEG_VIDC_META_DISABLE, @@ -1481,7 +1481,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_CROP_OFFSETS, HFI_PROP_CROP_OFFSETS, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {ALL_INTRA, ENC, H264|HEVC, V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE, @@ -1509,7 +1509,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_LTR_MARK_USE_DETAILS, HFI_PROP_LTR_MARK_USE_DETAILS, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEQ_HDR_NAL, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1517,7 +1517,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEQ_HEADER_NAL, HFI_PROP_METADATA_SEQ_HEADER_NAL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_MISR, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1525,7 +1525,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_LUMA_CHROMA_MISR, HFI_PROP_DPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_OPB_MISR, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1533,7 +1533,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_OPB_LUMA_CHROMA_MISR, HFI_PROP_OPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_INTERLACE, DEC, H264, V4L2_MPEG_VIDC_META_DISABLE, @@ -1541,7 +1541,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_INTERLACE, HFI_PROP_INTERLACE_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TIMESTAMP, DEC | ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1549,7 +1549,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TIMESTAMP, HFI_PROP_TIMESTAMP, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_CONCEALED_MB_CNT, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1557,7 +1557,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_CONCEALED_MB_COUNT, HFI_PROP_CONEALED_MB_COUNT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HIST_INFO, DEC, HEVC|AV1|VP9, V4L2_MPEG_VIDC_META_DISABLE, @@ -1565,7 +1565,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO, HFI_PROP_HISTOGRAM_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TRANSCODING_STAT_INFO, DEC, HEVC|H264, V4L2_MPEG_VIDC_META_DISABLE, @@ -1573,7 +1573,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO, HFI_PROP_TRANSCODING_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TRANSCODING_STAT_INFO, ENC, HEVC|H264, V4L2_MPEG_VIDC_META_DISABLE, @@ -1581,7 +1581,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO, HFI_PROP_TRANSCODING_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_PICTURE_TYPE, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1589,7 +1589,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_PICTURE_TYPE, HFI_PROP_PICTURE_TYPE, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1597,7 +1597,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, DEC, HEVC|HEIC|AV1, V4L2_MPEG_VIDC_META_DISABLE, @@ -1606,7 +1606,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1614,7 +1614,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, DEC, HEVC|HEIC|AV1, V4L2_MPEG_VIDC_META_DISABLE, @@ -1623,7 +1623,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1631,7 +1631,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, DEC, HEVC|HEIC|AV1, V4L2_MPEG_VIDC_META_DISABLE, @@ -1640,7 +1640,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DOLBY_RPU, ENC, HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1648,7 +1648,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU, HFI_PROP_DOLBY_RPU_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DOLBY_RPU, DEC, H264|HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1656,7 +1656,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU, HFI_PROP_DOLBY_RPU_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_EVA_STATS, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1664,7 +1664,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_EVA_STATS, HFI_PROP_EVA_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_BUF_TAG, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1673,7 +1673,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, /* * when fence enabled, client needs output buffer_tag @@ -1687,7 +1687,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_TAG_LIST, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1695,7 +1695,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_TAG_LIST, HFI_PROP_DPB_TAG_LIST, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, ENC, HEIC | H264 | HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1703,7 +1703,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1711,7 +1711,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ENC_QP_METADATA, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1719,7 +1719,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ENC_QP_METADATA, HFI_PROP_ENC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ROI_INFO, ENC, H264|HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1727,7 +1727,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ROI_INFO, HFI_PROP_ROI_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SALIENCY_INFO, ENC, H264|HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1735,7 +1735,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SALIENCY_INFO, HFI_PROP_ROI_AS_SALIENCY_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DEC_QP_METADATA, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1743,7 +1743,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DEC_QP_METADATA, HFI_PROP_DEC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {GRID, ENC, HEIC, V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE, @@ -1763,7 +1763,7 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_MAX_NUM_REORDER_FRAMES, HFI_PROP_MAX_NUM_REORDER_FRAMES, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {DELIVERY_MODE, ENC, HEVC, V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED, diff --git a/driver/platform/kalama/src/msm_vidc_kalama.c b/driver/platform/kalama/src/msm_vidc_kalama.c index c7ed86fb3c..d8618c9a10 100644 --- a/driver/platform/kalama/src/msm_vidc_kalama.c +++ b/driver/platform/kalama/src/msm_vidc_kalama.c @@ -566,7 +566,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_OUTBUF_FENCE, HFI_PROP_FENCE, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, /* * Client to do set_ctrl with FENCE_ID to set fence_id @@ -1672,7 +1672,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BITSTREAM_RESOLUTION, HFI_PROP_BITSTREAM_RESOLUTION, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_CROP_OFFSETS, DEC, AV1, MSM_VIDC_META_DISABLE, @@ -1681,7 +1681,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_CROP_OFFSETS, HFI_PROP_CROP_OFFSETS, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {ALL_INTRA, ENC, H264|HEVC, 0, 1, 1, 0, @@ -1707,7 +1707,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_LTR_MARK_USE_DETAILS, HFI_PROP_LTR_MARK_USE_DETAILS, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEQ_HDR_NAL, ENC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1715,7 +1715,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEQ_HEADER_NAL, HFI_PROP_METADATA_SEQ_HEADER_NAL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_MISR, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1723,7 +1723,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_LUMA_CHROMA_MISR, HFI_PROP_DPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_OPB_MISR, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1731,7 +1731,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_OPB_LUMA_CHROMA_MISR, HFI_PROP_OPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_INTERLACE, DEC, H264, MSM_VIDC_META_DISABLE, @@ -1739,7 +1739,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_INTERLACE, HFI_PROP_INTERLACE_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TIMESTAMP, DEC | ENC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1747,7 +1747,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TIMESTAMP, HFI_PROP_TIMESTAMP, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_CONCEALED_MB_CNT, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1755,7 +1755,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_CONCEALED_MB_COUNT, HFI_PROP_CONEALED_MB_COUNT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HIST_INFO, DEC, HEVC|AV1|VP9, MSM_VIDC_META_DISABLE, @@ -1763,7 +1763,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO, HFI_PROP_HISTOGRAM_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TRANSCODING_STAT_INFO, DEC, HEVC|H264, MSM_VIDC_META_DISABLE, @@ -1771,7 +1771,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO, HFI_PROP_TRANSCODING_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TRANSCODING_STAT_INFO, ENC, HEVC|H264, MSM_VIDC_META_DISABLE, @@ -1779,7 +1779,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO, HFI_PROP_TRANSCODING_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_PICTURE_TYPE, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1787,7 +1787,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_PICTURE_TYPE, HFI_PROP_PICTURE_TYPE, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, ENC, HEVC|HEIC, MSM_VIDC_META_DISABLE, @@ -1795,7 +1795,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, DEC, HEVC|HEIC|AV1, MSM_VIDC_META_DISABLE, @@ -1804,7 +1804,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, ENC, HEVC|HEIC, MSM_VIDC_META_DISABLE, @@ -1812,7 +1812,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, DEC, HEVC|HEIC|AV1, MSM_VIDC_META_DISABLE, @@ -1821,7 +1821,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, ENC, HEVC|HEIC, MSM_VIDC_META_DISABLE, @@ -1829,7 +1829,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, DEC, HEVC|HEIC|AV1, MSM_VIDC_META_DISABLE, @@ -1838,7 +1838,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DOLBY_RPU, ENC, HEVC, MSM_VIDC_META_DISABLE, @@ -1846,7 +1846,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU, HFI_PROP_DOLBY_RPU_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DOLBY_RPU, DEC, H264|HEVC, MSM_VIDC_META_DISABLE, @@ -1854,7 +1854,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU, HFI_PROP_DOLBY_RPU_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_EVA_STATS, ENC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1862,7 +1862,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_EVA_STATS, HFI_PROP_EVA_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_BUF_TAG, ENC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1871,7 +1871,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, /* * when fence enabled, client needs output buffer_tag @@ -1885,7 +1885,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_TAG_LIST, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1893,7 +1893,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_TAG_LIST, HFI_PROP_DPB_TAG_LIST, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, ENC, HEIC | H264 | HEVC, MSM_VIDC_META_DISABLE, @@ -1901,7 +1901,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1909,7 +1909,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ENC_QP_METADATA, ENC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1917,7 +1917,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ENC_QP_METADATA, HFI_PROP_ENC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ROI_INFO, ENC, H264|HEVC, MSM_VIDC_META_DISABLE, @@ -1925,7 +1925,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ROI_INFO, HFI_PROP_ROI_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SALIENCY_INFO, ENC, H264|HEVC, MSM_VIDC_META_DISABLE, @@ -1933,7 +1933,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SALIENCY_INFO, HFI_PROP_ROI_AS_SALIENCY_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DEC_QP_METADATA, DEC, CODECS_ALL, MSM_VIDC_META_DISABLE, @@ -1941,7 +1941,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DEC_QP_METADATA, HFI_PROP_DEC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {GRID, ENC, HEIC, 0, 1, 1, 1, @@ -1960,7 +1960,7 @@ static struct msm_platform_inst_capability instance_cap_data_kalama[] = { 0, MSM_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_MAX_NUM_REORDER_FRAMES, HFI_PROP_MAX_NUM_REORDER_FRAMES, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {DELIVERY_MODE, ENC, HEVC, 0, 1, 1, 0, diff --git a/driver/platform/waipio/src/msm_vidc_waipio.c b/driver/platform/waipio/src/msm_vidc_waipio.c index 82a70cbd4d..290033a07a 100644 --- a/driver/platform/waipio/src/msm_vidc_waipio.c +++ b/driver/platform/waipio/src/msm_vidc_waipio.c @@ -316,7 +316,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, 0, 0, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {TS_REORDER, DEC, H264|HEVC, V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE, @@ -1354,7 +1354,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_LTR_MARK_USE_DETAILS, HFI_PROP_LTR_MARK_USE_DETAILS, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEQ_HDR_NAL, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1362,7 +1362,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEQ_HEADER_NAL, HFI_PROP_METADATA_SEQ_HEADER_NAL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_MISR, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1370,7 +1370,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_LUMA_CHROMA_MISR, HFI_PROP_DPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_OPB_MISR, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1378,7 +1378,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_OPB_LUMA_CHROMA_MISR, HFI_PROP_OPB_LUMA_CHROMA_MISR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_INTERLACE, DEC, H264, V4L2_MPEG_VIDC_META_DISABLE, @@ -1386,7 +1386,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_INTERLACE, HFI_PROP_INTERLACE_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_TIMESTAMP, DEC | ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1394,7 +1394,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_TIMESTAMP, HFI_PROP_TIMESTAMP, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_CONCEALED_MB_CNT, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1402,7 +1402,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_CONCEALED_MB_COUNT, HFI_PROP_CONEALED_MB_COUNT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HIST_INFO, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1410,7 +1410,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO, HFI_PROP_HISTOGRAM_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1418,7 +1418,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_MASTERING_DISP, DEC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1427,7 +1427,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR, HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1435,7 +1435,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SEI_CLL, DEC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1444,7 +1444,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL, HFI_PROP_SEI_CONTENT_LIGHT_LEVEL, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, ENC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1452,7 +1452,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_HDR10PLUS, DEC, HEVC|HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1461,7 +1461,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS, HFI_PROP_SEI_HDR10PLUS_USERDATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_EVA_STATS, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1469,7 +1469,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_EVA_STATS, HFI_PROP_EVA_STAT_INFO, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_BUF_TAG, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1478,7 +1478,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_BUF_TAG, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1488,7 +1488,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG, HFI_PROP_BUFFER_TAG, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DPB_TAG_LIST, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1496,7 +1496,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DPB_TAG_LIST, HFI_PROP_DPB_TAG_LIST, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, ENC, HEIC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1504,7 +1504,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SUBFRAME_OUTPUT, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1512,7 +1512,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT, HFI_PROP_SUBFRAME_OUTPUT, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ENC_QP_METADATA, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1520,7 +1520,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ENC_QP_METADATA, HFI_PROP_ENC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_ROI_INFO, ENC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1528,7 +1528,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_ROI_INFO, HFI_PROP_ROI_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_SALIENCY_INFO, ENC, H264|HEVC, V4L2_MPEG_VIDC_META_DISABLE, @@ -1536,7 +1536,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_SALIENCY_INFO, HFI_PROP_ROI_AS_SALIENCY_INFO, - CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK}, + CAP_FLAG_INPUT_PORT | CAP_FLAG_BITMASK | CAP_FLAG_META}, {META_DEC_QP_METADATA, DEC, CODECS_ALL, V4L2_MPEG_VIDC_META_DISABLE, @@ -1544,7 +1544,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_DEC_QP_METADATA, HFI_PROP_DEC_QP_METADATA, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, {GRID, ENC, HEIC, V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE, @@ -1564,7 +1564,7 @@ static struct msm_platform_inst_capability instance_cap_data_waipio[] = { 0, V4L2_MPEG_VIDC_META_DISABLE, V4L2_CID_MPEG_VIDC_METADATA_MAX_NUM_REORDER_FRAMES, HFI_PROP_MAX_NUM_REORDER_FRAMES, - CAP_FLAG_BITMASK}, + CAP_FLAG_BITMASK | CAP_FLAG_META}, }; static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_waipio[] = { diff --git a/driver/vidc/inc/msm_vidc_driver.h b/driver/vidc/inc/msm_vidc_driver.h index f658feee63..2210b9e4b2 100644 --- a/driver/vidc/inc/msm_vidc_driver.h +++ b/driver/vidc/inc/msm_vidc_driver.h @@ -100,9 +100,9 @@ static inline bool is_internal_buffer(enum msm_vidc_buffer_type buffer_type) buffer_type == MSM_VIDC_BUF_PARTIAL_DATA; } -static inline bool is_meta_cap(u32 cap) +static inline bool is_meta_cap(struct msm_vidc_inst *inst, u32 cap) { - if (cap > INST_CAP_NONE && cap < META_CAP_MAX) + if (inst->capabilities->cap[cap].flags & CAP_FLAG_META) return true; return false; @@ -112,6 +112,9 @@ static inline bool is_meta_rx_inp_enabled(struct msm_vidc_inst *inst, u32 cap) { bool enabled = false; + if (!is_meta_cap(inst, cap)) + return false; + if (inst->capabilities->cap[cap].value & MSM_VIDC_META_ENABLE && inst->capabilities->cap[cap].value & MSM_VIDC_META_RX_INPUT) enabled = true; @@ -123,6 +126,9 @@ static inline bool is_meta_rx_out_enabled(struct msm_vidc_inst *inst, u32 cap) { bool enabled = false; + if (!is_meta_cap(inst, cap)) + return false; + if (inst->capabilities->cap[cap].value & MSM_VIDC_META_ENABLE && inst->capabilities->cap[cap].value & MSM_VIDC_META_RX_OUTPUT) enabled = true; @@ -134,6 +140,9 @@ static inline bool is_meta_tx_inp_enabled(struct msm_vidc_inst *inst, u32 cap) { bool enabled = false; + if (!is_meta_cap(inst, cap)) + return false; + if (inst->capabilities->cap[cap].value & MSM_VIDC_META_ENABLE && inst->capabilities->cap[cap].value & MSM_VIDC_META_TX_INPUT) enabled = true; @@ -145,6 +154,9 @@ static inline bool is_meta_tx_out_enabled(struct msm_vidc_inst *inst, u32 cap) { bool enabled = false; + if (!is_meta_cap(inst, cap)) + return false; + if (inst->capabilities->cap[cap].value & MSM_VIDC_META_ENABLE && inst->capabilities->cap[cap].value & MSM_VIDC_META_TX_OUTPUT) enabled = true; @@ -157,7 +169,7 @@ static inline bool is_any_meta_tx_out_enabled(struct msm_vidc_inst *inst) bool enabled = false; u32 i; - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_out_enabled(inst, i)) { enabled = true; break; @@ -172,7 +184,7 @@ static inline bool is_any_meta_tx_inp_enabled(struct msm_vidc_inst *inst) bool enabled = false; u32 i; - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_inp_enabled(inst, i)) { enabled = true; break; @@ -187,7 +199,7 @@ static inline bool is_input_meta_enabled(struct msm_vidc_inst *inst) bool enabled = false; u32 i; - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_inp_enabled(inst, i) || is_meta_rx_inp_enabled(inst, i)) { enabled = true; @@ -203,7 +215,7 @@ static inline bool is_output_meta_enabled(struct msm_vidc_inst *inst) bool enabled = false; u32 i; - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_out_enabled(inst, i) || is_meta_rx_out_enabled(inst, i)) { enabled = true; diff --git a/driver/vidc/inc/msm_vidc_internal.h b/driver/vidc/inc/msm_vidc_internal.h index 82fe08f8b3..df1230be62 100644 --- a/driver/vidc/inc/msm_vidc_internal.h +++ b/driver/vidc/inc/msm_vidc_internal.h @@ -390,7 +390,6 @@ enum msm_vidc_core_capability_type { enum msm_vidc_inst_capability_type { INST_CAP_NONE = 0, /* place all metadata after this line - * (Between INST_CAP_NONE and META_CAP_MAX) */ META_SEQ_HDR_NAL, META_BITSTREAM_RESOLUTION, @@ -418,7 +417,6 @@ enum msm_vidc_inst_capability_type { META_SALIENCY_INFO, META_TRANSCODING_STAT_INFO, META_DOLBY_RPU, - META_CAP_MAX, /* end of metadata caps */ FRAME_WIDTH, LOSSLESS_FRAME_WIDTH, @@ -582,6 +580,7 @@ enum msm_vidc_inst_capability_flags { CAP_FLAG_CLIENT_SET = BIT(4), CAP_FLAG_BITMASK = BIT(5), CAP_FLAG_VOLATILE = BIT(6), + CAP_FLAG_META = BIT(7), }; struct msm_vidc_inst_cap { diff --git a/driver/vidc/src/msm_vdec.c b/driver/vidc/src/msm_vdec.c index b7d65e5d58..6473e1ff6e 100644 --- a/driver/vidc/src/msm_vdec.c +++ b/driver/vidc/src/msm_vdec.c @@ -1008,7 +1008,7 @@ static int msm_vdec_subscribe_metadata(struct msm_vidc_inst *inst, capability = inst->capabilities; payload[0] = HFI_MODE_METADATA; if (port == INPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_rx_inp_enabled(inst, i) && msm_vidc_allow_metadata_subscription( inst, i, port)) { @@ -1017,7 +1017,7 @@ static int msm_vdec_subscribe_metadata(struct msm_vidc_inst *inst, } } } else if (port == OUTPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_rx_out_enabled(inst, i) && msm_vidc_allow_metadata_subscription( inst, i, port)) { @@ -1060,14 +1060,14 @@ static int msm_vdec_set_delivery_mode_metadata(struct msm_vidc_inst *inst, payload[0] = HFI_MODE_METADATA; if (port == INPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_inp_enabled(inst, i)) { payload[count + 1] = capability->cap[i].hfi_id; count++; } } } else if (port == OUTPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_out_enabled(inst, i) && msm_vidc_allow_metadata_delivery( inst, i, port)) { diff --git a/driver/vidc/src/msm_venc.c b/driver/vidc/src/msm_venc.c index 77ac058d66..46d2d2419c 100644 --- a/driver/vidc/src/msm_venc.c +++ b/driver/vidc/src/msm_venc.c @@ -710,14 +710,14 @@ static int msm_venc_metadata_delivery(struct msm_vidc_inst *inst, payload[0] = HFI_MODE_METADATA; if (port == INPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_inp_enabled(inst, i)) { payload[count + 1] = capability->cap[i].hfi_id; count++; } } } else if (port == OUTPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_tx_out_enabled(inst, i)) { payload[count + 1] = capability->cap[i].hfi_id; count++; @@ -758,14 +758,14 @@ static int msm_venc_metadata_subscription(struct msm_vidc_inst *inst, payload[0] = HFI_MODE_METADATA; if (port == INPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_rx_inp_enabled(inst, i)) { payload[count + 1] = capability->cap[i].hfi_id; count++; } } } else if (port == OUTPUT_PORT) { - for (i = INST_CAP_NONE + 1; i < META_CAP_MAX; i++) { + for (i = INST_CAP_NONE + 1; i < INST_CAP_MAX; i++) { if (is_meta_rx_out_enabled(inst, i)) { payload[count + 1] = capability->cap[i].hfi_id; count++; diff --git a/driver/vidc/src/msm_vidc_control.c b/driver/vidc/src/msm_vidc_control.c index 10230bbbf4..2692a044ec 100644 --- a/driver/vidc/src/msm_vidc_control.c +++ b/driver/vidc/src/msm_vidc_control.c @@ -418,7 +418,7 @@ int msm_vidc_update_cap_value(struct msm_vidc_inst *inst, u32 cap_id, prev_value = inst->capabilities->cap[cap_id].value; - if (is_meta_cap(cap_id)) { + if (is_meta_cap(inst, cap_id)) { /* * cumulative control value if client set same metadata * control multiple times. @@ -808,7 +808,7 @@ int msm_vidc_ctrl_init(struct msm_vidc_inst *inst) ctrl_cfg.type = V4L2_CTRL_TYPE_BITMASK; else ctrl_cfg.type = V4L2_CTRL_TYPE_INTEGER; - if (is_meta_cap(idx)) { + if (is_meta_cap(inst, idx)) { /* bitmask is expected to be enabled for meta controls */ if (ctrl_cfg.type != V4L2_CTRL_TYPE_BITMASK) { i_vpr_e(inst, @@ -1078,7 +1078,7 @@ static int msm_vidc_update_static_property(struct msm_vidc_inst *inst, msm_vidc_update_cap_value(inst, LAYER_ENABLE, enable, __func__); } - if (is_meta_cap(cap_id)) { + if (is_meta_cap(inst, cap_id)) { rc = msm_vidc_update_meta_port_settings(inst); if (rc) return rc; diff --git a/driver/vidc/src/msm_vidc_driver.c b/driver/vidc/src/msm_vidc_driver.c index 1675f6b18e..6482af8cc5 100644 --- a/driver/vidc/src/msm_vidc_driver.c +++ b/driver/vidc/src/msm_vidc_driver.c @@ -83,7 +83,6 @@ static const struct msm_vidc_cap_name cap_name_arr[] = { {META_SALIENCY_INFO, "META_SALIENCY_INFO" }, {META_TRANSCODING_STAT_INFO, "META_TRANSCODING_STAT_INFO" }, {META_DOLBY_RPU, "META_DOLBY_RPU" }, - {META_CAP_MAX, "META_CAP_MAX" }, {FRAME_WIDTH, "FRAME_WIDTH" }, {LOSSLESS_FRAME_WIDTH, "LOSSLESS_FRAME_WIDTH" }, {SECURE_FRAME_WIDTH, "SECURE_FRAME_WIDTH" },