Browse Source

video: driver: remove config dependencies

remove all conditional compilation in video driver.
With this change, all files willbe always compiled
and will be available in final kernel object file.

Change-Id: I9843c246e23bd1ee4fb8918e5cfa840e2defd432
Signed-off-by: Govindaraj Rajagopal <[email protected]>
Govindaraj Rajagopal 2 years ago
parent
commit
c3c85e9653

+ 0 - 2
config/anorak_video.conf

@@ -1,2 +0,0 @@
-export CONFIG_MSM_VIDC_ANORAK=y
-export CONFIG_MSM_VIDC_IRIS3=y

+ 0 - 8
config/anorak_video.h

@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#define CONFIG_MSM_VIDC_IRIS3    1
-#define CONFIG_MSM_VIDC_ANORAK   1

+ 0 - 1
config/kalama_video.conf

@@ -1,2 +1 @@
 export CONFIG_MSM_VIDC_KALAMA=y
 export CONFIG_MSM_VIDC_KALAMA=y
-export CONFIG_MSM_VIDC_IRIS3=y

+ 0 - 1
config/kalama_video.h

@@ -4,5 +4,4 @@
  * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
  */
 
 
-#define CONFIG_MSM_VIDC_IRIS3    1
 #define CONFIG_MSM_VIDC_KALAMA   1
 #define CONFIG_MSM_VIDC_KALAMA   1

+ 0 - 1
config/pineapple_video.conf

@@ -1,2 +1 @@
 export CONFIG_MSM_VIDC_PINEAPPLE=y
 export CONFIG_MSM_VIDC_PINEAPPLE=y
-export CONFIG_MSM_VIDC_IRIS33=y

+ 0 - 1
config/pineapple_video.h

@@ -4,5 +4,4 @@
  * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
  */
 
 
-#define CONFIG_MSM_VIDC_IRIS33    1
 #define CONFIG_MSM_VIDC_PINEAPPLE   1
 #define CONFIG_MSM_VIDC_PINEAPPLE   1

+ 0 - 2
config/waipio_video.conf

@@ -1,2 +0,0 @@
-export CONFIG_MSM_VIDC_WAIPIO=y
-export CONFIG_MSM_VIDC_IRIS2=y

+ 0 - 8
config/waipio_video.h

@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (c) 2020-2021,, The Linux Foundation. All rights reserved.
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#define CONFIG_MSM_VIDC_IRIS2    1
-#define CONFIG_MSM_VIDC_WAIPIO   1

+ 0 - 27
driver/platform/anorak/inc/msm_vidc_anorak.h

@@ -1,27 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#ifndef _MSM_VIDC_ANORAK_H_
-#define _MSM_VIDC_ANORAK_H_
-
-#include "msm_vidc_core.h"
-
-#if defined(CONFIG_MSM_VIDC_ANORAK)
-int msm_vidc_init_platform_anorak(struct msm_vidc_core *core, struct device *dev);
-int msm_vidc_deinit_platform_anorak(struct msm_vidc_core *core, struct device *dev);
-#else
-int msm_vidc_init_platform_anorak(struct msm_vidc_core *core, struct device *dev)
-{
-	return -EINVAL;
-}
-
-int msm_vidc_deinit_platform_anorak(struct msm_vidc_core *core, struct device *dev)
-{
-	return -EINVAL;
-}
-#endif
-
-#endif // _MSM_VIDC_ANORAK_H_

+ 0 - 2435
driver/platform/anorak/src/msm_vidc_anorak.c

@@ -1,2435 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#include <dt-bindings/clock/qcom,gcc-anorak.h>
-#include <dt-bindings/clock/qcom,videocc-anorak.h>
-
-#include <linux/soc/qcom/llcc-qcom.h>
-#include <soc/qcom/of_common.h>
-
-#include <media/v4l2_vidc_extensions.h>
-#include "msm_vidc_anorak.h"
-#include "msm_vidc_platform.h"
-#include "msm_vidc_debug.h"
-#include "msm_vidc_internal.h"
-#include "msm_vidc_control_ext.h"
-#include "msm_vidc_iris3.h"
-#include "hfi_property.h"
-#include "hfi_command.h"
-
-#define DEFAULT_VIDEO_CONCEAL_COLOR_BLACK 0x8020010
-#define MAX_BASE_LAYER_PRIORITY_ID 63
-#define MAX_OP_POINT            31
-#define MAX_BITRATE             220000000
-#define DEFAULT_BITRATE         20000000
-#define MINIMUM_FPS             1
-#define MAXIMUM_FPS             480
-#define MAX_QP                  51
-#define DEFAULT_QP              20
-#define MAX_CONSTANT_QUALITY    100
-#define MIN_SLICE_BYTE_SIZE     512
-#define MAX_SLICE_BYTE_SIZE       \
-	((MAX_BITRATE) >> 3)
-#define MAX_SLICE_MB_SIZE         \
-	(((4096 + 15) >> 4) * ((2304 + 15) >> 4))
-
-#define ENC     MSM_VIDC_ENCODER
-#define DEC     MSM_VIDC_DECODER
-#define H264    MSM_VIDC_H264
-#define HEVC    MSM_VIDC_HEVC
-#define VP9     MSM_VIDC_VP9
-#define AV1     MSM_VIDC_AV1
-#define HEIC    MSM_VIDC_HEIC
-#define CODECS_ALL     (H264 | HEVC | VP9 | HEIC | AV1)
-#define MAXIMUM_OVERRIDE_VP9_FPS 200
-
-static struct msm_platform_core_capability core_data_anorak[] = {
-	/* {type, value} */
-	{ENC_CODECS, H264|HEVC|HEIC},
-	{DEC_CODECS, H264|HEVC|VP9|AV1|HEIC},
-	{MAX_SESSION_COUNT, 16},
-	{MAX_NUM_720P_SESSIONS, 16},
-	{MAX_NUM_1080P_SESSIONS, 16},
-	{MAX_NUM_4K_SESSIONS, 8},
-	{MAX_NUM_8K_SESSIONS, 2},
-	{MAX_SECURE_SESSION_COUNT, 3},
-	{MAX_RT_MBPF, 174080},	/* (8192x4352)/256 + (4096x2176)/256*/
-	{MAX_MBPF, 278528}, /* ((8192x4352)/256) * 2 */
-	{MAX_MBPS, 7833600},	/* max_load
-					 * 7680x4320@60fps or 3840x2176@240fps
-					 * which is greater than 4096x2176@120fps,
-					 * 8192x4320@48fps
-					 */
-	{MAX_IMAGE_MBPF, 1048576},  /* (16384x16384)/256 */
-	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
-	{MAX_MBPS_HQ, 489600}, /* ((1920x1088)/256)@60fps */
-	{MAX_MBPF_B_FRAME, 32640}, /* 3840x2176/256 */
-	{MAX_MBPS_B_FRAME, 1958400}, /* 3840x2176/256 MBs@60fps */
-	{MAX_MBPS_ALL_INTRA, 1044480}, /* 4096x2176/256 MBs@30fps */
-	{MAX_ENH_LAYER_COUNT, 5},
-	{NUM_VPP_PIPE, 4},
-	{SW_PC, 1},
-	{FW_UNLOAD, 0},
-	{HW_RESPONSE_TIMEOUT, HW_RESPONSE_TIMEOUT_VALUE}, /* 1000 ms */
-	{SW_PC_DELAY,         SW_PC_DELAY_VALUE        }, /* 1500 ms (>HW_RESPONSE_TIMEOUT)*/
-	{FW_UNLOAD_DELAY,     FW_UNLOAD_DELAY_VALUE    }, /* 3000 ms (>SW_PC_DELAY)*/
-	{PAGEFAULT_NON_FATAL, 1},
-	{PAGETABLE_CACHING, 0},
-	{DCVS, 1},
-	{DECODE_BATCH, 1},
-	{DECODE_BATCH_TIMEOUT, 200},
-	{STATS_TIMEOUT_MS, 2000},
-	{AV_SYNC_WINDOW_SIZE, 40},
-	{NON_FATAL_FAULTS, 1},
-	{ENC_AUTO_FRAMERATE, 1},
-	{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
-		V4L2_CAP_STREAMING},
-	{SUPPORTS_REQUESTS, 1},
-};
-
-static struct msm_platform_inst_capability instance_cap_data_anorak[] = {
-	/* {cap, domain, codec,
-	 *      min, max, step_or_mask, value,
-	 *      v4l2_id,
-	 *      hfi_id,
-	 *      flags}
-	 */
-
-	{FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
-
-	{FRAME_WIDTH, DEC, VP9, 96, 4096, 1, 1920},
-
-	{FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
-
-	{FRAME_WIDTH, ENC, HEVC, 96, 8192, 1, 1920},
-
-	{FRAME_WIDTH, ENC, HEIC, 128, 16384, 1, 16384},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, CODECS_ALL, 128, 4096, 1, 1920},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, HEVC, 96, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 128, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, ENC, HEVC, 96, 4096, 1, 1920},
-
-	{FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, DEC, VP9, 96, 4096, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, HEVC, 96, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, HEIC, 128, 16384, 1, 16384},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, HEVC, 96, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, ENC, HEVC, 96, 4096, 1, 1080},
-
-	{PIX_FMTS, ENC|DEC, H264,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12C},
-
-	{PIX_FMTS, ENC|DEC, HEVC|VP9|AV1,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
-		MSM_VIDC_FMT_P010 | MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12C},
-
-	{PIX_FMTS, ENC, HEIC,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_P010,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_P010,
-		MSM_VIDC_FMT_NV12},
-
-	{PIX_FMTS, DEC, HEIC,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
-		MSM_VIDC_FMT_P010 | MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12C},
-
-	{MIN_BUFFERS_INPUT, ENC|DEC, CODECS_ALL, 0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_OUTPUT},
-
-	{MIN_BUFFERS_INPUT, ENC|DEC, HEIC, 0, 64, 1, 1,
-		V4L2_CID_MIN_BUFFERS_FOR_OUTPUT},
-
-	{MIN_BUFFERS_OUTPUT, ENC|DEC, CODECS_ALL,
-		0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,
-		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	/* (8192 * 4320) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 138240, 1, 138240},
-
-	{MBPF, ENC, HEVC, 36, 138240, 1, 138240},
-
-	/* ((16384x16384)/256) */
-	{MBPF, ENC, HEIC, 36, 1048576, 1, 1048576},
-
-	{MBPF, DEC, CODECS_ALL, 36, 138240, 1, 138240},
-
-	/* (4096 * 2304) / 256 */
-	{MBPF, DEC, VP9, 36, 36864, 1, 36864},
-
-	/* ((8192x8192)/256) */
-	{MBPF, DEC, HEIC, 64, 262144,  1, 262144 },
-
-	/* (4096 * 2304) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
-
-	/* Batch Mode Decode */
-	/* TODO: update with new values based on updated voltage corner */
-	{BATCH_MBPF, DEC, H264|HEVC|VP9|AV1, 64, 34816, 1, 34816},
-
-	/* (4096 * 2304) / 256 */
-	{BATCH_FPS, DEC, H264|HEVC|VP9|AV1, 1, 120, 1, 120},
-
-	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9|AV1, 64, 36864, 1, 36864},
-
-	{SECURE_MBPF, ENC, HEVC, 36, 36864, 1, 36864},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		0,
-		HFI_PROP_FRAME_RATE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{FRAME_RATE, ENC, HEIC,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (MINIMUM_FPS << 16),
-		0,
-		HFI_PROP_FRAME_RATE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{FRAME_RATE, DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_FRAME_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{FRAME_RATE, DEC, VP9,
-		(MINIMUM_FPS << 16), (MAXIMUM_OVERRIDE_VP9_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_FRAME_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{OPERATING_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16)},
-
-	{OPERATING_RATE, DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_OPERATING_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{OPERATING_RATE, DEC, VP9,
-		(MINIMUM_FPS << 16), (MAXIMUM_OVERRIDE_VP9_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_OPERATING_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{INPUT_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{TIMESTAMP_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{SCALE_FACTOR, ENC, H264|HEVC, 1, 8, 1, 8},
-
-	{MB_CYCLES_VSP, ENC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, VP9|AV1, 60, 60, 1, 60},
-
-	{MB_CYCLES_VPP, ENC, CODECS_ALL, 675, 675, 1, 675},
-
-	{MB_CYCLES_VPP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_LP, ENC, CODECS_ALL, 320, 320, 1, 320},
-
-	{MB_CYCLES_LP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_FW, ENC|DEC, CODECS_ALL, 489583, 489583, 1, 489583},
-
-	{MB_CYCLES_FW_VPP, ENC, CODECS_ALL, 48405, 48405, 1, 48405},
-
-	{MB_CYCLES_FW_VPP, DEC, CODECS_ALL, 66234, 66234, 1, 66234},
-
-	{CLIENT_ID, ENC|DEC, CODECS_ALL,
-		INVALID_CLIENT_ID, INT_MAX, 1, INVALID_CLIENT_ID,
-		V4L2_CID_MPEG_VIDC_CLIENT_ID},
-
-	{SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_SECURE,
-		HFI_PROP_SECURE,
-		CAP_FLAG_NONE},
-
-	/*
-	 * Client will enable V4L2_CID_MPEG_VIDC_METADATA_OUTBUF_FENCE
-	 * to get fence_id in input metadata buffer done.
-	 */
-	{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_OUTBUF_FENCE,
-		HFI_PROP_FENCE,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	/*
-	 * Client to do set_ctrl with FENCE_ID to set fence_id
-	 * and then client will do get_ctrl with FENCE_FD to get
-	 * fence_fd corresponding to client set fence_id.
-	 */
-	{FENCE_ID, DEC, CODECS_ALL,
-		0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_SW_FENCE_ID,
-		0,
-		CAP_FLAG_DYNAMIC_ALLOWED | CAP_FLAG_OUTPUT_PORT},
-
-	{FENCE_FD, DEC, CODECS_ALL,
-		INVALID_FD, INT_MAX, 1, INVALID_FD,
-		V4L2_CID_MPEG_VIDC_SW_FENCE_FD},
-
-	{TS_REORDER, DEC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_TS_REORDER},
-
-	{HFLIP, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_HFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT |
-			CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{VFLIP, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_VFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ROTATION, ENC, CODECS_ALL,
-		0, 270, 90, 0,
-		V4L2_CID_ROTATE,
-		HFI_PROP_ROTATION,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		0, 32, 1, 0,
-		V4L2_CID_MPEG_VIDC_SUPERFRAME, 0,
-		CAP_FLAG_NONE},
-
-	{SLICE_DECODE, DEC, H264|HEVC|AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE,
-		HFI_PROP_SLICE_DECODE,
-		CAP_FLAG_INPUT_PORT},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) |
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME),
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_CID_MPEG_VIDEO_HEADER_MODE,
-		HFI_PROP_SEQ_HEADER_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PREPEND_SPSPPS_TO_IDR, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR},
-
-	{VUI_TIMING_INFO, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_VUI_TIMING_INFO,
-		HFI_PROP_DISABLE_VUI_TIMING_INFO,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{WITHOUT_STARTCODE, DEC, AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_DISABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_INPUT_PORT},
-
-	{NAL_LENGTH_FIELD, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_4,
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_0) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_4),
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_MENU | CAP_FLAG_OUTPUT_PORT},
-
-	/* TODO: Firmware introduced enumeration type for this
-	 * with and without seq header.
-	 */
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		0, 0, 0, 0,
-		V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
-		HFI_PROP_REQUEST_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	/* Enc: Keeping CABAC and CAVLC as same bitrate.
-	 * Dec: there's no use of Bitrate cap
-	 */
-	{BIT_RATE, ENC, H264|HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE,
-		HFI_PROP_TOTAL_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITRATE_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_MODE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_MODE, ENC, HEIC,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{CABAC_MAX_BITRATE, ENC, H264|HEVC, 0,
-		160000000, 1, 160000000},
-
-	{CAVLC_MAX_BITRATE, ENC, H264, 0,
-		220000000, 1, 220000000},
-
-	{ALLINTRA_MAX_BITRATE, ENC, H264|HEVC, 0,
-		220000000, 1, 220000000},
-
-	{LOWLATENCY_MAX_BITRATE, ENC, H264|HEVC, 0,
-		70000000, 1, 70000000},
-
-	{NUM_COMV, DEC, CODECS_ALL,
-		0, INT_MAX, 1, 0},
-
-	{LOSSLESS, ENC, HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU},
-
-	{FRAME_SKIP_MODE, ENC, H264|HEVC|HEIC,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT),
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{FRAME_RC_ENABLE, ENC, H264|HEVC|HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE},
-
-	{CONSTANT_QUALITY, ENC, HEVC,
-		1, MAX_CONSTANT_QUALITY, 1, 90,
-		V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
-		HFI_PROP_CONSTANT_QUALITY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{CONSTANT_QUALITY, ENC, HEIC,
-		1, MAX_CONSTANT_QUALITY, 1, 100,
-		V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
-		HFI_PROP_CONSTANT_QUALITY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		0, INT_MAX, 1, 2 * DEFAULT_FPS - 1,
-		V4L2_CID_MPEG_VIDEO_GOP_SIZE,
-		HFI_PROP_MAX_GOP_FRAMES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_SIZE, ENC, HEIC,
-		0, INT_MAX, 1, 0 /* all intra */,
-		V4L2_CID_MPEG_VIDEO_GOP_SIZE,
-		HFI_PROP_MAX_GOP_FRAMES,
-		CAP_FLAG_OUTPUT_PORT |
-			CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_CLOSURE, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,
-		0},
-
-	{B_FRAME, ENC, H264|HEVC,
-		0, 7, 1, 0,
-		V4L2_CID_MPEG_VIDEO_B_FRAMES,
-		HFI_PROP_MAX_B_FRAMES,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{B_FRAME, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_B_FRAMES,
-		HFI_PROP_MAX_B_FRAMES,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		VIDC_BLUR_NONE, VIDC_BLUR_EXTERNAL,
-		BIT(VIDC_BLUR_NONE) | BIT(VIDC_BLUR_EXTERNAL),
-		VIDC_BLUR_NONE,
-		V4L2_CID_MPEG_VIDC_VIDEO_BLUR_TYPES,
-		HFI_PROP_BLUR_TYPES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BLUR_RESOLUTION, ENC, H264|HEVC,
-		0, S32_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION,
-		HFI_PROP_BLUR_RESOLUTION,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{CSC, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_CSC},
-
-	{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_CUSTOM_MATRIX,
-		HFI_PROP_CSC_MATRIX,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{LOWLATENCY_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
-		0,
-		CAP_FLAG_NONE},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		0, MAX_LTR_FRAME_COUNT_2, 1, 0,
-		V4L2_CID_MPEG_VIDEO_LTR_COUNT,
-		HFI_PROP_LTR_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{USE_LTR, ENC, H264|HEVC,
-		INVALID_DEFAULT_MARK_OR_USE_LTR,
-		((1 << MAX_LTR_FRAME_COUNT_2) - 1),
-		1, INVALID_DEFAULT_MARK_OR_USE_LTR,
-		V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES,
-		HFI_PROP_LTR_USE,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		INVALID_DEFAULT_MARK_OR_USE_LTR,
-		(MAX_LTR_FRAME_COUNT_2 - 1),
-		1, INVALID_DEFAULT_MARK_OR_USE_LTR,
-		V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,
-		HFI_PROP_LTR_MARK,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BASELAYER_PRIORITY, ENC, H264,
-		0, MAX_BASE_LAYER_PRIORITY_ID, 1, 0,
-		V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID,
-		HFI_PROP_BASELAYER_PRIORITYID,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{IR_TYPE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM,
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_CYCLIC,
-		BIT(V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM) |
-		BIT(V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_CYCLIC),
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM,
-		V4L2_CID_MPEG_VIDEO_VIDC_INTRA_REFRESH_TYPE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{IR_PERIOD, ENC, H264|HEVC,
-		0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_INTRA_REFRESH_PERIOD,
-		0,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_AU_DELIMITER,
-		HFI_PROP_AUD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TIME_DELTA_BASED_RC, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC,
-		HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TIME_DELTA_BASED_RC, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC,
-		HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDC_CONTENT_ADAPTIVE_CODING,
-		HFI_PROP_CONTENT_ADAPTIVE_CODING,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		MSM_VIDC_PREPROCESS_NONE,
-		MSM_VIDC_PREPROCESS_TYPE0,
-		BIT(MSM_VIDC_PREPROCESS_NONE) |
-		BIT(MSM_VIDC_PREPROCESS_TYPE0),
-		MSM_VIDC_PREPROCESS_NONE,
-		0, HFI_PROP_REQUEST_PREPROCESS,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_BOOST, ENC, H264|HEVC,
-		0, MAX_BITRATE_BOOST, 25, MAX_BITRATE_BOOST,
-		V4L2_CID_MPEG_VIDC_QUALITY_BITRATE_BOOST,
-		HFI_PROP_BITRATE_BOOST,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MIN_QUALITY, ENC, H264|HEVC,
-		0, MAX_SUPPORTED_MIN_QUALITY, 70, MAX_SUPPORTED_MIN_QUALITY,
-		0,
-		HFI_PROP_MAINTAIN_MIN_QUALITY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		200, 300, 100, 300,
-		V4L2_CID_MPEG_VIDEO_VBV_DELAY,
-		HFI_PROP_VBV_DELAY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		/* default peak bitrate is 10% larger than avg bitrate */
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,
-		HFI_PROP_TOTAL_PEAK_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MIN_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MIN_FRAME_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP},
-
-	{I_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP},
-
-	{MAX_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MAX_FRAME_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP},
-
-	{I_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP},
-
-	{I_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{I_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LAYER_TYPE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_TYPE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_ENABLE, ENC, H264,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{LAYER_ENABLE, ENC, HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{ENH_LAYER_COUNT, ENC, HEVC,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENH_LAYER_COUNT, ENC, H264,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENH_LAYER_COUNT, DEC, AV1,
-		0, MAX_OP_POINT, 1, 0,
-		0,
-		HFI_PROP_AV1_OP_POINT,
-		CAP_FLAG_INPUT_PORT},
-
-	{L0_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L0_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L3_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-	{L3_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENTROPY_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,
-		HFI_PROP_CABAC_SESSION,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{ENTROPY_MODE, DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		0,
-		HFI_PROP_CABAC_SESSION},
-
-	{PROFILE, ENC|DEC, H264,
-		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,
-		V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH,
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH),
-		V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
-		V4L2_CID_MPEG_VIDEO_H264_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, ENC|DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE,
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE),
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_2,
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_2),
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_CID_MPEG_VIDEO_VP9_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, DEC, AV1,
-		V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN,
-		V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN,
-		BIT(V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN),
-		V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN,
-		V4L2_CID_MPEG_VIDEO_AV1_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_0,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_2),
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1)|
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, AV1,
-		V4L2_MPEG_VIDEO_AV1_LEVEL_2_0,
-		V4L2_MPEG_VIDEO_AV1_LEVEL_6_1,
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_2_3) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_3_3) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_4_3) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_5_3) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_6_0) |
-		BIT(V4L2_MPEG_VIDEO_AV1_LEVEL_6_1),
-		V4L2_MPEG_VIDEO_AV1_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_AV1_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{AV1_TIER, DEC, AV1,
-		V4L2_MPEG_VIDEO_AV1_TIER_MAIN,
-		V4L2_MPEG_VIDEO_AV1_TIER_HIGH,
-		BIT(V4L2_MPEG_VIDEO_AV1_TIER_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_AV1_TIER_HIGH),
-		V4L2_MPEG_VIDEO_AV1_TIER_HIGH,
-		V4L2_CID_MPEG_VIDEO_AV1_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{HEVC_TIER, ENC|DEC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_HIGH),
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		V4L2_CID_MPEG_VIDEO_HEVC_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{HEVC_TIER, ENC|DEC, HEIC,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN),
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_CID_MPEG_VIDEO_HEVC_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		DB_H264_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED) |
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED) |
-		BIT(DB_H264_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,
-		DB_HEVC_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED) |
-		BIT(DB_HEVC_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_ALPHA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA},
-
-	{LF_ALPHA, ENC, HEVC|HEIC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2},
-
-	{LF_BETA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA},
-
-	{LF_BETA, ENC, HEVC|HEIC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES),
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{SLICE_MODE, ENC, HEIC,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE),
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{SLICE_MAX_BYTES, ENC, H264|HEVC,
-		MIN_SLICE_BYTE_SIZE, MAX_SLICE_BYTE_SIZE,
-		1, MIN_SLICE_BYTE_SIZE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,
-		HFI_PROP_MULTI_SLICE_BYTES_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SLICE_MAX_MB, ENC, H264|HEVC,
-		1, MAX_SLICE_MB_SIZE, 1, 1,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,
-		HFI_PROP_MULTI_SLICE_MB_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MB_RC, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TRANSFORM_8X8, ENC, H264,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM,
-		HFI_PROP_8X8_TRANSFORM,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		MIN_CHROMA_QP_OFFSET, MAX_CHROMA_QP_OFFSET,
-		1, MAX_CHROMA_QP_OFFSET,
-		V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET,
-		HFI_PROP_CHROMA_QP_OFFSET,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, 0x0, 0xff3fcff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_8BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, 0x0, 0x3fffffff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_10BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{STAGE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_STAGE_1,
-		MSM_VIDC_STAGE_2, 1,
-		MSM_VIDC_STAGE_2,
-		0,
-		HFI_PROP_STAGE},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_PIPE_1,
-		MSM_VIDC_PIPE_4, 1,
-		MSM_VIDC_PIPE_4,
-		0,
-		HFI_PROP_PIPE},
-
-	{POC, DEC, H264, 0, 2, 1, 1,
-		0,
-		HFI_PROP_PIC_ORDER_CNT_TYPE},
-
-	{QUALITY_MODE, ENC, CODECS_ALL,
-		MSM_VIDC_MAX_QUALITY_MODE,
-		MSM_VIDC_POWER_SAVE_MODE, 1,
-		MSM_VIDC_POWER_SAVE_MODE},
-
-	{CODED_FRAMES, DEC, H264|HEVC|HEIC,
-		CODED_FRAMES_PROGRESSIVE, CODED_FRAMES_INTERLACE,
-		1, CODED_FRAMES_PROGRESSIVE,
-		0,
-		HFI_PROP_CODED_FRAMES},
-
-	{BIT_DEPTH, DEC, CODECS_ALL, BIT_DEPTH_8, BIT_DEPTH_10, 1, BIT_DEPTH_8,
-		0,
-		HFI_PROP_LUMA_CHROMA_BIT_DEPTH},
-
-	{CODEC_CONFIG, DEC, H264|HEVC|HEIC|AV1, 0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_CODEC_CONFIG, 0,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITSTREAM_SIZE_OVERWRITE, DEC, CODECS_ALL, 0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_MIN_BITSTREAM_SIZE_OVERWRITE},
-
-	{THUMBNAIL_MODE, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_THUMBNAIL_MODE,
-		HFI_PROP_THUMBNAIL_MODE,
-		CAP_FLAG_INPUT_PORT},
-
-	{DEFAULT_HEADER, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DEC_DEFAULT_HEADER},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_DEC_START_FROM_RAP_FRAME,
-		CAP_FLAG_INPUT_PORT},
-
-	{SEQ_CHANGE_AT_SYNC_FRAME, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{PRIORITY, DEC|ENC, CODECS_ALL,
-		0, 1 + NRT_PRIORITY_OFFSET, 1, 1 + NRT_PRIORITY_OFFSET,
-		V4L2_CID_MPEG_VIDC_PRIORITY,
-		HFI_PROP_SESSION_PRIORITY,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		1, 1, 1, 1},
-
-	{CRITICAL_PRIORITY, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_CRITICAL_PRIORITY},
-
-	{RESERVE_DURATION, ENC, CODECS_ALL,
-		0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_RESERVE_DURATION,
-		HFI_CMD_RESERVE,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENC_IP_CR, ENC, CODECS_ALL,
-		0, S32_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_ENC_INPUT_COMPRESSION_RATIO,
-		0, CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DPB_LIST,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{FILM_GRAIN, DEC, AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_AV1D_FILM_GRAIN_PRESENT,
-		HFI_PROP_AV1_FILM_GRAIN_PRESENT},
-
-	{SUPER_BLOCK, DEC, AV1,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_AV1_SUPER_BLOCK_ENABLED},
-
-	{DRAP, DEC, AV1,
-		0, S32_MAX, 1, 0,
-		0,
-		HFI_PROP_AV1_DRAP_CONFIG,
-		CAP_FLAG_INPUT_PORT},
-
-	{LAST_FLAG_EVENT_ENABLE, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_LAST_FLAG_EVENT_ENABLE},
-
-	{META_BITSTREAM_RESOLUTION, DEC, AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_BITSTREAM_RESOLUTION,
-		HFI_PROP_BITSTREAM_RESOLUTION,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_CROP_OFFSETS, DEC, AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_CROP_OFFSETS,
-		HFI_PROP_CROP_OFFSETS,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{META_LTR_MARK_USE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_SEQ_HDR_NAL, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_DPB_MISR, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_OPB_MISR, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_INTERLACE, DEC, H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_INTERLACE,
-		HFI_PROP_INTERLACE_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TIMESTAMP, DEC | ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TIMESTAMP,
-		HFI_PROP_TIMESTAMP,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_CONCEALED_MB_CNT, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_CONCEALED_MB_COUNT,
-		HFI_PROP_CONEALED_MB_COUNT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_HIST_INFO, DEC, HEVC|AV1|VP9,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO,
-		HFI_PROP_HISTOGRAM_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TRANSCODING_STAT_INFO, DEC, HEVC|H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TRANSCODING_STAT_INFO, ENC, HEVC|H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_PICTURE_TYPE, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_PICTURE_TYPE,
-		HFI_PROP_PICTURE_TYPE,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SEI_MASTERING_DISP, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SEI_MASTERING_DISP, DEC, HEVC|HEIC|AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_SEI_CLL, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SEI_CLL, DEC, HEVC|HEIC|AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_HDR10PLUS, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
-		HFI_PROP_SEI_HDR10PLUS_USERDATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_HDR10PLUS, DEC, HEVC|HEIC|AV1,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
-		HFI_PROP_SEI_HDR10PLUS_USERDATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_DOLBY_RPU, ENC, HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU,
-		HFI_PROP_DOLBY_RPU_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_DOLBY_RPU, DEC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DOLBY_RPU,
-		HFI_PROP_DOLBY_RPU_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_EVA_STATS, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_EVA_STATS,
-		HFI_PROP_EVA_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_BUF_TAG, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG,
-		HFI_PROP_BUFFER_TAG,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	/*
-	 * when fence enabled, client needs output buffer_tag
-	 * in input metadata buffer done.
-	 */
-	{META_BUF_TAG, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT |
-			V4L2_MPEG_VIDC_META_TX_OUTPUT | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG,
-		HFI_PROP_BUFFER_TAG,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_DPB_TAG_LIST, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DPB_TAG_LIST,
-		HFI_PROP_DPB_TAG_LIST,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SUBFRAME_OUTPUT, ENC, HEIC | H264 | HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT,
-		HFI_PROP_SUBFRAME_OUTPUT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SUBFRAME_OUTPUT, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT,
-		HFI_PROP_SUBFRAME_OUTPUT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_ENC_QP_METADATA, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_ENC_QP_METADATA,
-		HFI_PROP_ENC_QP_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_ROI_INFO, ENC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SALIENCY_INFO, ENC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_DEC_QP_METADATA, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DEC_QP_METADATA,
-		HFI_PROP_DEC_QP_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{GRID, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_HEIC_GRID_ENABLE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{COMPLEXITY, ENC, H264|HEVC,
-		0, 100,
-		1, DEFAULT_COMPLEXITY,
-		V4L2_CID_MPEG_VIDC_VENC_COMPLEXITY},
-
-	{META_MAX_NUM_REORDER_FRAMES, DEC, HEVC | H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{DELIVERY_MODE, ENC, HEVC,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE,
-		HFI_PROP_ENABLE_SLICE_DELIVERY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{DELIVERY_MODE, ENC, H264,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE,
-		HFI_PROP_ENABLE_SLICE_DELIVERY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-};
-
-static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_anorak[] = {
-	/* {cap, domain, codec,
-	 *      parents,
-	 *      children,
-	 *      adjust, set}
-	 */
-
-	{PIX_FMTS, ENC, H264,
-		{META_ROI_INFO, IR_PERIOD}},
-
-	{PIX_FMTS, ENC, HEVC,
-		{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
-			B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD,
-			LTR_COUNT}},
-
-	{PIX_FMTS, ENC, HEIC,
-		{PROFILE}},
-
-	{PIX_FMTS, DEC, HEVC|HEIC,
-		{PROFILE}},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_q16},
-
-	{FRAME_RATE, DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_dec_frame_rate},
-
-	{OPERATING_RATE, DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_dec_operating_rate},
-
-	{SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1,
-		{LOWLATENCY_MODE, SLICE_DECODE},
-		msm_vidc_adjust_dec_outbuf_fence,
-		NULL},
-
-	{HFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{VFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{ROTATION, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_rotation},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
-		NULL,
-		NULL},
-
-	{SLICE_DECODE, DEC, H264|HEVC|AV1,
-		{0},
-		msm_vidc_adjust_dec_slice_mode,
-		msm_vidc_set_u32},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_header_mode},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_nal_length},
-
-	{WITHOUT_STARTCODE, DEC, AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_req_sync_frame},
-
-	{BIT_RATE, ENC, H264,
-		{PEAK_BITRATE, BITRATE_BOOST, L0_BR},
-		msm_vidc_adjust_bitrate,
-		msm_vidc_set_bitrate},
-
-	{BIT_RATE, ENC, HEVC,
-		{PEAK_BITRATE, BITRATE_BOOST, L0_BR},
-		msm_vidc_adjust_bitrate,
-		msm_vidc_set_bitrate},
-
-	{BITRATE_MODE, ENC, H264,
-		{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
-			P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
-			META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{BITRATE_MODE, ENC, HEVC,
-		{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
-			P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
-			BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{BITRATE_MODE, ENC, HEIC,
-		{TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{CONSTANT_QUALITY, ENC, HEVC|HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_constant_quality},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		{ALL_INTRA},
-		msm_vidc_adjust_gop_size,
-		msm_vidc_set_gop_size},
-
-	{GOP_SIZE, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{B_FRAME, ENC, H264|HEVC,
-		{ALL_INTRA},
-		msm_vidc_adjust_b_frame,
-		msm_vidc_set_u32},
-
-	{B_FRAME, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		{BLUR_RESOLUTION},
-		msm_vidc_adjust_blur_type,
-		msm_vidc_set_u32_enum},
-
-	{BLUR_RESOLUTION, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_blur_resolution,
-		msm_vidc_set_blur_resolution},
-
-	{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_csc_custom_matrix},
-
-	{LOWLATENCY_MODE, ENC, H264 | HEVC,
-		{STAGE, BIT_RATE},
-		msm_vidc_adjust_enc_lowlatency_mode,
-		NULL},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1,
-		{STAGE, SLICE_DECODE},
-		msm_vidc_adjust_dec_lowlatency_mode,
-		NULL},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_ltr_count,
-		msm_vidc_set_u32},
-
-	{USE_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_use_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_mark_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{IR_PERIOD, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_ir_period,
-		msm_vidc_set_ir_period},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_delta_based_rc,
-		msm_vidc_set_u32},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		{REQUEST_PREPROCESS},
-		msm_vidc_adjust_brs,
-		msm_vidc_set_vbr_related_properties},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_preprocess,
-		msm_vidc_set_preprocess},
-
-	{BITRATE_BOOST, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_bitrate_boost_iris3,
-		msm_vidc_set_vbr_related_properties},
-
-	{MIN_QUALITY, ENC, H264,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_vbr_related_properties},
-
-	{MIN_QUALITY, ENC, HEVC,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_vbr_related_properties},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_cbr_related_properties},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_peak_bitrate,
-		msm_vidc_set_cbr_related_properties},
-
-	{MIN_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_min_qp},
-
-	{MIN_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_min_qp,
-		msm_vidc_set_min_qp},
-
-	{MAX_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_max_qp},
-
-	{MAX_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_max_qp,
-		msm_vidc_set_max_qp},
-
-	{I_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_i_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{I_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_p_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_b_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{LAYER_TYPE, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING, LTR_COUNT}},
-
-	{LAYER_ENABLE, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING}},
-
-	{ENH_LAYER_COUNT, ENC, H264|HEVC,
-		{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE,
-			LTR_COUNT},
-		msm_vidc_adjust_layer_count,
-		msm_vidc_set_layer_count_and_type},
-
-	{ENH_LAYER_COUNT, DEC, AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{L0_BR, ENC, H264|HEVC,
-		{L1_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L1_BR, ENC, H264|HEVC,
-		{L2_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L2_BR, ENC, H264|HEVC,
-		{L3_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L3_BR, ENC, H264|HEVC,
-		{L4_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L4_BR, ENC, H264|HEVC,
-		{L5_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L5_BR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{ENTROPY_MODE, ENC, H264,
-		{BIT_RATE},
-		msm_vidc_adjust_entropy_mode,
-		msm_vidc_set_u32},
-
-	{PROFILE, ENC, H264,
-		{ENTROPY_MODE, TRANSFORM_8X8},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, H264,
-		{ENTROPY_MODE},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, ENC|DEC, HEVC|HEIC,
-		{0},
-		msm_vidc_adjust_profile,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, VP9|AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_level},
-
-	{AV1_TIER, DEC, AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{HEVC_TIER, ENC|DEC, HEVC|HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LF_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_deblock_mode},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		{STAGE, DELIVERY_MODE},
-		msm_vidc_adjust_slice_count,
-		msm_vidc_set_slice_count},
-
-	{SLICE_MODE, ENC, HEIC,
-		{0},
-		msm_vidc_adjust_slice_count,
-		msm_vidc_set_slice_count},
-
-	{TRANSFORM_8X8, ENC, H264,
-		{0},
-		msm_vidc_adjust_transform_8x8,
-		msm_vidc_set_u32},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_chroma_qp_index_offset,
-		msm_vidc_set_chroma_qp_index_offset},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1,
-		{META_OUTBUF_FENCE, SLICE_DECODE},
-		msm_vidc_adjust_output_order,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{STAGE, ENC | DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, DEC, H264|HEVC|VP9|AV1,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_pipe},
-
-	{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
-		{OUTPUT_ORDER},
-		NULL,
-		msm_vidc_set_u32},
-
-	{THUMBNAIL_MODE, DEC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{PRIORITY, DEC|ENC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_session_priority,
-		msm_vidc_set_session_priority},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{CRITICAL_PRIORITY, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{RESERVE_DURATION, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_reserve_duration},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{DRAP, DEC, AV1,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		{LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE},
-		msm_vidc_adjust_all_intra,
-		NULL},
-
-	{META_EVA_STATS, ENC, H264|HEVC,
-		{ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
-
-	{META_EVA_STATS, ENC, HEIC,
-		{0}},
-
-	{META_ROI_INFO, ENC, H264|HEVC,
-		{MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
-		msm_vidc_adjust_roi_info,
-		NULL},
-
-	{GRID, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{DELIVERY_MODE, ENC, H264|HEVC,
-		{LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
-		msm_vidc_adjust_delivery_mode,
-		msm_vidc_set_u32},
-
-	{VUI_TIMING_INFO, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_vui_timing_info},
-};
-
-/* Default UBWC config for LPDDR5 */
-static struct msm_vidc_ubwc_config_data ubwc_config_anorak[] = {
-	UBWC_CONFIG(8, 32, 16, 0, 1, 1, 1),
-};
-
-/* name, min_kbps, max_kbps */
-static const struct bw_table anorak_bw_table[] = {
-	{ "venus-cnoc",  1000, 1000     },
-	{ "venus-ddr",   1000, 15000000 },
-	{ "venus-llcc",  1000, 15000000 },
-};
-
-/* name, hw_trigger */
-static const struct regulator_table anorak_regulator_table[] = {
-	{ "iris-ctl", 0 },
-	{ "vcodec",   1 },
-};
-
-/* name, clock id, scaling */
-static const struct clk_table anorak_clk_table[] = {
-	{ "gcc_video_axi0",         GCC_VIDEO_AXI0_CLK,     0 },
-	{ "core_clk",               VIDEO_CC_MVS0C_CLK,     0 },
-	{ "vcodec_clk",             VIDEO_CC_MVS0_CLK,      0 },
-	{ "video_cc_mvs0_clk_src",  VIDEO_CC_MVS0_CLK_SRC,  1 },
-};
-
-/* name, exclusive_release */
-static const struct clk_rst_table anorak_clk_reset_table[] = {
-	{ "video_axi_reset",        0  },
-};
-
-/* name, llcc_id */
-static const struct subcache_table anorak_subcache_table[] = {
-	{ "vidsc0",     LLCC_VIDSC0 },
-	{ "vidvsp",     LLCC_VIDVSP },
-};
-
-/* name, start, size, secure, dma_coherant, region, dma_mask */
-const struct context_bank_table anorak_context_bank_table[] = {
-	{"qcom,vidc,cb-ns",             0x25800000, 0xba800000, 0, 1, MSM_VIDC_NON_SECURE,       0 },
-	{"qcom,vidc,cb-ns-pxl",         0x00100000, 0xdff00000, 0, 1, MSM_VIDC_NON_SECURE_PIXEL, 0 },
-	{"qcom,vidc,cb-sec-pxl",        0x00500000, 0xdfb00000, 1, 0, MSM_VIDC_SECURE_PIXEL,     0 },
-	{"qcom,vidc,cb-sec-non-pxl",    0x01000000, 0x24800000, 1, 0, MSM_VIDC_SECURE_NONPIXEL,  0 },
-	{"qcom,vidc,cb-sec-bitstream",  0x00500000, 0xdfb00000, 1, 0, MSM_VIDC_SECURE_BITSTREAM, 0 },
-};
-
-/* freq */
-static struct freq_table anorak_freq_table[] = {
-	{533000000}, {444000000}, {366000000}, {338000000}, {240000000}
-};
-
-/* register, value, mask */
-static const struct reg_preset_table anorak_reg_preset_table[] = {
-	{ 0xB0088, 0x0, 0x11 },
-};
-
-static const struct msm_vidc_platform_data anorak_data = {
-	/* resources dependent on other module */
-	.bw_tbl = anorak_bw_table,
-	.bw_tbl_size = ARRAY_SIZE(anorak_bw_table),
-	.regulator_tbl = anorak_regulator_table,
-	.regulator_tbl_size = ARRAY_SIZE(anorak_regulator_table),
-	.clk_tbl = anorak_clk_table,
-	.clk_tbl_size = ARRAY_SIZE(anorak_clk_table),
-	.clk_rst_tbl = anorak_clk_reset_table,
-	.clk_rst_tbl_size = ARRAY_SIZE(anorak_clk_reset_table),
-	.subcache_tbl = anorak_subcache_table,
-	.subcache_tbl_size = ARRAY_SIZE(anorak_subcache_table),
-
-	/* populate context bank */
-	.context_bank_tbl = anorak_context_bank_table,
-	.context_bank_tbl_size = ARRAY_SIZE(anorak_context_bank_table),
-
-	/* platform specific resources */
-	.freq_tbl = anorak_freq_table,
-	.freq_tbl_size = ARRAY_SIZE(anorak_freq_table),
-	.reg_prst_tbl = anorak_reg_preset_table,
-	.reg_prst_tbl_size = ARRAY_SIZE(anorak_reg_preset_table),
-	.fwname = "vpu33_4v",
-	.pas_id = 9,
-	.supports_mmrm = 0,
-
-	/* caps related resorces */
-	.core_data = core_data_anorak,
-	.core_data_size = ARRAY_SIZE(core_data_anorak),
-	.inst_cap_data = instance_cap_data_anorak,
-	.inst_cap_data_size = ARRAY_SIZE(instance_cap_data_anorak),
-	.inst_cap_dependency_data = instance_cap_dependency_data_anorak,
-	.inst_cap_dependency_data_size = ARRAY_SIZE(instance_cap_dependency_data_anorak),
-	.csc_data.vpe_csc_custom_bias_coeff = vpe_csc_custom_bias_coeff,
-	.csc_data.vpe_csc_custom_matrix_coeff = vpe_csc_custom_matrix_coeff,
-	.csc_data.vpe_csc_custom_limit_coeff = vpe_csc_custom_limit_coeff,
-	.ubwc_config = ubwc_config_anorak,
-};
-
-int msm_vidc_anorak_check_ddr_type(void)
-{
-	u32 ddr_type;
-
-	ddr_type = of_fdt_get_ddrtype();
-	if (ddr_type != DDR_TYPE_LPDDR5 &&
-		ddr_type != DDR_TYPE_LPDDR5X) {
-		d_vpr_e("%s: wrong ddr type %d\n", __func__, ddr_type);
-		return -EINVAL;
-	} else {
-		d_vpr_h("%s: ddr type %d\n", __func__, ddr_type);
-	}
-	return 0;
-}
-
-static int msm_vidc_init_data(struct msm_vidc_core *core)
-{
-	int rc = 0;
-
-	if (!core || !core->platform) {
-		d_vpr_e("%s: invalid params\n", __func__);
-		return -EINVAL;
-	}
-	d_vpr_h("%s: initialize anorak data\n", __func__);
-
-	core->platform->data = anorak_data;
-	rc = msm_vidc_anorak_check_ddr_type();
-	if (rc)
-		return rc;
-
-	return rc;
-}
-
-int msm_vidc_init_platform_anorak(struct msm_vidc_core *core, struct device *dev)
-{
-	int rc = 0;
-
-	rc = msm_vidc_init_data(core);
-	if (rc)
-		return rc;
-
-	return 0;
-}
-
-int msm_vidc_deinit_platform_anorak(struct msm_vidc_core *core, struct device *dev)
-{
-	/* do nothing */
-	return 0;
-}

+ 9 - 1
driver/platform/common/inc/msm_vidc_platform.h

@@ -167,6 +167,14 @@ struct msm_platform_inst_cap_dependency {
 		enum msm_vidc_inst_capability_type cap_id);
 		enum msm_vidc_inst_capability_type cap_id);
 };
 };
 
 
+struct msm_vidc_compat_handle {
+	const char *compat;
+	int (*init_platform)(struct msm_vidc_core *core);
+	int (*deinit_platform)(struct msm_vidc_core *core);
+	int (*init_iris)(struct msm_vidc_core *core);
+	int (*deinit_iris)(struct msm_vidc_core *core);
+};
+
 struct msm_vidc_csc_coeff {
 struct msm_vidc_csc_coeff {
 	u32 *vpe_csc_custom_matrix_coeff;
 	u32 *vpe_csc_custom_matrix_coeff;
 	u32 *vpe_csc_custom_bias_coeff;
 	u32 *vpe_csc_custom_bias_coeff;
@@ -201,7 +209,7 @@ struct msm_vidc_platform_data {
 	unsigned int regulator_tbl_size;
 	unsigned int regulator_tbl_size;
 	const struct pd_table *pd_tbl;
 	const struct pd_table *pd_tbl;
 	unsigned int pd_tbl_size;
 	unsigned int pd_tbl_size;
-	const char **opp_tbl;
+	const char * const *opp_tbl;
 	unsigned int opp_tbl_size;
 	unsigned int opp_tbl_size;
 	const struct clk_table *clk_tbl;
 	const struct clk_table *clk_tbl;
 	unsigned int clk_tbl_size;
 	unsigned int clk_tbl_size;

+ 139 - 145
driver/platform/common/src/msm_vidc_platform.c

@@ -21,26 +21,17 @@
 #include "hfi_property.h"
 #include "hfi_property.h"
 #include "venus_hfi.h"
 #include "venus_hfi.h"
 
 
-#if defined(CONFIG_MSM_VIDC_WAIPIO)
-#include "msm_vidc_waipio.h"
-#endif
-#if defined(CONFIG_MSM_VIDC_KALAMA)
-#include "msm_vidc_kalama.h"
-#endif
 #if defined(CONFIG_MSM_VIDC_PINEAPPLE)
 #if defined(CONFIG_MSM_VIDC_PINEAPPLE)
 #include "msm_vidc_pineapple.h"
 #include "msm_vidc_pineapple.h"
+#include "msm_vidc_iris33.h"
 #endif
 #endif
-#if defined(CONFIG_MSM_VIDC_ANORAK)
-#include "msm_vidc_anorak.h"
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS2)
-#include "msm_vidc_iris2.h"
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS3)
+#if defined(CONFIG_MSM_VIDC_KALAMA)
+#include "msm_vidc_kalama.h"
 #include "msm_vidc_iris3.h"
 #include "msm_vidc_iris3.h"
 #endif
 #endif
-#if defined(CONFIG_MSM_VIDC_IRIS33)
-#include "msm_vidc_iris33.h"
+#if defined(CONFIG_MSM_VIDC_WAIPIO)
+#include "msm_vidc_waipio.h"
+#include "msm_vidc_iris2.h"
 #endif
 #endif
 
 
 #define CAP_TO_8BIT_QP(a) {          \
 #define CAP_TO_8BIT_QP(a) {          \
@@ -214,6 +205,50 @@ static struct v4l2_m2m_ops msm_v4l2_m2m_ops = {
 	.job_abort                      = msm_v4l2_m2m_job_abort,
 	.job_abort                      = msm_v4l2_m2m_job_abort,
 };
 };
 
 
+static const struct msm_vidc_compat_handle compat_handle[] = {
+#if defined(CONFIG_MSM_VIDC_PINEAPPLE)
+	{
+		.compat                     = "qcom,sm8650-vidc",
+		.init_platform              = msm_vidc_init_platform_pineapple,
+		.deinit_platform            = msm_vidc_deinit_platform_pineapple,
+		.init_iris                  = msm_vidc_init_iris33,
+		.deinit_iris                = msm_vidc_deinit_iris33,
+	},
+	{
+		.compat                     = "qcom,sm8650-vidc-v2",
+		.init_platform              = msm_vidc_init_platform_pineapple,
+		.deinit_platform            = msm_vidc_deinit_platform_pineapple,
+		.init_iris                  = msm_vidc_init_iris33,
+		.deinit_iris                = msm_vidc_deinit_iris33,
+	},
+#endif
+#if defined(CONFIG_MSM_VIDC_KALAMA)
+	{
+		.compat                     = "qcom,sm8550-vidc",
+		.init_platform              = msm_vidc_init_platform_kalama,
+		.deinit_platform            = msm_vidc_deinit_platform_kalama,
+		.init_iris                  = msm_vidc_init_iris3,
+		.deinit_iris                = msm_vidc_deinit_iris3,
+	},
+	{
+		.compat                     = "qcom,sm8550-vidc-v2",
+		.init_platform              = msm_vidc_init_platform_kalama,
+		.deinit_platform            = msm_vidc_deinit_platform_kalama,
+		.init_iris                  = msm_vidc_init_iris3,
+		.deinit_iris                = msm_vidc_deinit_iris3,
+	},
+#endif
+#if defined(CONFIG_MSM_VIDC_WAIPIO)
+	{
+		.compat                     = "qcom,sm8450-vidc",
+		.init_platform              = msm_vidc_init_platform_waipio,
+		.deinit_platform            = msm_vidc_deinit_platform_waipio,
+		.init_iris                  = msm_vidc_init_iris2,
+		.deinit_iris                = msm_vidc_deinit_iris2,
+	},
+#endif
+};
+
 static int msm_vidc_init_ops(struct msm_vidc_core *core)
 static int msm_vidc_init_ops(struct msm_vidc_core *core)
 {
 {
 	if (!core) {
 	if (!core) {
@@ -244,179 +279,138 @@ static int msm_vidc_init_ops(struct msm_vidc_core *core)
 	return 0;
 	return 0;
 }
 }
 
 
-static int msm_vidc_deinit_platform_variant(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_deinit_platform_variant(struct msm_vidc_core *core)
 {
 {
-	int rc = -EINVAL;
+	struct device *dev = NULL;
+	int i, rc = 0;
 
 
-	if (!core || !dev) {
+	if (!core || !core->pdev) {
 		d_vpr_e("%s: Invalid params\n", __func__);
 		d_vpr_e("%s: Invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
 
 
 	d_vpr_h("%s()\n", __func__);
 	d_vpr_h("%s()\n", __func__);
 
 
-#if defined(CONFIG_MSM_VIDC_WAIPIO)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8450-vidc")) {
-		rc = msm_vidc_deinit_platform_waipio(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_KALAMA)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2")) {
-		rc = msm_vidc_deinit_platform_kalama(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_PINEAPPLE)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc-v2")) {
-		rc = msm_vidc_deinit_platform_pineapple(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
+	/* select platform based on compatible match */
+	for (i = 0; i < ARRAY_SIZE(compat_handle); i++) {
+		if (of_device_is_compatible(dev->of_node, compat_handle[i].compat)) {
+			rc = compat_handle[i].deinit_platform(core);
+			if (rc) {
+				d_vpr_e("%s: (%s) init failed with %d\n",
+					__func__, compat_handle[i].compat, rc);
+				return rc;
+			}
+			break;
+		}
 	}
 	}
-#endif
-#if defined(CONFIG_MSM_VIDC_ANORAK)
-	if (of_device_is_compatible(dev->of_node, "qcom,sxr2230p-vidc")) {
-		rc = msm_vidc_deinit_platform_anorak(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
+
+	/* handle unknown compat type */
+	if (i == ARRAY_SIZE(compat_handle)) {
+		d_vpr_e("%s: Unsupported device: (%s)\n", __func__, dev_name(dev));
+		return -EINVAL;
 	}
 	}
-#endif
 
 
 	return rc;
 	return rc;
 }
 }
 
 
-static int msm_vidc_init_platform_variant(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_init_platform_variant(struct msm_vidc_core *core)
 {
 {
-	int rc = -EINVAL;
+	struct device *dev = NULL;
+	int i, rc = 0;
 
 
-	if (!core || !dev) {
+	if (!core || !core->pdev) {
 		d_vpr_e("%s: Invalid params\n", __func__);
 		d_vpr_e("%s: Invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
 
 
 	d_vpr_h("%s()\n", __func__);
 	d_vpr_h("%s()\n", __func__);
 
 
-#if defined(CONFIG_MSM_VIDC_WAIPIO)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8450-vidc")) {
-		rc = msm_vidc_init_platform_waipio(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_KALAMA)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2")) {
-		rc = msm_vidc_init_platform_kalama(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_PINEAPPLE)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc-v2")) {
-		rc = msm_vidc_init_platform_pineapple(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
+	/* select platform based on compatible match */
+	for (i = 0; i < ARRAY_SIZE(compat_handle); i++) {
+		if (of_device_is_compatible(dev->of_node, compat_handle[i].compat)) {
+			rc = compat_handle[i].init_platform(core);
+			if (rc) {
+				d_vpr_e("%s: (%s) init failed with %d\n",
+					__func__, compat_handle[i].compat, rc);
+				return rc;
+			}
+			break;
+		}
 	}
 	}
-#endif
-#if defined(CONFIG_MSM_VIDC_ANORAK)
-	if (of_device_is_compatible(dev->of_node, "qcom,sxr2230p-vidc")) {
-		rc = msm_vidc_init_platform_anorak(core, dev);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-		return rc;
+
+	/* handle unknown compat type */
+	if (i == ARRAY_SIZE(compat_handle)) {
+		d_vpr_e("%s: Unsupported device: (%s)\n", __func__, dev_name(dev));
+		return -EINVAL;
 	}
 	}
-#endif
 
 
 	return rc;
 	return rc;
 }
 }
 
 
-static int msm_vidc_deinit_vpu(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_deinit_vpu(struct msm_vidc_core *core)
 {
 {
-	int rc = -EINVAL;
+	struct device *dev = NULL;
+	int i, rc = 0;
 
 
-	if (!core || !dev) {
+	if (!core || !core->pdev) {
 		d_vpr_e("%s: Invalid params\n", __func__);
 		d_vpr_e("%s: Invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
 
 
-	d_vpr_h("%s()\n", __func__);
-
-#if defined(CONFIG_MSM_VIDC_IRIS2)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8450-vidc")) {
-		rc = msm_vidc_deinit_iris2(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-        return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS3)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2")) {
-		rc = msm_vidc_deinit_iris3(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-        return rc;
+	/* select platform based on compatible match */
+	for (i = 0; i < ARRAY_SIZE(compat_handle); i++) {
+		if (of_device_is_compatible(dev->of_node, compat_handle[i].compat)) {
+			rc = compat_handle[i].deinit_iris(core);
+			if (rc) {
+				d_vpr_e("%s: (%s) init failed with %d\n",
+					__func__, compat_handle[i].compat, rc);
+				return rc;
+			}
+			break;
+		}
 	}
 	}
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS33)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc-v2")) {
-		rc = msm_vidc_deinit_iris33(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-        return rc;
+
+	/* handle unknown compat type */
+	if (i == ARRAY_SIZE(compat_handle)) {
+		d_vpr_e("%s: Unsupported device: (%s)\n", __func__, dev_name(dev));
+		return -EINVAL;
 	}
 	}
-#endif
+
 	return rc;
 	return rc;
 }
 }
 
 
-static int msm_vidc_init_vpu(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_init_vpu(struct msm_vidc_core *core)
 {
 {
-	int rc = -EINVAL;
+	struct device *dev = NULL;
+	int i, rc = 0;
 
 
-	if (!core || !dev) {
+	if (!core || !core->pdev) {
 		d_vpr_e("%s: Invalid params\n", __func__);
 		d_vpr_e("%s: Invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
 
 
-#if defined(CONFIG_MSM_VIDC_IRIS2)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8450-vidc")) {
-		rc = msm_vidc_init_iris2(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-	    return rc;
-	}
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS3)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2")) {
-		rc = msm_vidc_init_iris3(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-	    return rc;
+	/* select platform based on compatible match */
+	for (i = 0; i < ARRAY_SIZE(compat_handle); i++) {
+		if (of_device_is_compatible(dev->of_node, compat_handle[i].compat)) {
+			rc = compat_handle[i].init_iris(core);
+			if (rc) {
+				d_vpr_e("%s: (%s) init failed with %d\n",
+					__func__, compat_handle[i].compat, rc);
+				return rc;
+			}
+			break;
+		}
 	}
 	}
-#endif
-#if defined(CONFIG_MSM_VIDC_IRIS33)
-	if (of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc") ||
-		of_device_is_compatible(dev->of_node, "qcom,sm8650-vidc-v2")) {
-		rc = msm_vidc_init_iris33(core);
-		if (rc)
-			d_vpr_e("%s: failed with %d\n", __func__, rc);
-	    return rc;
+
+	/* handle unknown compat type */
+	if (i == ARRAY_SIZE(compat_handle)) {
+		d_vpr_e("%s: Unsupported device: (%s)\n", __func__, dev_name(dev));
+		return -EINVAL;
 	}
 	}
-#endif
 
 
 	return rc;
 	return rc;
 }
 }
@@ -439,8 +433,8 @@ int msm_vidc_deinit_platform(struct platform_device *pdev)
 
 
 	d_vpr_h("%s()\n", __func__);
 	d_vpr_h("%s()\n", __func__);
 
 
-	msm_vidc_deinit_vpu(core, &pdev->dev);
-	msm_vidc_deinit_platform_variant(core, &pdev->dev);
+	msm_vidc_deinit_vpu(core);
+	msm_vidc_deinit_platform_variant(core);
 
 
 	msm_vidc_vmem_free((void **)&core->platform);
 	msm_vidc_vmem_free((void **)&core->platform);
 	return 0;
 	return 0;
@@ -479,11 +473,11 @@ int msm_vidc_init_platform(struct platform_device *pdev)
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 
-	rc = msm_vidc_init_platform_variant(core, &pdev->dev);
+	rc = msm_vidc_init_platform_variant(core);
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 
-	rc = msm_vidc_init_vpu(core, &pdev->dev);
+	rc = msm_vidc_init_vpu(core);
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 

+ 4 - 4
driver/platform/kalama/inc/msm_vidc_kalama.h

@@ -10,15 +10,15 @@
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
 
 
 #if defined(CONFIG_MSM_VIDC_KALAMA)
 #if defined(CONFIG_MSM_VIDC_KALAMA)
-int msm_vidc_init_platform_kalama(struct msm_vidc_core *core, struct device *dev);
-int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core, struct device *dev);
+int msm_vidc_init_platform_kalama(struct msm_vidc_core *core);
+int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core);
 #else
 #else
-int msm_vidc_init_platform_kalama(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_kalama(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }
 
 
-int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }

+ 0 - 1694
driver/platform/kalama/src/kalama.c

@@ -1,1694 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#include "msm_vidc_control.h"
-#include "msm_vidc_kalama.h"
-#include "msm_vidc_platform.h"
-#include "msm_vidc_debug.h"
-#include "hfi_property.h"
-#include "msm_vidc_iris3.h"
-#include "hfi_command.h"
-
-#define DEFAULT_VIDEO_CONCEAL_COLOR_BLACK 0x8020010
-#define MAX_BASE_LAYER_PRIORITY_ID 63
-#define MAX_OP_POINT            31
-#define MAX_BITRATE             245000000
-#define DEFAULT_BITRATE         20000000
-#define MINIMUM_FPS             1
-#define MAXIMUM_FPS             480
-#define MAX_QP                  51
-#define DEFAULT_QP              20
-#define MAX_CONSTANT_QUALITY    100
-#define MIN_SLICE_BYTE_SIZE     512
-#define MAX_SLICE_BYTE_SIZE       \
-	((MAX_BITRATE) >> 3)
-#define MAX_SLICE_MB_SIZE         \
-	(((4096 + 15) >> 4) * ((2304 + 15) >> 4))
-
-#define ENC     MSM_VIDC_ENCODER
-#define DEC     MSM_VIDC_DECODER
-#define H264    MSM_VIDC_H264
-#define HEVC    MSM_VIDC_HEVC
-#define VP9     MSM_VIDC_VP9
-#define CODECS_ALL     (H264 | HEVC | VP9)
-#define MAXIMUM_OVERRIDE_VP9_FPS 180
-
-#ifndef V4L2_PIX_FMT_QC08C
-#define V4L2_PIX_FMT_QC08C    v4l2_fourcc('Q', '0', '8', 'C')
-#endif
-
-#ifndef V4L2_PIX_FMT_QC10C
-#define V4L2_PIX_FMT_QC10C    v4l2_fourcc('Q', '1', '0', 'C')
-#endif
-
-static struct codec_info codec_data_kalama[] = {
-	{
-		.v4l2_codec  = V4L2_PIX_FMT_H264,
-		.vidc_codec  = MSM_VIDC_H264,
-		.pixfmt_name = "AVC",
-	},
-	{
-		.v4l2_codec  = V4L2_PIX_FMT_HEVC,
-		.vidc_codec  = MSM_VIDC_HEVC,
-		.pixfmt_name = "HEVC",
-	},
-	{
-		.v4l2_codec  = V4L2_PIX_FMT_VP9,
-		.vidc_codec  = MSM_VIDC_VP9,
-		.pixfmt_name = "VP9",
-	},
-};
-
-static struct color_format_info color_format_data_kalama[] = {
-	{
-		.v4l2_color_format = V4L2_PIX_FMT_NV12,
-		.vidc_color_format = MSM_VIDC_FMT_NV12,
-		.pixfmt_name       = "NV12",
-	},
-	{
-		.v4l2_color_format = V4L2_PIX_FMT_NV21,
-		.vidc_color_format = MSM_VIDC_FMT_NV21,
-		.pixfmt_name       = "NV21",
-	},
-	{
-		.v4l2_color_format = V4L2_PIX_FMT_QC08C,
-		.vidc_color_format = MSM_VIDC_FMT_NV12C,
-		.pixfmt_name       = "NV12C",
-	},
-	{
-		.v4l2_color_format = V4L2_PIX_FMT_QC10C,
-		.vidc_color_format = MSM_VIDC_FMT_TP10C,
-		.pixfmt_name       = "TP10C",
-	},
-	{
-		.v4l2_color_format = V4L2_PIX_FMT_RGBA32,
-		.vidc_color_format = MSM_VIDC_FMT_RGBA8888,
-		.pixfmt_name       = "RGBA",
-	},
-};
-
-static struct color_primaries_info color_primaries_data_kalama[] = {
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_DEFAULT,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_RESERVED,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_REC709,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_BT709,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_470_SYSTEM_M,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_BT470_SYSTEM_M,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_470_SYSTEM_BG,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_BT470_SYSTEM_BG,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_SMPTE170M,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_BT601_525,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_SMPTE240M,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_SMPTE_ST240M,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_BT2020,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_BT2020,
-	},
-	{
-		.v4l2_color_primaries  = V4L2_COLORSPACE_DCI_P3,
-		.vidc_color_primaries  = MSM_VIDC_PRIMARIES_SMPTE_RP431_2,
-	},
-};
-
-static struct transfer_char_info transfer_char_data_kalama[] = {
-	{
-		.v4l2_transfer_char  = V4L2_XFER_FUNC_DEFAULT,
-		.vidc_transfer_char  = MSM_VIDC_TRANSFER_RESERVED,
-	},
-	{
-		.v4l2_transfer_char  = V4L2_XFER_FUNC_709,
-		.vidc_transfer_char  = MSM_VIDC_TRANSFER_BT709,
-	},
-	{
-		.v4l2_transfer_char  = V4L2_XFER_FUNC_SMPTE240M,
-		.vidc_transfer_char  = MSM_VIDC_TRANSFER_SMPTE_ST240M,
-	},
-	{
-		.v4l2_transfer_char  = V4L2_XFER_FUNC_SRGB,
-		.vidc_transfer_char  = MSM_VIDC_TRANSFER_SRGB_SYCC,
-	},
-	{
-		.v4l2_transfer_char  = V4L2_XFER_FUNC_SMPTE2084,
-		.vidc_transfer_char  = MSM_VIDC_TRANSFER_SMPTE_ST2084_PQ,
-	},
-};
-
-static struct matrix_coeff_info matrix_coeff_data_kalama[] = {
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_DEFAULT,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_RESERVED,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_709,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT709,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_XV709,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT709,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_XV601,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT470_SYS_BG_OR_BT601_625,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_601,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT601_525_BT1358_525_OR_625,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_SMPTE240M,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_SMPTE_ST240,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_BT2020,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT2020_NON_CONSTANT,
-	},
-	{
-		.v4l2_matrix_coeff  = V4L2_YCBCR_ENC_BT2020_CONST_LUM,
-		.vidc_matrix_coeff  = MSM_VIDC_MATRIX_COEFF_BT2020_CONSTANT,
-	},
-};
-
-static struct msm_platform_core_capability core_data_kalama[] = {
-	/* {type, value} */
-	{ENC_CODECS, H264|HEVC},
-	{DEC_CODECS, H264|HEVC|VP9},
-	{MAX_SESSION_COUNT, 16},
-	{MAX_NUM_720P_SESSIONS, 16},
-	{MAX_NUM_1080P_SESSIONS, 16},
-	{MAX_NUM_4K_SESSIONS, 8},
-	{MAX_NUM_8K_SESSIONS, 2},
-	{MAX_RT_MBPF, 174080},	/* (8192x4352)/256 + (4096x2176)/256*/
-	{MAX_MBPF, 278528}, /* ((8192x4352)/256) * 2 */
-	{MAX_MBPS, 7833600},	/* max_load
-					 * 7680x4320@60fps or 3840x2176@240fps
-					 * which is greater than 4096x2176@120fps,
-					 * 8192x4320@48fps
-					 */
-	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
-	{MAX_MBPS_HQ, 489600}, /* ((1920x1088)/256)@60fps */
-	{MAX_MBPF_B_FRAME, 32640}, /* 3840x2176/256 */
-	{MAX_MBPS_B_FRAME, 1958400}, /* 3840x2176/256 MBs@60fps */
-	{MAX_MBPS_ALL_INTRA, 1044480}, /* 4096x2176/256 MBs@30fps */
-	{MAX_ENH_LAYER_COUNT, 5},
-	{NUM_VPP_PIPE, 4},
-	{SW_PC, 1},
-	{FW_UNLOAD, 0},
-	{HW_RESPONSE_TIMEOUT, HW_RESPONSE_TIMEOUT_VALUE}, /* 1000 ms */
-	{SW_PC_DELAY,         SW_PC_DELAY_VALUE        }, /* 1500 ms (>HW_RESPONSE_TIMEOUT)*/
-	{FW_UNLOAD_DELAY,     FW_UNLOAD_DELAY_VALUE    }, /* 3000 ms (>SW_PC_DELAY)*/
-	{DCVS, 1},
-	{DECODE_BATCH, 1},
-	{DECODE_BATCH_TIMEOUT, 200},
-	{STATS_TIMEOUT_MS, 2000},
-	{NON_FATAL_FAULTS, 1},
-	{ENC_AUTO_FRAMERATE, 1},
-	{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING},
-	{SUPPORTS_REQUESTS, 0},
-};
-
-static struct msm_platform_inst_capability instance_cap_data_kalama[] = {
-	/* {cap, domain, codec,
-	 *      min, max, step_or_mask, value,
-	 *      v4l2_id,
-	 *      hfi_id,
-	 *      flags}
-	 */
-
-	{FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
-
-	{FRAME_WIDTH, DEC, VP9, 96, 4096, 1, 1920},
-
-	{FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
-
-	{FRAME_WIDTH, ENC, HEVC, 96, 8192, 1, 1920},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, CODECS_ALL, 128, 4096, 1, 1920},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, HEVC, 96, 4096, 1, 1920},
-
-	{FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, DEC, VP9, 96, 4096, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, HEVC, 96, 8192, 1, 1080},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, HEVC, 96, 4096, 1, 1080},
-
-	{PIX_FMTS, ENC|DEC, H264,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12C},
-
-	{PIX_FMTS, ENC|DEC, HEVC|VP9,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12C},
-
-	{MIN_BUFFERS_INPUT, ENC|DEC, CODECS_ALL, 0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_OUTPUT,
-		0,
-		CAP_FLAG_VOLATILE},
-
-
-	{MIN_BUFFERS_OUTPUT, ENC|DEC, CODECS_ALL,
-		0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,
-		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_VOLATILE},
-
-	/* (8192 * 4320) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 138240, 1, 138240},
-
-	{MBPF, ENC, HEVC, 36, 138240, 1, 138240},
-
-	{MBPF, DEC, CODECS_ALL, 36, 138240, 1, 138240},
-
-	/* (4096 * 2304) / 256 */
-	{MBPF, DEC, VP9, 36, 36864, 1, 36864},
-
-	/* (4096 * 2304) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
-
-	/* Batch Mode Decode */
-	/* TODO: update with new values based on updated voltage corner */
-	{BATCH_MBPF, DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
-
-	/* (4096 * 2304) / 256 */
-	{BATCH_FPS, DEC, H264|HEVC|VP9, 1, 120, 1, 120},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		0,
-		HFI_PROP_FRAME_RATE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{OPERATING_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16)},
-
-	{INPUT_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{TIMESTAMP_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{SCALE_FACTOR, ENC, H264|HEVC, 1, 8, 1, 8},
-
-	{MB_CYCLES_VSP, ENC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, VP9, 60, 60, 1, 60},
-
-	{MB_CYCLES_VPP, ENC, CODECS_ALL, 675, 675, 1, 675},
-
-	{MB_CYCLES_VPP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_LP, ENC, CODECS_ALL, 320, 320, 1, 320},
-
-	{MB_CYCLES_LP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_FW, ENC|DEC, CODECS_ALL, 489583, 489583, 1, 489583},
-
-	{MB_CYCLES_FW_VPP, ENC, CODECS_ALL, 48405, 48405, 1, 48405},
-
-	{MB_CYCLES_FW_VPP, DEC, CODECS_ALL, 66234, 66234, 1, 66234},
-
-	{CLIENT_ID, ENC|DEC, CODECS_ALL,
-		INVALID_CLIENT_ID, INT_MAX, 1, INVALID_CLIENT_ID,
-		0},
-
-	{HFLIP, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_HFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT |
-			CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{VFLIP, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_VFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ROTATION, ENC, CODECS_ALL,
-		0, 270, 90, 0,
-		V4L2_CID_ROTATE,
-		HFI_PROP_ROTATION,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		0, 32, 1, 0,
-		0, 0,
-		CAP_FLAG_NONE},
-
-	{SLICE_DECODE, DEC, CODECS_ALL,
-		0, 0, 0, 0,
-		V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE,
-		0},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) |
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME),
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_CID_MPEG_VIDEO_HEADER_MODE,
-		HFI_PROP_SEQ_HEADER_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PREPEND_SPSPPS_TO_IDR, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{NAL_LENGTH_FIELD, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_4,
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_0) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_4),
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_MENU | CAP_FLAG_OUTPUT_PORT},
-
-	/* TODO: Firmware introduced enumeration type for this
-	 * with and without seq header.
-	 */
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		0, 0, 0, 0,
-		V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
-		HFI_PROP_REQUEST_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	/* Enc: Keeping CABAC and CAVLC as same bitrate.
-	 * Dec: there's no use of Bitrate cap
-	 */
-	{BIT_RATE, ENC, H264|HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE,
-		HFI_PROP_TOTAL_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITRATE_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_MODE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{CABAC_MAX_BITRATE, ENC, H264|HEVC, 0,
-		160000000, 1, 160000000},
-
-	{CAVLC_MAX_BITRATE, ENC, H264, 0,
-		220000000, 1, 220000000},
-
-	{ALLINTRA_MAX_BITRATE, ENC, H264|HEVC, 0,
-		245000000, 1, 245000000},
-
-	{LOWLATENCY_MAX_BITRATE, ENC, H264|HEVC, 0,
-		70000000, 1, 70000000},
-
-	{LOSSLESS, ENC, HEVC,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU},
-
-	{FRAME_SKIP_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT),
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{FRAME_RC_ENABLE, ENC, H264|HEVC,
-		0, 1, 1, 1,
-		V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE},
-
-	{CONSTANT_QUALITY, ENC, HEVC,
-		1, MAX_CONSTANT_QUALITY, 1, 90,
-		V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
-		HFI_PROP_CONSTANT_QUALITY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		0, INT_MAX, 1, 2 * DEFAULT_FPS - 1,
-		V4L2_CID_MPEG_VIDEO_GOP_SIZE,
-		HFI_PROP_MAX_GOP_FRAMES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_CLOSURE, ENC, H264|HEVC,
-		0, 1, 1, 1,
-		V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,
-		0},
-
-	{B_FRAME, ENC, H264|HEVC,
-		0, 7, 1, 0,
-		V4L2_CID_MPEG_VIDEO_B_FRAMES,
-		HFI_PROP_MAX_B_FRAMES,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		MSM_VIDC_BLUR_NONE, MSM_VIDC_BLUR_EXTERNAL,
-		BIT(MSM_VIDC_BLUR_NONE) | BIT(MSM_VIDC_BLUR_EXTERNAL),
-		MSM_VIDC_BLUR_NONE,
-		0,
-		HFI_PROP_BLUR_TYPES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{CSC, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_CSC},
-
-	{LOWLATENCY_MODE, ENC, H264|HEVC,
-		0, 1, 1, 0,
-		0,
-		0,
-		CAP_FLAG_NONE},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		0, MAX_LTR_FRAME_COUNT_2, 1, 0,
-		V4L2_CID_MPEG_VIDEO_LTR_COUNT,
-		HFI_PROP_LTR_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{USE_LTR, ENC, H264|HEVC,
-		0,
-		((1 << MAX_LTR_FRAME_COUNT_2) - 1),
-		0, 0,
-		V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES,
-		HFI_PROP_LTR_USE,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		INVALID_DEFAULT_MARK_OR_USE_LTR,
-		(MAX_LTR_FRAME_COUNT_2 - 1),
-		1, INVALID_DEFAULT_MARK_OR_USE_LTR,
-		V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,
-		HFI_PROP_LTR_MARK,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BASELAYER_PRIORITY, ENC, H264,
-		0, MAX_BASE_LAYER_PRIORITY_ID, 1, 0,
-		V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID,
-		HFI_PROP_BASELAYER_PRIORITYID,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_AU_DELIMITER,
-		HFI_PROP_AUD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		0, 1, 1, 1,
-		0,
-		HFI_PROP_CONTENT_ADAPTIVE_CODING,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		MSM_VIDC_PREPROCESS_NONE,
-		MSM_VIDC_PREPROCESS_TYPE0,
-		BIT(MSM_VIDC_PREPROCESS_NONE) |
-		BIT(MSM_VIDC_PREPROCESS_TYPE0),
-		MSM_VIDC_PREPROCESS_NONE,
-		0, HFI_PROP_REQUEST_PREPROCESS,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{MIN_QUALITY, ENC, H264|HEVC,
-		0, MAX_SUPPORTED_MIN_QUALITY, 70, MAX_SUPPORTED_MIN_QUALITY,
-		0,
-		HFI_PROP_MAINTAIN_MIN_QUALITY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		200, 300, 100, 300,
-		V4L2_CID_MPEG_VIDEO_VBV_DELAY,
-		HFI_PROP_VBV_DELAY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		/* default peak bitrate is 10% larger than avg bitrate */
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,
-		HFI_PROP_TOTAL_PEAK_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MIN_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MIN_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP},
-
-	{I_FRAME_MIN_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP},
-
-	{MAX_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MAX_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP},
-
-	{I_FRAME_MAX_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP},
-
-	{I_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{I_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LAYER_TYPE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_TYPE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_ENABLE, ENC, H264,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{LAYER_ENABLE, ENC, HEVC,
-		0, 1, 1, 0,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{ENH_LAYER_COUNT, ENC, HEVC,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENH_LAYER_COUNT, ENC, H264,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L0_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L0_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L3_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-	{L3_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENTROPY_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,
-		HFI_PROP_CABAC_SESSION,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{ENTROPY_MODE, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		0,
-		HFI_PROP_CABAC_SESSION},
-
-	{PROFILE, ENC|DEC, H264,
-		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,
-		V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH,
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH),
-		V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
-		V4L2_CID_MPEG_VIDEO_H264_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, ENC|DEC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE,
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE),
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_2,
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_2),
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_CID_MPEG_VIDEO_VP9_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_0,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_2),
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1)|
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{HEVC_TIER, ENC|DEC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_HIGH),
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		V4L2_CID_MPEG_VIDEO_HEVC_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		DB_H264_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED) |
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED) |
-		BIT(DB_H264_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,
-		DB_HEVC_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED) |
-		BIT(DB_HEVC_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_ALPHA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA},
-
-	{LF_ALPHA, ENC, HEVC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2},
-
-	{LF_BETA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA},
-
-	{LF_BETA, ENC, HEVC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES),
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{SLICE_MAX_BYTES, ENC, H264|HEVC,
-		MIN_SLICE_BYTE_SIZE, MAX_SLICE_BYTE_SIZE,
-		1, MIN_SLICE_BYTE_SIZE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,
-		HFI_PROP_MULTI_SLICE_BYTES_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SLICE_MAX_MB, ENC, H264|HEVC,
-		1, MAX_SLICE_MB_SIZE, 1, 1,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,
-		HFI_PROP_MULTI_SLICE_MB_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MB_RC, ENC, H264|HEVC,
-		0, 1, 1, 1,
-		V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TRANSFORM_8X8, ENC, H264,
-		0, 1, 1, 1,
-		V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM,
-		HFI_PROP_8X8_TRANSFORM,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		MIN_CHROMA_QP_OFFSET, MAX_CHROMA_QP_OFFSET,
-		1, MAX_CHROMA_QP_OFFSET,
-		V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET,
-		HFI_PROP_CHROMA_QP_OFFSET,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, 0x0, 0xff3fcff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_8BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, 0x0, 0x3fffffff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_10BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{STAGE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_STAGE_1,
-		MSM_VIDC_STAGE_2, 1,
-		MSM_VIDC_STAGE_2,
-		0,
-		HFI_PROP_STAGE},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_PIPE_1,
-		MSM_VIDC_PIPE_4, 1,
-		MSM_VIDC_PIPE_4,
-		0,
-		HFI_PROP_PIPE},
-
-	{POC, DEC, H264, 0, 2, 1, 1,
-		0,
-		HFI_PROP_PIC_ORDER_CNT_TYPE},
-
-	{QUALITY_MODE, ENC, CODECS_ALL,
-		MSM_VIDC_MAX_QUALITY_MODE,
-		MSM_VIDC_POWER_SAVE_MODE, 1,
-		MSM_VIDC_POWER_SAVE_MODE},
-
-	{CODED_FRAMES, DEC, H264|HEVC,
-		CODED_FRAMES_PROGRESSIVE, CODED_FRAMES_INTERLACE,
-		1, CODED_FRAMES_PROGRESSIVE,
-		0,
-		HFI_PROP_CODED_FRAMES},
-
-	{BIT_DEPTH, DEC, CODECS_ALL, BIT_DEPTH_8, BIT_DEPTH_10, 1, BIT_DEPTH_8,
-		0,
-		HFI_PROP_LUMA_CHROMA_BIT_DEPTH},
-
-	{CODEC_CONFIG, DEC, H264|HEVC, 0, 1, 1, 0,
-		0, 0,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITSTREAM_SIZE_OVERWRITE, DEC, CODECS_ALL, 0, INT_MAX, 1, 0,
-		0},
-
-	{THUMBNAIL_MODE, DEC, CODECS_ALL,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_THUMBNAIL_MODE,
-		CAP_FLAG_INPUT_PORT},
-
-	{DEFAULT_HEADER, DEC, CODECS_ALL,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_DEC_DEFAULT_HEADER},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		0, 1, 1, 1,
-		0,
-		HFI_PROP_DEC_START_FROM_RAP_FRAME,
-		CAP_FLAG_INPUT_PORT},
-
-	{SEQ_CHANGE_AT_SYNC_FRAME, DEC, CODECS_ALL,
-		0, 1, 1, 1,
-		0,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		1, 1, 1, 1},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		0, 1, 1, 0,
-		0,
-		HFI_PROP_DPB_LIST,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		0, 1, 1, 0,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{COMPLEXITY, ENC, H264|HEVC,
-		0, 100,
-		1, DEFAULT_COMPLEXITY,
-		0},
-};
-
-static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kalama[] = {
-	/* {cap, domain, codec,
-	 *      children,
-	 *      adjust, set}
-	 */
-
-	{PIX_FMTS, ENC, H264,
-		{0}},
-
-	{PIX_FMTS, ENC, HEVC,
-		{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
-			B_FRAME_QP, MIN_QUALITY, BLUR_TYPES, LTR_COUNT}},
-
-	{PIX_FMTS, DEC, HEVC,
-		{PROFILE}},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_q16},
-
-	{HFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{VFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{ROTATION, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_rotation},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
-		NULL,
-		NULL},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_header_mode},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_nal_length},
-
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_req_sync_frame},
-
-	{BIT_RATE, ENC, H264,
-		{PEAK_BITRATE, L0_BR},
-		msm_vidc_adjust_bitrate,
-		msm_vidc_set_bitrate},
-
-	{BIT_RATE, ENC, HEVC,
-		{PEAK_BITRATE, L0_BR},
-		msm_vidc_adjust_bitrate,
-		msm_vidc_set_bitrate},
-
-	{BITRATE_MODE, ENC, H264,
-		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
-			B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
-			MIN_QUALITY, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{BITRATE_MODE, ENC, HEVC,
-		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
-			B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
-			BIT_RATE, MIN_QUALITY, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{CONSTANT_QUALITY, ENC, HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_constant_quality},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		{ALL_INTRA},
-		msm_vidc_adjust_gop_size,
-		msm_vidc_set_gop_size},
-
-	{B_FRAME, ENC, H264|HEVC,
-		{ALL_INTRA},
-		msm_vidc_adjust_b_frame,
-		msm_vidc_set_u32},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_blur_type,
-		msm_vidc_set_u32_enum},
-
-	{LOWLATENCY_MODE, ENC, H264 | HEVC,
-		{STAGE, BIT_RATE},
-		msm_vidc_adjust_enc_lowlatency_mode,
-		NULL},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
-		{STAGE},
-		msm_vidc_adjust_dec_lowlatency_mode,
-		NULL},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_ltr_count,
-		msm_vidc_set_u32},
-
-	{USE_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_use_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_mark_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		{REQUEST_PREPROCESS},
-		msm_vidc_adjust_brs,
-		msm_vidc_set_vbr_related_properties},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_preprocess,
-		msm_vidc_set_preprocess},
-
-	{MIN_QUALITY, ENC, H264,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_u32},
-
-	{MIN_QUALITY, ENC, HEVC,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_u32},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_cbr_related_properties},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_peak_bitrate,
-		msm_vidc_set_cbr_related_properties},
-
-	{MIN_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_min_qp},
-
-	{MIN_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_min_qp,
-		msm_vidc_set_min_qp},
-
-	{MAX_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_max_qp},
-
-	{MAX_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_max_qp,
-		msm_vidc_set_max_qp},
-
-	{I_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_i_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{I_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_p_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_b_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{LAYER_TYPE, ENC, H264,
-		{CONTENT_ADAPTIVE_CODING}},
-
-	{LAYER_ENABLE, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING, LTR_COUNT}},
-
-	{ENH_LAYER_COUNT, ENC, H264|HEVC,
-		{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, LTR_COUNT},
-		msm_vidc_adjust_layer_count,
-		msm_vidc_set_layer_count_and_type},
-
-	{L0_BR, ENC, H264|HEVC,
-		{L1_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L1_BR, ENC, H264|HEVC,
-		{L2_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L2_BR, ENC, H264|HEVC,
-		{L3_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L3_BR, ENC, H264|HEVC,
-		{L4_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L4_BR, ENC, H264|HEVC,
-		{L5_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L5_BR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{ENTROPY_MODE, ENC, H264,
-		{BIT_RATE},
-		msm_vidc_adjust_entropy_mode,
-		msm_vidc_set_u32},
-
-	{PROFILE, ENC, H264,
-		{ENTROPY_MODE, TRANSFORM_8X8},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, H264,
-		{ENTROPY_MODE},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, ENC|DEC, HEVC,
-		{0},
-		msm_vidc_adjust_profile,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, VP9,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_level},
-
-	{HEVC_TIER, ENC|DEC, HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LF_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_deblock_mode},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		{STAGE, DELIVERY_MODE},
-		msm_vidc_adjust_slice_count,
-		msm_vidc_set_slice_count},
-
-	{TRANSFORM_8X8, ENC, H264,
-		{0},
-		msm_vidc_adjust_transform_8x8,
-		msm_vidc_set_u32},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_chroma_qp_index_offset,
-		msm_vidc_set_chroma_qp_index_offset},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
-		{0},
-		msm_vidc_adjust_output_order,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{STAGE, ENC | DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, DEC, H264|HEVC|VP9,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_pipe},
-
-	{THUMBNAIL_MODE, DEC, CODECS_ALL,
-		{OUTPUT_ORDER},
-		NULL,
-		msm_vidc_set_u32},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		{LTR_COUNT, SLICE_MODE, BIT_RATE},
-		msm_vidc_adjust_all_intra,
-		NULL},
-};
-
-/* Default UBWC config for LPDDR5 */
-static struct msm_vidc_ubwc_config_data ubwc_config_kalama[] = {
-	UBWC_CONFIG(8, 32, 16, 0, 1, 1, 1),
-};
-
-static struct msm_vidc_format_capability format_data_kalama = {
-	.codec_info = codec_data_kalama,
-	.codec_info_size = ARRAY_SIZE(codec_data_kalama),
-	.color_format_info = color_format_data_kalama,
-	.color_format_info_size = ARRAY_SIZE(color_format_data_kalama),
-	.color_prim_info = color_primaries_data_kalama,
-	.color_prim_info_size = ARRAY_SIZE(color_primaries_data_kalama),
-	.transfer_char_info = transfer_char_data_kalama,
-	.transfer_char_info_size = ARRAY_SIZE(transfer_char_data_kalama),
-	.matrix_coeff_info = matrix_coeff_data_kalama,
-	.matrix_coeff_info_size = ARRAY_SIZE(matrix_coeff_data_kalama),
-};
-
-static const struct msm_vidc_platform_data kalama_data = {
-	.core_data = core_data_kalama,
-	.core_data_size = ARRAY_SIZE(core_data_kalama),
-	.inst_cap_data = instance_cap_data_kalama,
-	.inst_cap_data_size = ARRAY_SIZE(instance_cap_data_kalama),
-	.inst_cap_dependency_data = instance_cap_dependency_data_kalama,
-	.inst_cap_dependency_data_size = ARRAY_SIZE(instance_cap_dependency_data_kalama),
-	.csc_data.vpe_csc_custom_bias_coeff = vpe_csc_custom_bias_coeff,
-	.csc_data.vpe_csc_custom_matrix_coeff = vpe_csc_custom_matrix_coeff,
-	.csc_data.vpe_csc_custom_limit_coeff = vpe_csc_custom_limit_coeff,
-	.ubwc_config = ubwc_config_kalama,
-	.format_data = &format_data_kalama,
-};
-
-static int msm_vidc_init_data(struct msm_vidc_core *core)
-{
-	int rc = 0;
-
-	if (!core || !core->platform) {
-		d_vpr_e("%s: invalid params\n", __func__);
-		return -EINVAL;
-	}
-	d_vpr_h("%s: initialize kalama data\n", __func__);
-
-	core->platform->data = kalama_data;
-
-	return rc;
-}
-
-int msm_vidc_init_platform_kalama(struct msm_vidc_core *core, struct device *dev)
-{
-	int rc = 0;
-
-	rc = msm_vidc_init_data(core);
-	if (rc)
-		return rc;
-
-	return 0;
-}
-
-int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core, struct device *dev)
-{
-	/* do nothing */
-	return 0;
-}
-

+ 8 - 5
driver/platform/kalama/src/msm_vidc_kalama.c

@@ -2656,14 +2656,17 @@ int msm_vidc_kalama_check_ddr_type(void)
 	return 0;
 	return 0;
 }
 }
 
 
-static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_init_data(struct msm_vidc_core *core)
 {
 {
+	struct device *dev = NULL;
 	int rc = 0;
 	int rc = 0;
 
 
-	if (!core || !core->platform || !dev) {
+	if (!core || !core->pdev || !core->platform) {
 		d_vpr_e("%s: invalid params\n", __func__);
 		d_vpr_e("%s: invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
+
 	d_vpr_h("%s: initialize kalama data\n", __func__);
 	d_vpr_h("%s: initialize kalama data\n", __func__);
 
 
 	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2"))
 	if (of_device_is_compatible(dev->of_node, "qcom,sm8550-vidc-v2"))
@@ -2688,18 +2691,18 @@ static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
 	return rc;
 	return rc;
 }
 }
 
 
-int msm_vidc_init_platform_kalama(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_kalama(struct msm_vidc_core *core)
 {
 {
 	int rc = 0;
 	int rc = 0;
 
 
-	rc = msm_vidc_init_data(core, dev);
+	rc = msm_vidc_init_data(core);
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 
 	return 0;
 	return 0;
 }
 }
 
 
-int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_kalama(struct msm_vidc_core *core)
 {
 {
 	/* do nothing */
 	/* do nothing */
 	return 0;
 	return 0;

+ 4 - 4
driver/platform/pineapple/inc/msm_vidc_pineapple.h

@@ -10,15 +10,15 @@
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
 
 
 #if defined(CONFIG_MSM_VIDC_PINEAPPLE)
 #if defined(CONFIG_MSM_VIDC_PINEAPPLE)
-int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core, struct device *dev);
-int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core, struct device *dev);
+int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core);
+int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core);
 #else
 #else
-int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }
 
 
-int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }

+ 8 - 5
driver/platform/pineapple/src/msm_vidc_pineapple.c

@@ -2664,14 +2664,17 @@ int msm_vidc_pineapple_check_ddr_type(void)
 	return 0;
 	return 0;
 }
 }
 
 
-static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_init_data(struct msm_vidc_core *core)
 {
 {
+	struct device *dev = NULL;
 	int rc = 0;
 	int rc = 0;
 
 
-	if (!core || !core->platform || !dev) {
+	if (!core || !core->pdev || !core->platform) {
 		d_vpr_e("%s: invalid params\n", __func__);
 		d_vpr_e("%s: invalid params\n", __func__);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
+	dev = &core->pdev->dev;
+
 	d_vpr_h("%s: initialize pineapple data\n", __func__);
 	d_vpr_h("%s: initialize pineapple data\n", __func__);
 
 
 	core->platform->data = pineapple_data;
 	core->platform->data = pineapple_data;
@@ -2698,18 +2701,18 @@ static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
 	return rc;
 	return rc;
 }
 }
 
 
-int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	int rc = 0;
 	int rc = 0;
 
 
-	rc = msm_vidc_init_data(core, dev);
+	rc = msm_vidc_init_data(core);
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 
 	return 0;
 	return 0;
 }
 }
 
 
-int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	/* do nothing */
 	/* do nothing */
 	return 0;
 	return 0;

+ 2 - 86
driver/platform/pineapple/src/pineapple.c

@@ -1243,82 +1243,64 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
 	 *      adjust, set}
 	 *      adjust, set}
 	 */
 	 */
 
 
-	{PIX_FMTS, ENC, H264,
-		{0},
-		{0}},
-
 	{PIX_FMTS, ENC, HEVC,
 	{PIX_FMTS, ENC, HEVC,
-		{0},
 		{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
 		{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
 			B_FRAME_QP, MIN_QUALITY, BLUR_TYPES, LTR_COUNT}},
 			B_FRAME_QP, MIN_QUALITY, BLUR_TYPES, LTR_COUNT}},
 
 
 	{PIX_FMTS, DEC, HEVC,
 	{PIX_FMTS, DEC, HEVC,
-		{0},
 		{PROFILE}},
 		{PROFILE}},
 
 
 	{FRAME_RATE, ENC, CODECS_ALL,
 	{FRAME_RATE, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_q16},
 		msm_vidc_set_q16},
 
 
 	{HFLIP, ENC, CODECS_ALL,
 	{HFLIP, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_flip},
 		msm_vidc_set_flip},
 
 
 	{VFLIP, ENC, CODECS_ALL,
 	{VFLIP, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_flip},
 		msm_vidc_set_flip},
 
 
 	{ROTATION, ENC, CODECS_ALL,
 	{ROTATION, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_rotation},
 		msm_vidc_set_rotation},
 
 
 	{SUPER_FRAME, ENC, H264|HEVC,
 	{SUPER_FRAME, ENC, H264|HEVC,
-		{0},
 		{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
 		{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
 		NULL,
 		NULL,
 		NULL},
 		NULL},
 
 
 	{HEADER_MODE, ENC, CODECS_ALL,
 	{HEADER_MODE, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_header_mode},
 		msm_vidc_set_header_mode},
 
 
 	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
 	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_nal_length},
 		msm_vidc_set_nal_length},
 
 
 	{REQUEST_I_FRAME, ENC, H264|HEVC,
 	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_req_sync_frame},
 		msm_vidc_set_req_sync_frame},
 
 
 	{BIT_RATE, ENC, H264,
 	{BIT_RATE, ENC, H264,
-		{ENH_LAYER_COUNT, BITRATE_MODE, ENTROPY_MODE,
-			ALL_INTRA, LOWLATENCY_MODE},
 		{PEAK_BITRATE, L0_BR},
 		{PEAK_BITRATE, L0_BR},
 		msm_vidc_adjust_bitrate,
 		msm_vidc_adjust_bitrate,
 		msm_vidc_set_bitrate},
 		msm_vidc_set_bitrate},
 
 
 	{BIT_RATE, ENC, HEVC,
 	{BIT_RATE, ENC, HEVC,
-		{ENH_LAYER_COUNT, BITRATE_MODE, ALL_INTRA, LOWLATENCY_MODE},
 		{PEAK_BITRATE, L0_BR},
 		{PEAK_BITRATE, L0_BR},
 		msm_vidc_adjust_bitrate,
 		msm_vidc_adjust_bitrate,
 		msm_vidc_set_bitrate},
 		msm_vidc_set_bitrate},
 
 
 	{BITRATE_MODE, ENC, H264,
 	{BITRATE_MODE, ENC, H264,
-		{0},
 		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
 		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
 			B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
 			B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
 			MIN_QUALITY, VBV_DELAY,
 			MIN_QUALITY, VBV_DELAY,
@@ -1328,7 +1310,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{BITRATE_MODE, ENC, HEVC,
 	{BITRATE_MODE, ENC, HEVC,
-		{0},
 		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
 		{LTR_COUNT, I_FRAME_QP, P_FRAME_QP,
 			B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
 			B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
 			BIT_RATE, MIN_QUALITY, VBV_DELAY,
 			BIT_RATE, MIN_QUALITY, VBV_DELAY,
@@ -1338,387 +1319,322 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{CONSTANT_QUALITY, ENC, HEVC,
 	{CONSTANT_QUALITY, ENC, HEVC,
-		{BITRATE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_constant_quality},
 		msm_vidc_set_constant_quality},
 
 
 	{GOP_SIZE, ENC, CODECS_ALL,
 	{GOP_SIZE, ENC, CODECS_ALL,
-		{ENH_LAYER_COUNT},
 		{ALL_INTRA},
 		{ALL_INTRA},
 		msm_vidc_adjust_gop_size,
 		msm_vidc_adjust_gop_size,
 		msm_vidc_set_gop_size},
 		msm_vidc_set_gop_size},
 
 
 	{B_FRAME, ENC, H264|HEVC,
 	{B_FRAME, ENC, H264|HEVC,
-		{ENH_LAYER_COUNT},
 		{ALL_INTRA},
 		{ALL_INTRA},
 		msm_vidc_adjust_b_frame,
 		msm_vidc_adjust_b_frame,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{BLUR_TYPES, ENC, H264|HEVC,
 	{BLUR_TYPES, ENC, H264|HEVC,
-		{PIX_FMTS, BITRATE_MODE, MIN_QUALITY},
 		{0},
 		{0},
 		msm_vidc_adjust_blur_type,
 		msm_vidc_adjust_blur_type,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{LOWLATENCY_MODE, ENC, H264 | HEVC,
 	{LOWLATENCY_MODE, ENC, H264 | HEVC,
-		{BITRATE_MODE, DELIVERY_MODE},
 		{STAGE, BIT_RATE},
 		{STAGE, BIT_RATE},
 		msm_vidc_adjust_enc_lowlatency_mode,
 		msm_vidc_adjust_enc_lowlatency_mode,
 		NULL},
 		NULL},
 
 
 	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
 	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
-		{0},
 		{STAGE},
 		{STAGE},
 		msm_vidc_adjust_dec_lowlatency_mode,
 		msm_vidc_adjust_dec_lowlatency_mode,
 		NULL},
 		NULL},
 
 
 	{LTR_COUNT, ENC, H264|HEVC,
 	{LTR_COUNT, ENC, H264|HEVC,
-		{BITRATE_MODE, ALL_INTRA},
 		{0},
 		{0},
 		msm_vidc_adjust_ltr_count,
 		msm_vidc_adjust_ltr_count,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{USE_LTR, ENC, H264|HEVC,
 	{USE_LTR, ENC, H264|HEVC,
-		{0},
 		{0},
 		{0},
 		msm_vidc_adjust_use_ltr,
 		msm_vidc_adjust_use_ltr,
 		msm_vidc_set_use_and_mark_ltr},
 		msm_vidc_set_use_and_mark_ltr},
 
 
 	{MARK_LTR, ENC, H264|HEVC,
 	{MARK_LTR, ENC, H264|HEVC,
-		{0},
 		{0},
 		{0},
 		msm_vidc_adjust_mark_ltr,
 		msm_vidc_adjust_mark_ltr,
 		msm_vidc_set_use_and_mark_ltr},
 		msm_vidc_set_use_and_mark_ltr},
 
 
 	{AU_DELIMITER, ENC, H264|HEVC,
 	{AU_DELIMITER, ENC, H264|HEVC,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
 	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		{BITRATE_MODE, LAYER_ENABLE, LAYER_TYPE},
 		{REQUEST_PREPROCESS},
 		{REQUEST_PREPROCESS},
 		msm_vidc_adjust_brs,
 		msm_vidc_adjust_brs,
 		msm_vidc_set_vbr_related_properties},
 		msm_vidc_set_vbr_related_properties},
 
 
 	{REQUEST_PREPROCESS, ENC, H264|HEVC,
 	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING},
 		{0},
 		{0},
 		msm_vidc_adjust_preprocess,
 		msm_vidc_adjust_preprocess,
 		msm_vidc_set_preprocess},
 		msm_vidc_set_preprocess},
 
 
 	{MIN_QUALITY, ENC, H264,
 	{MIN_QUALITY, ENC, H264,
-		{BITRATE_MODE, ENH_LAYER_COUNT},
 		{BLUR_TYPES},
 		{BLUR_TYPES},
 		msm_vidc_adjust_min_quality,
 		msm_vidc_adjust_min_quality,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{MIN_QUALITY, ENC, HEVC,
 	{MIN_QUALITY, ENC, HEVC,
-		{BITRATE_MODE, PIX_FMTS, ENH_LAYER_COUNT},
 		{BLUR_TYPES},
 		{BLUR_TYPES},
 		msm_vidc_adjust_min_quality,
 		msm_vidc_adjust_min_quality,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{VBV_DELAY, ENC, H264|HEVC,
 	{VBV_DELAY, ENC, H264|HEVC,
-		{BITRATE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_cbr_related_properties},
 		msm_vidc_set_cbr_related_properties},
 
 
 	{PEAK_BITRATE, ENC, H264|HEVC,
 	{PEAK_BITRATE, ENC, H264|HEVC,
-		{BITRATE_MODE, BIT_RATE},
 		{0},
 		{0},
 		msm_vidc_adjust_peak_bitrate,
 		msm_vidc_adjust_peak_bitrate,
 		msm_vidc_set_cbr_related_properties},
 		msm_vidc_set_cbr_related_properties},
 
 
 	{MIN_FRAME_QP, ENC, H264,
 	{MIN_FRAME_QP, ENC, H264,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_min_qp},
 		msm_vidc_set_min_qp},
 
 
 	{MIN_FRAME_QP, ENC, HEVC,
 	{MIN_FRAME_QP, ENC, HEVC,
-		{PIX_FMTS},
 		{0},
 		{0},
 		msm_vidc_adjust_hevc_min_qp,
 		msm_vidc_adjust_hevc_min_qp,
 		msm_vidc_set_min_qp},
 		msm_vidc_set_min_qp},
 
 
 	{MAX_FRAME_QP, ENC, H264,
 	{MAX_FRAME_QP, ENC, H264,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_max_qp},
 		msm_vidc_set_max_qp},
 
 
 	{MAX_FRAME_QP, ENC, HEVC,
 	{MAX_FRAME_QP, ENC, HEVC,
-		{PIX_FMTS},
 		{0},
 		{0},
 		msm_vidc_adjust_hevc_max_qp,
 		msm_vidc_adjust_hevc_max_qp,
 		msm_vidc_set_max_qp},
 		msm_vidc_set_max_qp},
 
 
 	{I_FRAME_QP, ENC, HEVC,
 	{I_FRAME_QP, ENC, HEVC,
-		{PIX_FMTS, BITRATE_MODE},
 		{0},
 		{0},
 		msm_vidc_adjust_hevc_i_frame_qp,
 		msm_vidc_adjust_hevc_i_frame_qp,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{I_FRAME_QP, ENC, H264,
 	{I_FRAME_QP, ENC, H264,
-		{BITRATE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{P_FRAME_QP, ENC, HEVC,
 	{P_FRAME_QP, ENC, HEVC,
-		{PIX_FMTS, BITRATE_MODE},
 		{0},
 		{0},
 		msm_vidc_adjust_hevc_p_frame_qp,
 		msm_vidc_adjust_hevc_p_frame_qp,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{P_FRAME_QP, ENC, H264,
 	{P_FRAME_QP, ENC, H264,
-		{BITRATE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{B_FRAME_QP, ENC, HEVC,
 	{B_FRAME_QP, ENC, HEVC,
-		{PIX_FMTS, BITRATE_MODE},
 		{0},
 		{0},
 		msm_vidc_adjust_hevc_b_frame_qp,
 		msm_vidc_adjust_hevc_b_frame_qp,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{B_FRAME_QP, ENC, H264,
 	{B_FRAME_QP, ENC, H264,
-		{BITRATE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_frame_qp},
 		msm_vidc_set_frame_qp},
 
 
 	{LAYER_TYPE, ENC, H264|HEVC,
 	{LAYER_TYPE, ENC, H264|HEVC,
-		{0},
 		{CONTENT_ADAPTIVE_CODING, LTR_COUNT}},
 		{CONTENT_ADAPTIVE_CODING, LTR_COUNT}},
 
 
 	{LAYER_ENABLE, ENC, H264|HEVC,
 	{LAYER_ENABLE, ENC, H264|HEVC,
-		{0},
 		{CONTENT_ADAPTIVE_CODING}},
 		{CONTENT_ADAPTIVE_CODING}},
 
 
 	{ENH_LAYER_COUNT, ENC, H264|HEVC,
 	{ENH_LAYER_COUNT, ENC, H264|HEVC,
-		{BITRATE_MODE},
 		{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, LTR_COUNT},
 		{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, LTR_COUNT},
 		msm_vidc_adjust_layer_count,
 		msm_vidc_adjust_layer_count,
 		msm_vidc_set_layer_count_and_type},
 		msm_vidc_set_layer_count_and_type},
 
 
 	{L0_BR, ENC, H264|HEVC,
 	{L0_BR, ENC, H264|HEVC,
-		{BIT_RATE},
 		{L1_BR},
 		{L1_BR},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{L1_BR, ENC, H264|HEVC,
 	{L1_BR, ENC, H264|HEVC,
-		{L0_BR},
 		{L2_BR},
 		{L2_BR},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{L2_BR, ENC, H264|HEVC,
 	{L2_BR, ENC, H264|HEVC,
-		{L1_BR},
 		{L3_BR},
 		{L3_BR},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{L3_BR, ENC, H264|HEVC,
 	{L3_BR, ENC, H264|HEVC,
-		{L2_BR},
 		{L4_BR},
 		{L4_BR},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{L4_BR, ENC, H264|HEVC,
 	{L4_BR, ENC, H264|HEVC,
-		{L3_BR},
 		{L5_BR},
 		{L5_BR},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{L5_BR, ENC, H264|HEVC,
 	{L5_BR, ENC, H264|HEVC,
-		{L4_BR},
 		{0},
 		{0},
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_adjust_layer_bitrate,
 		msm_vidc_set_layer_bitrate},
 		msm_vidc_set_layer_bitrate},
 
 
 	{ENTROPY_MODE, ENC, H264,
 	{ENTROPY_MODE, ENC, H264,
-		{PROFILE},
 		{BIT_RATE},
 		{BIT_RATE},
 		msm_vidc_adjust_entropy_mode,
 		msm_vidc_adjust_entropy_mode,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{PROFILE, ENC, H264,
 	{PROFILE, ENC, H264,
-		{0},
 		{ENTROPY_MODE, TRANSFORM_8X8},
 		{ENTROPY_MODE, TRANSFORM_8X8},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{PROFILE, DEC, H264,
 	{PROFILE, DEC, H264,
-		{0},
 		{ENTROPY_MODE},
 		{ENTROPY_MODE},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{PROFILE, ENC|DEC, HEVC,
 	{PROFILE, ENC|DEC, HEVC,
-		{PIX_FMTS},
 		{0},
 		{0},
 		msm_vidc_adjust_profile,
 		msm_vidc_adjust_profile,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{PROFILE, DEC, VP9,
 	{PROFILE, DEC, VP9,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{LEVEL, DEC, CODECS_ALL,
 	{LEVEL, DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{LEVEL, ENC, CODECS_ALL,
 	{LEVEL, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_level},
 		msm_vidc_set_level},
 
 
 	{HEVC_TIER, ENC|DEC, HEVC,
 	{HEVC_TIER, ENC|DEC, HEVC,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_enum},
 		msm_vidc_set_u32_enum},
 
 
 	{LF_MODE, ENC, CODECS_ALL,
 	{LF_MODE, ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_deblock_mode},
 		msm_vidc_set_deblock_mode},
 
 
 	{SLICE_MODE, ENC, H264|HEVC,
 	{SLICE_MODE, ENC, H264|HEVC,
-		{BITRATE_MODE, ALL_INTRA},
 		{STAGE, DELIVERY_MODE},
 		{STAGE, DELIVERY_MODE},
 		msm_vidc_adjust_slice_count,
 		msm_vidc_adjust_slice_count,
 		msm_vidc_set_slice_count},
 		msm_vidc_set_slice_count},
 
 
 	{TRANSFORM_8X8, ENC, H264,
 	{TRANSFORM_8X8, ENC, H264,
-		{PROFILE},
 		{0},
 		{0},
 		msm_vidc_adjust_transform_8x8,
 		msm_vidc_adjust_transform_8x8,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
 	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		{0},
 		{0},
 		{0},
 		msm_vidc_adjust_chroma_qp_index_offset,
 		msm_vidc_adjust_chroma_qp_index_offset,
 		msm_vidc_set_chroma_qp_index_offset},
 		msm_vidc_set_chroma_qp_index_offset},
 
 
 	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
 	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
-		{0},
 		{OUTPUT_ORDER},
 		{OUTPUT_ORDER},
 		NULL,
 		NULL,
 		NULL},
 		NULL},
 
 
 	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
 	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
-		{0},
 		{OUTPUT_ORDER},
 		{OUTPUT_ORDER},
 		NULL,
 		NULL,
 		NULL},
 		NULL},
 
 
 	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
 	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
-		{THUMBNAIL_MODE, DISPLAY_DELAY, DISPLAY_DELAY_ENABLE},
 		{0},
 		{0},
 		msm_vidc_adjust_output_order,
 		msm_vidc_adjust_output_order,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
 	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		msm_vidc_adjust_input_buf_host_max_count,
 		msm_vidc_adjust_input_buf_host_max_count,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
 	{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{SUPER_FRAME},
 		{0},
 		{0},
 		msm_vidc_adjust_input_buf_host_max_count,
 		msm_vidc_adjust_input_buf_host_max_count,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
 	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		msm_vidc_adjust_output_buf_host_max_count,
 		msm_vidc_adjust_output_buf_host_max_count,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
 	{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{SUPER_FRAME, DELIVERY_MODE},
 		{0},
 		{0},
 		msm_vidc_adjust_output_buf_host_max_count,
 		msm_vidc_adjust_output_buf_host_max_count,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
 	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_packed},
 		msm_vidc_set_u32_packed},
 
 
 	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
 	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32_packed},
 		msm_vidc_set_u32_packed},
 
 
 	{STAGE, ENC | DEC, CODECS_ALL,
 	{STAGE, ENC | DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_stage},
 		msm_vidc_set_stage},
 
 
 	{STAGE, ENC, H264|HEVC,
 	{STAGE, ENC, H264|HEVC,
-		{LOWLATENCY_MODE, SLICE_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_stage},
 		msm_vidc_set_stage},
 
 
 	{STAGE, DEC, H264|HEVC|VP9,
 	{STAGE, DEC, H264|HEVC|VP9,
-		{LOWLATENCY_MODE},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_stage},
 		msm_vidc_set_stage},
 
 
 	{PIPE, DEC|ENC, CODECS_ALL,
 	{PIPE, DEC|ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_pipe},
 		msm_vidc_set_pipe},
 
 
 	{THUMBNAIL_MODE, DEC, CODECS_ALL,
 	{THUMBNAIL_MODE, DEC, CODECS_ALL,
-		{0},
 		{OUTPUT_ORDER},
 		{OUTPUT_ORDER},
 		NULL,
 		NULL,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{RAP_FRAME, DEC, CODECS_ALL,
 	{RAP_FRAME, DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		msm_vidc_set_u32},
 		msm_vidc_set_u32},
 
 
 	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
 	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		NULL},
 		NULL},
 
 
 	{DPB_LIST, DEC, CODECS_ALL,
 	{DPB_LIST, DEC, CODECS_ALL,
-		{0},
 		{0},
 		{0},
 		NULL,
 		NULL,
 		NULL},
 		NULL},
 
 
 	{ALL_INTRA, ENC, H264|HEVC,
 	{ALL_INTRA, ENC, H264|HEVC,
-		{GOP_SIZE, B_FRAME},
 		{LTR_COUNT, SLICE_MODE, BIT_RATE},
 		{LTR_COUNT, SLICE_MODE, BIT_RATE},
 		msm_vidc_adjust_all_intra,
 		msm_vidc_adjust_all_intra,
 		NULL},
 		NULL},
@@ -1790,7 +1706,7 @@ static int msm_vidc_init_data(struct msm_vidc_core *core)
 	return rc;
 	return rc;
 }
 }
 
 
-int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	int rc = 0;
 	int rc = 0;
 
 
@@ -1801,7 +1717,7 @@ int msm_vidc_init_platform_pineapple(struct msm_vidc_core *core, struct device *
 	return 0;
 	return 0;
 }
 }
 
 
-int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_pineapple(struct msm_vidc_core *core)
 {
 {
 	/* do nothing */
 	/* do nothing */
 	return 0;
 	return 0;

+ 4 - 6
driver/platform/waipio/inc/msm_vidc_waipio.h

@@ -8,15 +8,13 @@
 #define _MSM_VIDC_WAIPIO_H_
 #define _MSM_VIDC_WAIPIO_H_
 
 
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
-#if defined(CONFIG_MSM_VIDC_IRIS2)
 #include "msm_vidc_iris2.h"
 #include "msm_vidc_iris2.h"
-#endif
 
 
 #if defined(CONFIG_MSM_VIDC_WAIPIO)
 #if defined(CONFIG_MSM_VIDC_WAIPIO)
 struct context_bank_info *msm_vidc_context_bank(struct msm_vidc_core *core,
 struct context_bank_info *msm_vidc_context_bank(struct msm_vidc_core *core,
 	enum msm_vidc_buffer_region region);
 	enum msm_vidc_buffer_region region);
-int msm_vidc_init_platform_waipio(struct msm_vidc_core *core, struct device *dev);
-int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core, struct device *dev);
+int msm_vidc_init_platform_waipio(struct msm_vidc_core *core);
+int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core);
 #else
 #else
 struct context_bank_info *msm_vidc_context_bank(struct msm_vidc_core *core,
 struct context_bank_info *msm_vidc_context_bank(struct msm_vidc_core *core,
 	enum msm_vidc_buffer_region region)
 	enum msm_vidc_buffer_region region)
@@ -24,12 +22,12 @@ struct context_bank_info *msm_vidc_context_bank(struct msm_vidc_core *core,
 	return NULL;
 	return NULL;
 }
 }
 
 
-int msm_vidc_init_platform_waipio(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_waipio(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }
 
 
-int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core)
 {
 {
 	return -EINVAL;
 	return -EINVAL;
 }
 }

+ 0 - 2172
driver/platform/waipio/src/msm_vidc_waipio.c

@@ -1,2172 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#include <dt-bindings/clock/qcom,gcc-waipio.h>
-#include <dt-bindings/clock/qcom,videocc-waipio.h>
-
-#include <linux/of.h>
-#include <linux/soc/qcom/llcc-qcom.h>
-
-#include <media/v4l2_vidc_extensions.h>
-#include "msm_vidc_waipio.h"
-#include "msm_vidc_platform.h"
-#include "msm_vidc_debug.h"
-#include "msm_vidc_control_ext.h"
-#include "msm_vidc_internal.h"
-#include "hfi_property.h"
-#include "hfi_command.h"
-
-#define DEFAULT_VIDEO_CONCEAL_COLOR_BLACK 0x8020010
-#define MAX_LTR_FRAME_COUNT     2
-#define MAX_BASE_LAYER_PRIORITY_ID 63
-#define MAX_BITRATE             220000000
-#define DEFAULT_BITRATE         20000000
-#define MINIMUM_FPS             1
-#define MAXIMUM_FPS             480
-#define MAX_QP                  51
-#define DEFAULT_QP              20
-#define MAX_CONSTANT_QUALITY    100
-#define MIN_SLICE_BYTE_SIZE     512
-#define MAX_SLICE_BYTE_SIZE       \
-	((MAX_BITRATE) >> 3)
-#define MAX_SLICE_MB_SIZE         \
-	(((4096 + 15) >> 4) * ((2304 + 15) >> 4))
-
-#define ENC     MSM_VIDC_ENCODER
-#define DEC     MSM_VIDC_DECODER
-#define H264    MSM_VIDC_H264
-#define HEVC    MSM_VIDC_HEVC
-#define VP9     MSM_VIDC_VP9
-#define HEIC    MSM_VIDC_HEIC
-#define CODECS_ALL     (H264 | HEVC | VP9 | HEIC)
-#define MAXIMUM_OVERRIDE_VP9_FPS 200
-
-static struct msm_platform_core_capability core_data_waipio[] = {
-	/* {type, value} */
-	{ENC_CODECS, H264|HEVC|HEIC},
-	{DEC_CODECS, H264|HEVC|VP9|HEIC},
-	{MAX_SESSION_COUNT, 16},
-	{MAX_NUM_720P_SESSIONS, 16},
-	{MAX_NUM_1080P_SESSIONS, 16},
-	{MAX_NUM_4K_SESSIONS, 8},
-	{MAX_NUM_8K_SESSIONS, 2},
-	{MAX_SECURE_SESSION_COUNT, 3},
-	{MAX_RT_MBPF, 174080},	/* (8192x4352)/256 + (4096x2176)/256*/
-	{MAX_MBPF, 278528}, /* ((8192x4352)/256) * 2 */
-	{MAX_MBPS, 7833600},	/* max_load
-					 * 7680x4320@60fps or 3840x2176@240fps
-					 * which is greater than 4096x2176@120fps,
-					 * 8192x4320@48fps
-					 */
-	{MAX_IMAGE_MBPF, 1048576},  /* (16384x16384)/256 */
-	{MAX_MBPF_HQ, 8160}, /* ((1920x1088)/256) */
-	{MAX_MBPS_HQ, 489600}, /* ((1920x1088)/256)@60fps */
-	{MAX_MBPF_B_FRAME, 32640}, /* 3840x2176/256 */
-	{MAX_MBPS_B_FRAME, 1958400}, /* 3840x2176/256 MBs@60fps */
-	{MAX_MBPS_ALL_INTRA, 1044480}, /* 4096x2176/256 MBs@30fps */
-	{MAX_ENH_LAYER_COUNT, 5},
-	{NUM_VPP_PIPE, 4},
-	{SW_PC, 1},
-	{FW_UNLOAD, 0},
-	{HW_RESPONSE_TIMEOUT, HW_RESPONSE_TIMEOUT_VALUE}, /* 1000 ms */
-	{SW_PC_DELAY,         SW_PC_DELAY_VALUE        }, /* 1500 ms (>HW_RESPONSE_TIMEOUT)*/
-	{FW_UNLOAD_DELAY,     FW_UNLOAD_DELAY_VALUE    }, /* 3000 ms (>SW_PC_DELAY)*/
-	{PAGEFAULT_NON_FATAL, 1},
-	{PAGETABLE_CACHING, 0},
-	{DCVS, 1},
-	{DECODE_BATCH, 1},
-	{DECODE_BATCH_TIMEOUT, 200},
-	{STATS_TIMEOUT_MS, 2000},
-	{AV_SYNC_WINDOW_SIZE, 40},
-	{NON_FATAL_FAULTS, 1},
-	{ENC_AUTO_FRAMERATE, 1},
-	{DEVICE_CAPS, V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_META_CAPTURE |
-		V4L2_CAP_STREAMING},
-	{SUPPORTS_REQUESTS, 1},
-};
-
-static struct msm_platform_inst_capability instance_cap_data_waipio[] = {
-	/* {cap, domain, codec,
-	 *      min, max, step_or_mask, value,
-	 *      v4l2_id,
-	 *      hfi_id,
-	 *      flags}
-	 */
-
-	{FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
-
-	{FRAME_WIDTH, DEC, VP9, 96, 4096, 1, 1920},
-
-	{FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
-
-	{FRAME_WIDTH, ENC, HEVC, 96, 8192, 1, 1920},
-
-	{FRAME_WIDTH, ENC, HEIC, 128, 16384, 1, 16384},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, H264, 128, 4096, 1, 1920},
-
-	{LOSSLESS_FRAME_WIDTH, ENC, HEVC, 96, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, DEC, H264|HEVC|VP9, 96, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, ENC, H264, 128, 4096, 1, 1920},
-
-	{SECURE_FRAME_WIDTH, ENC, HEVC, 96, 4096, 1, 1920},
-
-	{FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, DEC, VP9, 96, 4096, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, HEVC, 96, 8192, 1, 1080},
-
-	{FRAME_HEIGHT, ENC, HEIC, 128, 16384, 1, 16384},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, H264, 128, 4096, 1, 1080},
-
-	{LOSSLESS_FRAME_HEIGHT, ENC, HEVC, 96, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, DEC, H264|HEVC|VP9, 96, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, ENC, H264, 128, 4096, 1, 1080},
-
-	{SECURE_FRAME_HEIGHT, ENC, HEVC, 96, 4096, 1, 1080},
-
-	{PIX_FMTS, ENC|DEC, H264,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C,
-		MSM_VIDC_FMT_NV12C},
-
-	{PIX_FMTS, ENC|DEC, HEVC|VP9,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
-		MSM_VIDC_FMT_P010 | MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12C},
-
-	{PIX_FMTS, ENC, HEIC,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_P010,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_P010,
-		MSM_VIDC_FMT_NV12},
-
-	{PIX_FMTS, DEC, HEIC,
-		MSM_VIDC_FMT_NV12,
-		MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
-		MSM_VIDC_FMT_P010 | MSM_VIDC_FMT_TP10C,
-		MSM_VIDC_FMT_NV12C},
-
-	{MIN_BUFFERS_INPUT, ENC|DEC, CODECS_ALL, 0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_OUTPUT},
-
-	{MIN_BUFFERS_INPUT, ENC|DEC, HEIC, 0, 64, 1, 1,
-		V4L2_CID_MIN_BUFFERS_FOR_OUTPUT},
-
-	{MIN_BUFFERS_OUTPUT, ENC|DEC, CODECS_ALL,
-		0, 64, 1, 4,
-		V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,
-		HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	/* (8192 * 4320) / 256 */
-	{MBPF, ENC, CODECS_ALL, 64, 138240, 1, 138240},
-
-	{MBPF, ENC, HEVC, 36, 138240, 1, 138240},
-
-	/* ((16384x16384)/256) */
-	{MBPF, ENC, HEIC, 36, 1048576, 1, 1048576},
-
-	{MBPF, DEC, CODECS_ALL, 36, 138240, 1, 138240},
-
-	/* (4096 * 2304) / 256 */
-	{MBPF, DEC, VP9, 36, 36864, 1, 36864},
-
-	/* ((8192x8192)/256) */
-	{MBPF, DEC, HEIC, 64, 262144,  1, 262144 },
-
-	/* (4096 * 2304) / 256 */
-	{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
-
-	/* Batch Mode Decode */
-	/* TODO: update with new values based on updated voltage corner */
-	{BATCH_MBPF, DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
-
-	/* (4096 * 2304) / 256 */
-	{BATCH_FPS, DEC, H264|HEVC|VP9, 1, 120, 1, 120},
-
-	{SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 36864, 1, 36864},
-
-	{SECURE_MBPF, ENC, HEVC, 36, 36864, 1, 36864},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		0,
-		HFI_PROP_FRAME_RATE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{FRAME_RATE, ENC, HEIC,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (MINIMUM_FPS << 16),
-		0,
-		HFI_PROP_FRAME_RATE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{FRAME_RATE, DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_FRAME_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{FRAME_RATE, DEC, VP9,
-		(MINIMUM_FPS << 16), (MAXIMUM_OVERRIDE_VP9_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_FRAME_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{OPERATING_RATE, ENC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16)},
-
-	{OPERATING_RATE, DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_OPERATING_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{OPERATING_RATE, DEC, VP9,
-		(MINIMUM_FPS << 16), (MAXIMUM_OVERRIDE_VP9_FPS << 16),
-		1, (DEFAULT_FPS << 16),
-		V4L2_CID_MPEG_VIDC_OPERATING_RATE,
-		0,
-		CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{INPUT_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{TIMESTAMP_RATE, ENC|DEC, CODECS_ALL,
-		(MINIMUM_FPS << 16), INT_MAX,
-		1, (DEFAULT_FPS << 16)},
-
-	{SCALE_FACTOR, ENC, H264|HEVC, 1, 8, 1, 8},
-
-	{MB_CYCLES_VSP, ENC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, CODECS_ALL, 25, 25, 1, 25},
-
-	{MB_CYCLES_VSP, DEC, VP9, 60, 60, 1, 60},
-
-	{MB_CYCLES_VPP, ENC, CODECS_ALL, 675, 675, 1, 675},
-
-	{MB_CYCLES_VPP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_LP, ENC, CODECS_ALL, 320, 320, 1, 320},
-
-	{MB_CYCLES_LP, DEC, CODECS_ALL, 200, 200, 1, 200},
-
-	{MB_CYCLES_FW, ENC|DEC, CODECS_ALL, 326389, 326389, 1, 326389},
-
-	{MB_CYCLES_FW_VPP, ENC|DEC, CODECS_ALL, 44156, 44156, 1, 44156},
-
-	{SECURE_MODE, ENC|DEC, H264|HEVC|VP9,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_SECURE,
-		HFI_PROP_SECURE,
-		CAP_FLAG_NONE},
-
-	{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		0,
-		0,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{TS_REORDER, DEC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_TS_REORDER},
-
-	{HFLIP, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_HFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT |
-			CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{VFLIP, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_VFLIP,
-		HFI_PROP_FLIP,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ROTATION, ENC, CODECS_ALL,
-		0, 270, 90, 0,
-		V4L2_CID_ROTATE,
-		HFI_PROP_ROTATION,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		0, 32, 1, 0,
-		V4L2_CID_MPEG_VIDC_SUPERFRAME, 0,
-		CAP_FLAG_NONE},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) |
-		BIT(V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME),
-		V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,
-		V4L2_CID_MPEG_VIDEO_HEADER_MODE,
-		HFI_PROP_SEQ_HEADER_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PREPEND_SPSPPS_TO_IDR, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{NAL_LENGTH_FIELD, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_MPEG_VIDEO_HEVC_SIZE_4,
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_0) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_SIZE_4),
-		V4L2_MPEG_VIDEO_HEVC_SIZE_0,
-		V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD,
-		HFI_PROP_NAL_LENGTH_FIELD,
-		CAP_FLAG_MENU | CAP_FLAG_OUTPUT_PORT},
-
-	/* TODO: Firmware introduced enumeration type for this
-	 * with and without seq header.
-	 */
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		0, 0, 0, 0,
-		V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
-		HFI_PROP_REQUEST_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	/* Enc: Keeping CABAC and CAVLC as same bitrate.
-	 * Dec: there's no use of Bitrate cap
-	 */
-	{BIT_RATE, ENC, H264|HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE,
-		HFI_PROP_TOTAL_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITRATE_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_MODE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) |
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_MODE, ENC, HEIC,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
-		V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
-		V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
-		HFI_PROP_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LOSSLESS, ENC, HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU},
-
-	{FRAME_SKIP_MODE, ENC, H264|HEVC|HEIC,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT) |
-		BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT),
-		V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
-		V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{FRAME_RC_ENABLE, ENC, H264|HEVC|HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE},
-
-	{CONSTANT_QUALITY, ENC, HEVC,
-		1, MAX_CONSTANT_QUALITY, 1, 90,
-		V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
-		HFI_PROP_CONSTANT_QUALITY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{CONSTANT_QUALITY, ENC, HEIC,
-		1, MAX_CONSTANT_QUALITY, 1, 100,
-		V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
-		HFI_PROP_CONSTANT_QUALITY,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		0, INT_MAX, 1, 2 * DEFAULT_FPS - 1,
-		V4L2_CID_MPEG_VIDEO_GOP_SIZE,
-		HFI_PROP_MAX_GOP_FRAMES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_SIZE, ENC, HEIC,
-		0, INT_MAX, 1, 0 /* all intra */,
-		V4L2_CID_MPEG_VIDEO_GOP_SIZE,
-		HFI_PROP_MAX_GOP_FRAMES,
-		CAP_FLAG_OUTPUT_PORT |
-			CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{GOP_CLOSURE, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,
-		0},
-
-	{B_FRAME, ENC, H264|HEVC,
-		0, 7, 1, 0,
-		V4L2_CID_MPEG_VIDEO_B_FRAMES,
-		HFI_PROP_MAX_B_FRAMES,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{B_FRAME, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_B_FRAMES,
-		HFI_PROP_MAX_B_FRAMES,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		VIDC_BLUR_NONE, VIDC_BLUR_ADAPTIVE,
-		BIT(VIDC_BLUR_NONE) | BIT(VIDC_BLUR_EXTERNAL) | BIT(VIDC_BLUR_ADAPTIVE),
-		VIDC_BLUR_ADAPTIVE,
-		V4L2_CID_MPEG_VIDC_VIDEO_BLUR_TYPES,
-		HFI_PROP_BLUR_TYPES,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BLUR_RESOLUTION, ENC, H264|HEVC,
-		0, S32_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_VIDEO_BLUR_RESOLUTION,
-		HFI_PROP_BLUR_RESOLUTION,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{CSC, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_CSC},
-
-	{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_CUSTOM_MATRIX,
-		HFI_PROP_CSC_MATRIX,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{LOWLATENCY_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
-		0,
-		CAP_FLAG_NONE},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		0, 2, 1, 0,
-		V4L2_CID_MPEG_VIDEO_LTR_COUNT,
-		HFI_PROP_LTR_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{USE_LTR, ENC, H264|HEVC,
-		INVALID_DEFAULT_MARK_OR_USE_LTR,
-		((1 << MAX_LTR_FRAME_COUNT) - 1),
-		1, INVALID_DEFAULT_MARK_OR_USE_LTR,
-		V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES,
-		HFI_PROP_LTR_USE,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		INVALID_DEFAULT_MARK_OR_USE_LTR,
-		(MAX_LTR_FRAME_COUNT - 1),
-		1, INVALID_DEFAULT_MARK_OR_USE_LTR,
-		V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,
-		HFI_PROP_LTR_MARK,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BASELAYER_PRIORITY, ENC, H264,
-		0, MAX_BASE_LAYER_PRIORITY_ID, 1, 0,
-		V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID,
-		HFI_PROP_BASELAYER_PRIORITYID,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{IR_TYPE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM,
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM,
-		BIT(V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM),
-		V4L2_MPEG_VIDEO_VIDC_INTRA_REFRESH_RANDOM,
-		V4L2_CID_MPEG_VIDEO_VIDC_INTRA_REFRESH_TYPE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{IR_PERIOD, ENC, H264|HEVC,
-		0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_INTRA_REFRESH_PERIOD,
-		0,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_OUTPUT_PORT |
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_AU_DELIMITER,
-		HFI_PROP_AUD,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TIME_DELTA_BASED_RC, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC,
-		HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TIME_DELTA_BASED_RC, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC,
-		HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDC_CONTENT_ADAPTIVE_CODING,
-		HFI_PROP_CONTENT_ADAPTIVE_CODING,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		MSM_VIDC_PREPROCESS_NONE,
-		MSM_VIDC_PREPROCESS_NONE,
-		BIT(MSM_VIDC_PREPROCESS_NONE),
-		MSM_VIDC_PREPROCESS_NONE,
-		0, HFI_PROP_REQUEST_PREPROCESS,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{BITRATE_BOOST, ENC, H264|HEVC,
-		0, MAX_BITRATE_BOOST, 25, MAX_BITRATE_BOOST,
-		V4L2_CID_MPEG_VIDC_QUALITY_BITRATE_BOOST,
-		HFI_PROP_BITRATE_BOOST,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MIN_QUALITY, ENC, H264|HEVC,
-		0, MAX_SUPPORTED_MIN_QUALITY, 70, MAX_SUPPORTED_MIN_QUALITY,
-		0,
-		HFI_PROP_MAINTAIN_MIN_QUALITY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		200, 300, 100, 300,
-		V4L2_CID_MPEG_VIDEO_VBV_DELAY,
-		HFI_PROP_VBV_DELAY,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		/* default peak bitrate is 10% larger than avg bitrate */
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,
-		HFI_PROP_TOTAL_PEAK_BITRATE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{MIN_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MIN_FRAME_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
-		HFI_PROP_MIN_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP},
-
-	{I_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP},
-
-	{P_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP},
-
-	{B_FRAME_MIN_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP},
-
-	{MAX_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MAX_FRAME_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,
-		HFI_PROP_MAX_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{I_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP},
-
-	{I_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP},
-
-	{P_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP},
-
-	{B_FRAME_MAX_QP, ENC, HEVC|HEIC,
-		MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP},
-
-	{I_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{I_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{P_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, HEVC,
-		MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{B_FRAME_QP, ENC, H264,
-		MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
-		V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP,
-		HFI_PROP_QP_PACKED,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{LAYER_TYPE, ENC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_TYPE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B) |
-		BIT(V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P),
-		V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LAYER_ENABLE, ENC, H264,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING,
-		HFI_PROP_LAYER_ENCODING_TYPE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{LAYER_ENABLE, ENC, HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{ENH_LAYER_COUNT, ENC, HEVC,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENH_LAYER_COUNT, ENC, H264,
-		0, 5, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER,
-		HFI_PROP_LAYER_COUNT,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L0_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L0_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR,
-		HFI_PROP_BITRATE_LAYER1,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L1_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR,
-		HFI_PROP_BITRATE_LAYER2,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L2_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR,
-		HFI_PROP_BITRATE_LAYER3,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L3_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-	{L3_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR,
-		HFI_PROP_BITRATE_LAYER4,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L4_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR,
-		HFI_PROP_BITRATE_LAYER5,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, H264,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{L5_BR, ENC, HEVC,
-		1, MAX_BITRATE, 1, DEFAULT_BITRATE,
-		V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR,
-		HFI_PROP_BITRATE_LAYER6,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_INPUT_PORT |
-			CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENTROPY_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,
-		HFI_PROP_CABAC_SESSION,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{ENTROPY_MODE, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
-		BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC),
-		V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
-		0,
-		HFI_PROP_CABAC_SESSION},
-
-	{PROFILE, ENC|DEC, H264,
-		V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,
-		V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH,
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_H264_PROFILE_HIGH),
-		V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
-		V4L2_CID_MPEG_VIDEO_H264_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, ENC|DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE,
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE),
-		V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
-		V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{PROFILE, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_MPEG_VIDEO_VP9_PROFILE_2,
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_PROFILE_2),
-		V4L2_MPEG_VIDEO_VP9_PROFILE_0,
-		V4L2_CID_MPEG_VIDEO_VP9_PROFILE,
-		HFI_PROP_PROFILE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_H264_LEVEL_5_0,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_5,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, H264,
-		V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1B) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_1_3) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_2_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_3_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_4_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_0) |
-		BIT(V4L2_MPEG_VIDEO_H264_LEVEL_6_1),
-		V4L2_MPEG_VIDEO_H264_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_H264_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1),
-		V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1,
-		V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LEVEL, DEC, VP9,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_1_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_2_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_3_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_4_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_0) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_1) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_5_2) |
-		BIT(V4L2_MPEG_VIDEO_VP9_LEVEL_6_0),
-		V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,
-		V4L2_CID_MPEG_VIDEO_VP9_LEVEL,
-		HFI_PROP_LEVEL,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{HEVC_TIER, ENC|DEC, HEVC,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_HIGH),
-		V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
-		V4L2_CID_MPEG_VIDEO_HEVC_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{HEVC_TIER, ENC|DEC, HEIC,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN),
-		V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
-		V4L2_CID_MPEG_VIDEO_HEVC_TIER,
-		HFI_PROP_TIER,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, H264,
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		DB_H264_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED) |
-		BIT(V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED) |
-		BIT(DB_H264_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_MODE, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,
-		DB_HEVC_DISABLE_SLICE_BOUNDARY,
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED) |
-		BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED) |
-		BIT(DB_HEVC_DISABLE_SLICE_BOUNDARY),
-		V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED,
-		V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE,
-		HFI_PROP_DEBLOCKING_MODE,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{LF_ALPHA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA},
-
-	{LF_ALPHA, ENC, HEVC|HEIC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2},
-
-	{LF_BETA, ENC, H264,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA},
-
-	{LF_BETA, ENC, HEVC|HEIC,
-		-6, 6, 1, 0,
-		V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB) |
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES),
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{SLICE_MODE, ENC, HEIC,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE),
-		V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
-		0,
-		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
-
-	{SLICE_MAX_BYTES, ENC, H264|HEVC,
-		MIN_SLICE_BYTE_SIZE, MAX_SLICE_BYTE_SIZE,
-		1, MIN_SLICE_BYTE_SIZE,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,
-		HFI_PROP_MULTI_SLICE_BYTES_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{SLICE_MAX_MB, ENC, H264|HEVC,
-		1, MAX_SLICE_MB_SIZE, 1, 1,
-		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,
-		HFI_PROP_MULTI_SLICE_MB_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{MB_RC, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{TRANSFORM_8X8, ENC, H264,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM,
-		HFI_PROP_8X8_TRANSFORM,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		MIN_CHROMA_QP_OFFSET, MAX_CHROMA_QP_OFFSET,
-		1, MAX_CHROMA_QP_OFFSET,
-		V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET,
-		HFI_PROP_CHROMA_QP_OFFSET,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DECODE_ORDER_OUTPUT,
-		CAP_FLAG_INPUT_PORT},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_INPUT_PORT},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		DEFAULT_MAX_HOST_BUF_COUNT, DEFAULT_MAX_HOST_BURST_BUF_COUNT,
-		1, DEFAULT_MAX_HOST_BUF_COUNT,
-		0,
-		HFI_PROP_BUFFER_HOST_MAX_COUNT,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, 0x0, 0xff3fcff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_8BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, 0x0, 0x3fffffff, 1,
-		DEFAULT_VIDEO_CONCEAL_COLOR_BLACK,
-		V4L2_CID_MPEG_VIDEO_MUTE_YUV,
-		HFI_PROP_CONCEAL_COLOR_10BIT,
-		CAP_FLAG_INPUT_PORT},
-
-	{STAGE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_STAGE_1,
-		MSM_VIDC_STAGE_2, 1,
-		MSM_VIDC_STAGE_2,
-		0,
-		HFI_PROP_STAGE},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		MSM_VIDC_PIPE_1,
-		MSM_VIDC_PIPE_4, 1,
-		MSM_VIDC_PIPE_4,
-		0,
-		HFI_PROP_PIPE},
-
-	{POC, DEC, H264, 0, 2, 1, 1,
-		0,
-		HFI_PROP_PIC_ORDER_CNT_TYPE},
-
-	{QUALITY_MODE, ENC, CODECS_ALL,
-		MSM_VIDC_MAX_QUALITY_MODE,
-		MSM_VIDC_POWER_SAVE_MODE, 1,
-		MSM_VIDC_POWER_SAVE_MODE},
-
-	{CODED_FRAMES, DEC, H264|HEVC|HEIC,
-		CODED_FRAMES_PROGRESSIVE, CODED_FRAMES_INTERLACE,
-		1, CODED_FRAMES_PROGRESSIVE,
-		0,
-		HFI_PROP_CODED_FRAMES},
-
-	{BIT_DEPTH, DEC, CODECS_ALL, BIT_DEPTH_8, BIT_DEPTH_10, 1, BIT_DEPTH_8,
-		0,
-		HFI_PROP_LUMA_CHROMA_BIT_DEPTH},
-
-	{CODEC_CONFIG, DEC, H264|HEVC|HEIC, 0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_CODEC_CONFIG, 0,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{BITSTREAM_SIZE_OVERWRITE, DEC, CODECS_ALL, 0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_MIN_BITSTREAM_SIZE_OVERWRITE},
-
-	{THUMBNAIL_MODE, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		V4L2_CID_MPEG_VIDC_THUMBNAIL_MODE,
-		HFI_PROP_THUMBNAIL_MODE,
-		CAP_FLAG_INPUT_PORT},
-
-	{DEFAULT_HEADER, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DEC_DEFAULT_HEADER},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_DEC_START_FROM_RAP_FRAME,
-		CAP_FLAG_INPUT_PORT},
-
-	{SEQ_CHANGE_AT_SYNC_FRAME, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
-		CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{PRIORITY, DEC|ENC, CODECS_ALL,
-		0, 1 + NRT_PRIORITY_OFFSET, 1, 1 + NRT_PRIORITY_OFFSET,
-		V4L2_CID_MPEG_VIDC_PRIORITY,
-		HFI_PROP_SESSION_PRIORITY,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		1, 1, 1, 1},
-
-	{CRITICAL_PRIORITY, ENC, CODECS_ALL,
-		0, 1, 1, 0,
-		V4L2_CID_MPEG_VIDC_CRITICAL_PRIORITY},
-
-	{RESERVE_DURATION, ENC, CODECS_ALL,
-		0, INT_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_RESERVE_DURATION,
-		HFI_CMD_RESERVE,
-		CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{ENC_IP_CR, ENC, CODECS_ALL,
-		0, S32_MAX, 1, 0,
-		V4L2_CID_MPEG_VIDC_ENC_INPUT_COMPRESSION_RATIO,
-		0, CAP_FLAG_DYNAMIC_ALLOWED},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		HFI_PROP_DPB_LIST,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_DISABLE,
-		0,
-		0,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{META_LTR_MARK_USE, ENC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_SEQ_HDR_NAL, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_DPB_MISR, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_OPB_MISR, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_INTERLACE, DEC, H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_INTERLACE,
-		HFI_PROP_INTERLACE_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TIMESTAMP, DEC | ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TIMESTAMP,
-		HFI_PROP_TIMESTAMP,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_CONCEALED_MB_CNT, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_CONCEALED_MB_COUNT,
-		HFI_PROP_CONEALED_MB_COUNT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_HIST_INFO, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO,
-		HFI_PROP_HISTOGRAM_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SEI_MASTERING_DISP, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SEI_MASTERING_DISP, DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_SEI_CLL, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SEI_CLL, DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-
-	{META_HDR10PLUS, ENC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
-		HFI_PROP_SEI_HDR10PLUS_USERDATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_HDR10PLUS, DEC, HEVC|HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
-		HFI_PROP_SEI_HDR10PLUS_USERDATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_EVA_STATS, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_EVA_STATS,
-		HFI_PROP_EVA_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_BUF_TAG, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG,
-		HFI_PROP_BUFFER_TAG,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_BUF_TAG, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT |
-			V4L2_MPEG_VIDC_META_TX_OUTPUT | V4L2_MPEG_VIDC_META_RX_INPUT |
-			V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_BUFFER_TAG,
-		HFI_PROP_BUFFER_TAG,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_DPB_TAG_LIST, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DPB_TAG_LIST,
-		HFI_PROP_DPB_TAG_LIST,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SUBFRAME_OUTPUT, ENC, HEIC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT,
-		HFI_PROP_SUBFRAME_OUTPUT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_SUBFRAME_OUTPUT, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_SUBFRAME_OUTPUT,
-		HFI_PROP_SUBFRAME_OUTPUT,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_ENC_QP_METADATA, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_ENC_QP_METADATA,
-		HFI_PROP_ENC_QP_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_ROI_INFO, ENC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_SALIENCY_INFO, ENC, H264|HEVC,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_TX_INPUT,
-		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_META},
-
-	{META_DEC_QP_METADATA, DEC, CODECS_ALL,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		0, V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_DEC_QP_METADATA,
-		HFI_PROP_DEC_QP_METADATA,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{GRID, ENC, HEIC,
-		V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
-		1, V4L2_MPEG_MSM_VIDC_ENABLE,
-		0,
-		HFI_PROP_HEIC_GRID_ENABLE,
-		CAP_FLAG_OUTPUT_PORT},
-
-	{COMPLEXITY, ENC, H264 | HEVC,
-		0, 100,
-		1, DEFAULT_COMPLEXITY,
-		V4L2_CID_MPEG_VIDC_VENC_COMPLEXITY},
-
-	{META_MAX_NUM_REORDER_FRAMES, DEC, HEVC | H264,
-		V4L2_MPEG_VIDC_META_DISABLE,
-		V4L2_MPEG_VIDC_META_ENABLE | V4L2_MPEG_VIDC_META_RX_OUTPUT,
-		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_META},
-};
-
-static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_waipio[] = {
-	/* {cap, domain, codec,
-	 *      parents,
-	 *      children,
-	 *      adjust, set}
-	 */
-
-	{PIX_FMTS, ENC, H264,
-		{META_ROI_INFO, IR_PERIOD}},
-
-	{PIX_FMTS, ENC, HEVC,
-		{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
-			B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}},
-
-	{PIX_FMTS, ENC, HEIC,
-		{PROFILE}},
-
-	{PIX_FMTS, DEC, HEVC|HEIC,
-		{PROFILE}},
-
-	{FRAME_RATE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_q16},
-
-	{FRAME_RATE, DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_dec_frame_rate},
-
-	{OPERATING_RATE, DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_dec_operating_rate},
-
-	{SECURE_MODE, ENC|DEC, H264|HEVC|VP9,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9,
-		{LOWLATENCY_MODE},
-		NULL,
-		NULL},
-
-	{HFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{VFLIP, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_flip},
-
-	{ROTATION, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_rotation},
-
-	{SUPER_FRAME, ENC, H264|HEVC,
-		{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
-		NULL,
-		NULL},
-
-	{HEADER_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_header_mode},
-
-	{WITHOUT_STARTCODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_nal_length},
-
-	{REQUEST_I_FRAME, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_req_sync_frame},
-
-	{BIT_RATE, ENC, H264|HEVC,
-		{PEAK_BITRATE, L0_BR},
-		msm_vidc_adjust_bitrate,
-		msm_vidc_set_bitrate},
-
-	{BITRATE_MODE, ENC, H264,
-		{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
-			P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
-			META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{BITRATE_MODE, ENC, HEVC,
-		{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
-			P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
-			BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
-			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{BITRATE_MODE, ENC, HEIC,
-		{TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
-		msm_vidc_adjust_bitrate_mode,
-		msm_vidc_set_u32_enum},
-
-	{CONSTANT_QUALITY, ENC, HEVC|HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_constant_quality},
-
-	{GOP_SIZE, ENC, CODECS_ALL,
-		{ALL_INTRA},
-		msm_vidc_adjust_gop_size,
-		msm_vidc_set_gop_size},
-
-	{GOP_SIZE, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{B_FRAME, ENC, H264|HEVC,
-		{ALL_INTRA},
-		msm_vidc_adjust_b_frame,
-		msm_vidc_set_u32},
-
-	{B_FRAME, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{BLUR_TYPES, ENC, H264|HEVC,
-		{BLUR_RESOLUTION},
-		msm_vidc_adjust_blur_type_iris2,
-		msm_vidc_set_u32_enum},
-
-	{BLUR_RESOLUTION, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_blur_resolution,
-		msm_vidc_set_blur_resolution},
-
-	{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_csc_custom_matrix},
-
-	{LOWLATENCY_MODE, ENC, H264 | HEVC,
-		{STAGE},
-		msm_vidc_adjust_enc_lowlatency_mode,
-		NULL},
-
-	{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
-		{STAGE},
-		msm_vidc_adjust_dec_lowlatency_mode,
-		NULL},
-
-	{LTR_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_ltr_count,
-		msm_vidc_set_u32},
-
-	{USE_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_use_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{MARK_LTR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_mark_ltr,
-		msm_vidc_set_use_and_mark_ltr},
-
-	{IR_PERIOD, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_ir_period,
-		msm_vidc_set_ir_period},
-
-	{AU_DELIMITER, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_delta_based_rc,
-		msm_vidc_set_u32},
-
-	{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
-		{REQUEST_PREPROCESS},
-		msm_vidc_adjust_brs,
-		msm_vidc_set_vbr_related_properties},
-
-	{REQUEST_PREPROCESS, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_preprocess,
-		NULL},
-
-	{BITRATE_BOOST, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_bitrate_boost,
-		msm_vidc_set_vbr_related_properties},
-
-	{MIN_QUALITY, ENC, H264,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_vbr_related_properties},
-
-	{MIN_QUALITY, ENC, HEVC,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_vbr_related_properties},
-
-	{VBV_DELAY, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_cbr_related_properties},
-
-	{PEAK_BITRATE, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_peak_bitrate,
-		msm_vidc_set_cbr_related_properties},
-
-	{MIN_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_min_qp},
-
-	{MIN_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_min_qp,
-		msm_vidc_set_min_qp},
-
-	{MAX_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_max_qp},
-
-	{MAX_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_max_qp,
-		msm_vidc_set_max_qp},
-
-	{I_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_i_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{I_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_p_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{P_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_hevc_b_frame_qp,
-		msm_vidc_set_frame_qp},
-
-	{B_FRAME_QP, ENC, H264,
-		{0},
-		NULL,
-		msm_vidc_set_frame_qp},
-
-	{LAYER_TYPE, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING}},
-
-	{LAYER_ENABLE, ENC, H264|HEVC,
-		{CONTENT_ADAPTIVE_CODING}},
-
-	{ENH_LAYER_COUNT, ENC, H264|HEVC,
-		{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE},
-		msm_vidc_adjust_layer_count,
-		msm_vidc_set_layer_count_and_type},
-
-	{L0_BR, ENC, H264|HEVC,
-		{L1_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L1_BR, ENC, H264|HEVC,
-		{L2_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L2_BR, ENC, H264|HEVC,
-		{L3_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L3_BR, ENC, H264|HEVC,
-		{L4_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L4_BR, ENC, H264|HEVC,
-		{L5_BR},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{L5_BR, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_layer_bitrate,
-		msm_vidc_set_layer_bitrate},
-
-	{ENTROPY_MODE, ENC, H264,
-		{0},
-		msm_vidc_adjust_entropy_mode,
-		msm_vidc_set_u32},
-
-	{PROFILE, ENC, H264,
-		{ENTROPY_MODE, TRANSFORM_8X8},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, H264,
-		{ENTROPY_MODE},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, ENC|DEC, HEVC|HEIC,
-		{0},
-		msm_vidc_adjust_profile,
-		msm_vidc_set_u32_enum},
-
-	{PROFILE, DEC, VP9,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LEVEL, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_level},
-
-	{HEVC_TIER, ENC|DEC, HEVC|HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32_enum},
-
-	{LF_MODE, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_deblock_mode},
-
-	{SLICE_MODE, ENC, H264|HEVC,
-		{STAGE},
-		msm_vidc_adjust_slice_count,
-		msm_vidc_set_slice_count},
-
-	{SLICE_MODE, ENC, HEIC,
-		{0},
-		msm_vidc_adjust_slice_count,
-		msm_vidc_set_slice_count},
-
-	{TRANSFORM_8X8, ENC, H264,
-		{0},
-		msm_vidc_adjust_transform_8x8,
-		msm_vidc_set_u32},
-
-	{CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
-		{0},
-		msm_vidc_adjust_chroma_qp_index_offset,
-		msm_vidc_set_chroma_qp_index_offset},
-
-	{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{DISPLAY_DELAY, DEC, H264|HEVC|VP9,
-		{OUTPUT_ORDER},
-		NULL,
-		NULL},
-
-	{OUTPUT_ORDER, DEC, H264|HEVC|VP9,
-		{META_OUTBUF_FENCE},
-		msm_vidc_adjust_output_order,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_input_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
-		{0},
-		msm_vidc_adjust_output_buf_host_max_count,
-		msm_vidc_set_u32},
-
-	{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32_packed},
-
-	{STAGE, ENC|DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, ENC, H264|HEVC,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{STAGE, DEC, H264|HEVC|VP9,
-		{0},
-		NULL,
-		msm_vidc_set_stage},
-
-	{PIPE, DEC|ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_pipe},
-
-	{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
-		{OUTPUT_ORDER},
-		NULL,
-		msm_vidc_set_u32},
-
-	{THUMBNAIL_MODE, DEC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{RAP_FRAME, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-
-	{PRIORITY, DEC|ENC, CODECS_ALL,
-		{0},
-		msm_vidc_adjust_session_priority,
-		msm_vidc_set_session_priority},
-
-	{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{CRITICAL_PRIORITY, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{RESERVE_DURATION, ENC, CODECS_ALL,
-		{0},
-		NULL,
-		msm_vidc_set_reserve_duration},
-
-	{DPB_LIST, DEC, CODECS_ALL,
-		{0},
-		NULL,
-		NULL},
-
-	{ALL_INTRA, ENC, H264|HEVC,
-		{LTR_COUNT, IR_PERIOD, SLICE_MODE},
-		msm_vidc_adjust_all_intra,
-		NULL},
-
-	{META_EVA_STATS, ENC, H264|HEVC,
-		{ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
-
-	{META_EVA_STATS, ENC, HEIC,
-		{0}},
-
-	{META_ROI_INFO, ENC, H264|HEVC,
-		{MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
-		msm_vidc_adjust_roi_info,
-		NULL},
-
-	{META_ROI_INFO, ENC, HEIC,
-		{0},
-		msm_vidc_adjust_roi_info,
-		NULL},
-
-	{GRID, ENC, HEIC,
-		{0},
-		NULL,
-		msm_vidc_set_u32},
-};
-
-/* Default UBWC config for LPDDR5 */
-static struct msm_vidc_ubwc_config_data ubwc_config_waipio[] = {
-	UBWC_CONFIG(8, 32, 16, 0, 1, 1, 1),
-};
-
-/* name, min_kbps, max_kbps */
-static const struct bw_table waipio_bw_table[] = {
-	{ "venus-cnoc",  1000, 1000     },
-	{ "venus-ddr",   1000, 15000000 },
-	{ "venus-llcc",  1000, 15000000 },
-};
-
-/* name, hw_trigger */
-static const struct regulator_table waipio_regulator_table[] = {
-	{ "iris-ctl", 0 },
-	{ "vcodec",   1 },
-};
-
-/* name, clock id, scaling */
-static const struct clk_table waipio_clk_table[] = {
-	{ "gcc_video_axi0",         GCC_VIDEO_AXI0_CLK,     0 },
-	{ "core_clk",               VIDEO_CC_MVS0C_CLK,     0 },
-	{ "vcodec_clk",             VIDEO_CC_MVS0_CLK,      0 },
-	{ "video_cc_mvs0_clk_src",  VIDEO_CC_MVS0_CLK_SRC,  1 },
-};
-
-/* name, exclusive_release */
-static const struct clk_rst_table waipio_clk_reset_table[] = {
-	{ "video_axi_reset",        0  },
-	{ "video_core_reset",       0  },
-};
-
-/* name, llcc_id */
-static const struct subcache_table waipio_subcache_table[] = {
-	{ "vidsc0",     LLCC_VIDSC0 },
-};
-
-/* name, start, size, secure, dma_coherant */
-const struct context_bank_table waipio_context_bank_table[] = {
-	{"qcom,vidc,cb-ns",             0x25800000, 0xba800000, 0, 1, MSM_VIDC_NON_SECURE       },
-	{"qcom,vidc,cb-ns-pxl",         0x00100000, 0xdff00000, 0, 1, MSM_VIDC_NON_SECURE_PIXEL },
-	{"qcom,vidc,cb-sec-pxl",        0x00500000, 0xdfb00000, 1, 0, MSM_VIDC_SECURE_PIXEL     },
-	{"qcom,vidc,cb-sec-non-pxl",    0x01000000, 0x24800000, 1, 0, MSM_VIDC_SECURE_NONPIXEL  },
-	{"qcom,vidc,cb-sec-bitstream",  0x00500000, 0xdfb00000, 1, 0, MSM_VIDC_SECURE_BITSTREAM },
-};
-
-/* freq */
-static struct freq_table waipio_freq_table[] = {
-	{444000000}, {366000000}, {338000000}, {239999999}
-};
-
-/* register, value, mask */
-static const struct reg_preset_table waipio_reg_preset_table[] = {
-	{ 0xB0088, 0x0, 0x11 },
-};
-
-static const struct msm_vidc_platform_data waipio_data = {
-	/* resources dependent on other module */
-	.bw_tbl = waipio_bw_table,
-	.bw_tbl_size = ARRAY_SIZE(waipio_bw_table),
-	.regulator_tbl = waipio_regulator_table,
-	.regulator_tbl_size = ARRAY_SIZE(waipio_regulator_table),
-	.clk_tbl = waipio_clk_table,
-	.clk_tbl_size = ARRAY_SIZE(waipio_clk_table),
-	.clk_rst_tbl = waipio_clk_reset_table,
-	.clk_rst_tbl_size = ARRAY_SIZE(waipio_clk_reset_table),
-	.subcache_tbl = waipio_subcache_table,
-	.subcache_tbl_size = ARRAY_SIZE(waipio_subcache_table),
-
-	/* populate context bank */
-	.context_bank_tbl = waipio_context_bank_table,
-	.context_bank_tbl_size = ARRAY_SIZE(waipio_context_bank_table),
-
-	/* platform specific resources */
-	.freq_tbl = waipio_freq_table,
-	.freq_tbl_size = ARRAY_SIZE(waipio_freq_table),
-	.reg_prst_tbl = waipio_reg_preset_table,
-	.reg_prst_tbl_size = ARRAY_SIZE(waipio_reg_preset_table),
-	.fwname = "vpu20_4v",
-	.pas_id = 9,
-	.supports_mmrm = 0,
-
-	/* caps related resorces */
-	.core_data = core_data_waipio,
-	.core_data_size = ARRAY_SIZE(core_data_waipio),
-	.inst_cap_data = instance_cap_data_waipio,
-	.inst_cap_data_size = ARRAY_SIZE(instance_cap_data_waipio),
-	.inst_cap_dependency_data = instance_cap_dependency_data_waipio,
-	.inst_cap_dependency_data_size = ARRAY_SIZE(instance_cap_dependency_data_waipio),
-	.csc_data.vpe_csc_custom_bias_coeff = vpe_csc_custom_bias_coeff,
-	.csc_data.vpe_csc_custom_matrix_coeff = vpe_csc_custom_matrix_coeff,
-	.csc_data.vpe_csc_custom_limit_coeff = vpe_csc_custom_limit_coeff,
-	.ubwc_config = ubwc_config_waipio,
-};
-
-static int msm_vidc_init_data(struct msm_vidc_core *core)
-{
-	int rc = 0;
-
-	if (!core || !core->platform) {
-		d_vpr_e("%s: invalid params\n", __func__);
-		return -EINVAL;
-	}
-	d_vpr_h("%s: initialize waipio data\n", __func__);
-
-	core->platform->data = waipio_data;
-	core->mem_ops = get_mem_ops_ext();
-	if (!core->mem_ops) {
-		d_vpr_e("%s: invalid memory ext ops\n", __func__);
-		return -EINVAL;
-	}
-	core->res_ops = get_res_ops_ext();
-	if (!core->res_ops) {
-		d_vpr_e("%s: invalid resource ext ops\n", __func__);
-		return -EINVAL;
-	}
-
-	return rc;
-}
-
-int msm_vidc_init_platform_waipio(struct msm_vidc_core *core, struct device *dev)
-{
-	int rc = 0;
-
-	rc = msm_vidc_init_data(core);
-	if (rc)
-		return rc;
-
-	return 0;
-}
-
-int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core, struct device *dev)
-{
-	/* do nothing */
-	return 0;
-}

+ 4 - 4
driver/platform/waipio/src/waipio.c

@@ -1750,7 +1750,7 @@ static const struct msm_vidc_platform_data waipio_data = {
 	.format_data = &format_data_waipio,
 	.format_data = &format_data_waipio,
 };
 };
 
 
-static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
+static int msm_vidc_init_data(struct msm_vidc_core *core)
 {
 {
 	int rc = 0;
 	int rc = 0;
 
 
@@ -1765,18 +1765,18 @@ static int msm_vidc_init_data(struct msm_vidc_core *core, struct device *dev)
 	return rc;
 	return rc;
 }
 }
 
 
-int msm_vidc_init_platform_waipio(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_init_platform_waipio(struct msm_vidc_core *core)
 {
 {
 	int rc = 0;
 	int rc = 0;
 
 
-	rc = msm_vidc_init_data(core, dev);
+	rc = msm_vidc_init_data(core);
 	if (rc)
 	if (rc)
 		return rc;
 		return rc;
 
 
 	return 0;
 	return 0;
 }
 }
 
 
-int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core, struct device *dev)
+int msm_vidc_deinit_platform_waipio(struct msm_vidc_core *core)
 {
 {
 	/* do nothing */
 	/* do nothing */
 	return 0;
 	return 0;

+ 1 - 1
driver/variant/iris2/inc/msm_vidc_iris2.h

@@ -9,7 +9,7 @@
 
 
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
 
 
-#if defined(CONFIG_MSM_VIDC_IRIS2)
+#if defined(CONFIG_MSM_VIDC_WAIPIO)
 int msm_vidc_init_iris2(struct msm_vidc_core *core);
 int msm_vidc_init_iris2(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris2(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris2(struct msm_vidc_core *core);
 int msm_vidc_adjust_blur_type_iris2(void *instance, struct v4l2_ctrl *ctrl);
 int msm_vidc_adjust_blur_type_iris2(void *instance, struct v4l2_ctrl *ctrl);

+ 1 - 1
driver/variant/iris3/inc/msm_vidc_iris3.h

@@ -9,7 +9,7 @@
 
 
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
 
 
-#if defined(CONFIG_MSM_VIDC_IRIS3)
+#if defined(CONFIG_MSM_VIDC_KALAMA)
 int msm_vidc_init_iris3(struct msm_vidc_core *core);
 int msm_vidc_init_iris3(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris3(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris3(struct msm_vidc_core *core);
 int msm_vidc_adjust_bitrate_boost_iris3(void *instance, struct v4l2_ctrl *ctrl);
 int msm_vidc_adjust_bitrate_boost_iris3(void *instance, struct v4l2_ctrl *ctrl);

+ 1 - 1
driver/variant/iris33/inc/msm_vidc_iris33.h

@@ -9,7 +9,7 @@
 
 
 #include "msm_vidc_core.h"
 #include "msm_vidc_core.h"
 
 
-#if defined(CONFIG_MSM_VIDC_IRIS33)
+#if defined(CONFIG_MSM_VIDC_PINEAPPLE)
 int msm_vidc_init_iris33(struct msm_vidc_core *core);
 int msm_vidc_init_iris33(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris33(struct msm_vidc_core *core);
 int msm_vidc_deinit_iris33(struct msm_vidc_core *core);
 int msm_vidc_adjust_bitrate_boost_iris33(void *instance, struct v4l2_ctrl *ctrl);
 int msm_vidc_adjust_bitrate_boost_iris33(void *instance, struct v4l2_ctrl *ctrl);

+ 1 - 1
driver/vidc/src/resources.c

@@ -351,7 +351,7 @@ static int __init_power_domains(struct msm_vidc_core *core)
 	const struct pd_table *pd_tbl;
 	const struct pd_table *pd_tbl;
 	struct power_domain_set *pds;
 	struct power_domain_set *pds;
 	struct device **opp_vdevs = NULL;
 	struct device **opp_vdevs = NULL;
-	const char **opp_tbl;
+	const char * const *opp_tbl;
 	u32 pd_count = 0, opp_count = 0, cnt = 0;
 	u32 pd_count = 0, opp_count = 0, cnt = 0;
 	int rc = 0;
 	int rc = 0;
 
 

+ 27 - 58
msm_video/Kbuild

@@ -4,80 +4,51 @@ KBUILD_CPPFLAGS += -DCONFIG_MSM_MMRM=1
 VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/msm_video/driver
 VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/msm_video/driver
 VIDEO_DRIVER_REL_PATH := ../msm_video/driver
 VIDEO_DRIVER_REL_PATH := ../msm_video/driver
 
 
-ifeq ($(CONFIG_ARCH_WAIPIO), y)
-include $(VIDEO_ROOT)/config/waipio_video.conf
-LINUXINCLUDE    += -include $(VIDEO_ROOT)/config/waipio_video.h \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/waipio/inc
+ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
+include $(VIDEO_ROOT)/config/pineapple_video.conf
+LINUXINCLUDE   += -include $(VIDEO_ROOT)/config/pineapple_video.h
 endif
 endif
 
 
 ifeq ($(CONFIG_ARCH_KALAMA), y)
 ifeq ($(CONFIG_ARCH_KALAMA), y)
 include $(VIDEO_ROOT)/config/kalama_video.conf
 include $(VIDEO_ROOT)/config/kalama_video.conf
-LINUXINCLUDE    += -include $(VIDEO_ROOT)/config/kalama_video.h \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/kalama/inc
+LINUXINCLUDE   += -include $(VIDEO_ROOT)/config/kalama_video.h
 endif
 endif
 
 
-ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
-include $(VIDEO_ROOT)/config/pineapple_video.conf
-LINUXINCLUDE    += -include $(VIDEO_ROOT)/config/pineapple_video.h \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/pineapple/inc
+ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y)
+LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/platform/pineapple/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris33/inc
 endif
 endif
-
-ifeq ($(CONFIG_ARCH_ANORAK), y)
-include $(VIDEO_ROOT)/config/anorak_video.conf
-LINUXINCLUDE    += -include $(VIDEO_ROOT)/config/anorak_video.h \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/anorak/inc
+ifeq ($(CONFIG_MSM_VIDC_KALAMA), y)
+LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/platform/kalama/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris3/inc
 endif
 endif
+LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \
+                  -I$(VIDEO_ROOT)/include/uapi/vidc
 
 
-LINUXINCLUDE    += -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \
-                   -I$(VIDEO_ROOT)/include/uapi/vidc
-
-USERINCLUDE     += -I$(VIDEO_ROOT)/include/uapi/vidc/media \
-                   -I$(VIDEO_ROOT)/include/uapi/vidc
+USERINCLUDE    += -I$(VIDEO_ROOT)/include/uapi/vidc/media \
+                  -I$(VIDEO_ROOT)/include/uapi/vidc
 
 
 obj-m += msm_video.o
 obj-m += msm_video.o
 
 
-ifeq ($(CONFIG_MSM_VIDC_WAIPIO), y)
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/waipio/src/msm_vidc_waipio.o
-endif
-
-ifeq ($(CONFIG_MSM_VIDC_KALAMA), y)
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/kalama/src/msm_vidc_kalama.o
-endif
-
 ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y)
 ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y)
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/pineapple/src/msm_vidc_pineapple.o
-endif
-
-ifeq ($(CONFIG_MSM_VIDC_ANORAK), y)
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/anorak/src/msm_vidc_anorak.o
-endif
-
-ifeq ($(CONFIG_MSM_VIDC_IRIS2), y)
-LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris2/inc
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_buffer_iris2.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_power_iris2.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_iris2.o
+msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/pineapple/src/msm_vidc_pineapple.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_buffer_iris33.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_power_iris33.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_iris33.o
 endif
 endif
-
-ifeq ($(CONFIG_MSM_VIDC_IRIS3), y)
-LINUXINCLUDE    += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris3/inc
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_buffer_iris3.o \
+ifeq ($(CONFIG_MSM_VIDC_KALAMA), y)
+msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/kalama/src/msm_vidc_kalama.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_buffer_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_power_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_power_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_bus_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_bus_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_clock_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_clock_iris3.o \
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_iris3.o
                   $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_iris3.o
 endif
 endif
-
-ifeq ($(CONFIG_MSM_VIDC_IRIS33), y)
-LINUXINCLUDE    += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris33/inc
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_buffer_iris33.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_power_iris33.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_iris33.o
-endif
-
-msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
+msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o \
+                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \
@@ -99,6 +70,4 @@ msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \
-                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o \
-                  $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o
+                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o

+ 23 - 26
video/Kbuild

@@ -3,36 +3,35 @@
 VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/video/driver
 VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/video/driver
 VIDEO_DRIVER_REL_PATH := ../video/driver
 VIDEO_DRIVER_REL_PATH := ../video/driver
 
 
-ifeq ($(CONFIG_ARCH_KALAMA), y)
-include $(VIDEO_ROOT)/config/kalama_video.conf
-LINUXINCLUDE    += -include $(VIDEO_ROOT)/config/kalama_video.h \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/kalama/inc
+ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
+include $(VIDEO_ROOT)/config/pineapple_video.conf
+LINUXINCLUDE   += -include $(VIDEO_ROOT)/config/pineapple_video.h
 endif
 endif
 
 
-LINUXINCLUDE    += -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \
-                   -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \
-                   -I$(VIDEO_ROOT)/include/uapi/vidc
+ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y)
+LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/platform/pineapple/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris33/inc
+endif
 
 
-USERINCLUDE     += -I$(VIDEO_ROOT)/include/uapi/vidc/media \
-                   -I$(VIDEO_ROOT)/include/uapi/vidc
+LINUXINCLUDE   += -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \
+                  -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \
+                  -I$(VIDEO_ROOT)/include/uapi/vidc
 
 
-obj-m += video.o
+USERINCLUDE    += -I$(VIDEO_ROOT)/include/uapi/vidc/media \
+                  -I$(VIDEO_ROOT)/include/uapi/vidc
 
 
-ifeq ($(CONFIG_MSM_VIDC_KALAMA), y)
-video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/kalama/src/kalama.o
-endif
+obj-m += video.o
 
 
-ifeq ($(CONFIG_MSM_VIDC_IRIS3), y)
-LINUXINCLUDE    += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris3/inc
-video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_buffer_iris3.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_power_iris3.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_bus_iris3.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_clock_iris3.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_iris3.o
+ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y)
+video-objs +=     $(VIDEO_DRIVER_REL_PATH)/platform/pineapple/src/pineapple.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_buffer_iris33.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_power_iris33.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_iris33.o
 endif
 endif
-
-video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
+video-objs +=     $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \
+                  $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o \
+                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \
@@ -51,6 +50,4 @@ video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \
                   $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \
-                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o \
-                  $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \
-                  $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o
+                  $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o