summaryrefslogtreecommitdiff
path: root/sdm845
diff options
context:
space:
mode:
authorDaniel Mentz <danielmentz@google.com>2018-02-20 17:29:33 -0800
committerDaniel Mentz <danielmentz@google.com>2018-02-20 17:29:33 -0800
commit0650568b686a518b9cbb8c361f697e66d9e655a7 (patch)
treea022af2890a124e040e43e6b6bfb6d8d67a999e8 /sdm845
parent102ac5682c47705f06acc20ba17aa3f11aff2fea (diff)
downloadbonito-0650568b686a518b9cbb8c361f697e66d9e655a7.tar.gz
Update kernel headers to LA.UM.7.3.9.08.00.00.385.141
Change-Id: Ic318df68bf635744d44277f236d4fc1c048061a6
Diffstat (limited to 'sdm845')
-rw-r--r--sdm845/kernel-headers/linux/msm_audio.h3
-rw-r--r--sdm845/kernel-headers/linux/msm_mdp.h2
-rw-r--r--sdm845/kernel-headers/linux/msm_mdp_ext.h14
-rw-r--r--sdm845/kernel-headers/linux/v4l2-controls.h123
-rw-r--r--sdm845/kernel-headers/linux/videodev2.h7
-rw-r--r--sdm845/kernel-headers/media/msm_vidc.h3
-rw-r--r--sdm845/original-kernel-headers/linux/msm_audio.h4
-rw-r--r--sdm845/original-kernel-headers/linux/msm_mdp.h5
-rw-r--r--sdm845/original-kernel-headers/linux/msm_mdp_ext.h24
-rw-r--r--sdm845/original-kernel-headers/linux/v4l2-controls.h194
-rw-r--r--sdm845/original-kernel-headers/linux/videodev2.h9
-rw-r--r--sdm845/original-kernel-headers/media/msm_vidc.h4
12 files changed, 383 insertions, 9 deletions
diff --git a/sdm845/kernel-headers/linux/msm_audio.h b/sdm845/kernel-headers/linux/msm_audio.h
index 586738a2..90efe13e 100644
--- a/sdm845/kernel-headers/linux/msm_audio.h
+++ b/sdm845/kernel-headers/linux/msm_audio.h
@@ -349,5 +349,8 @@ struct msm_adsp_event_data {
__u32 payload_len;
__u8 payload[0];
};
+struct msm_pcm_drv_data {
+ const char * config_name;
+};
#endif
diff --git a/sdm845/kernel-headers/linux/msm_mdp.h b/sdm845/kernel-headers/linux/msm_mdp.h
index bb947fd1..a7d21135 100644
--- a/sdm845/kernel-headers/linux/msm_mdp.h
+++ b/sdm845/kernel-headers/linux/msm_mdp.h
@@ -1101,6 +1101,8 @@ enum mdp_color_space {
MDP_CSC_ITU_R_601_FR,
MDP_CSC_ITU_R_709,
};
+#define MDP_CSC_ITU_R_2020 (MDP_CSC_ITU_R_709 + 1)
+#define MDP_CSC_ITU_R_2020_FR (MDP_CSC_ITU_R_2020 + 1)
enum {
mdp_igc_v1_7 = 1,
mdp_igc_vmax,
diff --git a/sdm845/kernel-headers/linux/msm_mdp_ext.h b/sdm845/kernel-headers/linux/msm_mdp_ext.h
index a965092f..c17045e1 100644
--- a/sdm845/kernel-headers/linux/msm_mdp_ext.h
+++ b/sdm845/kernel-headers/linux/msm_mdp_ext.h
@@ -24,9 +24,9 @@
#define MSMFB_ASYNC_POSITION_UPDATE _IOWR(MDP_IOCTL_MAGIC, 129, struct mdp_position_update)
#define MSMFB_MDP_SET_CFG _IOW(MDP_IOCTL_MAGIC, 130, struct mdp_set_cfg)
#ifdef __LP64
-#define MDP_LAYER_COMMIT_V1_PAD 3
+#define MDP_LAYER_COMMIT_V1_PAD 2
#else
-#define MDP_LAYER_COMMIT_V1_PAD 4
+#define MDP_LAYER_COMMIT_V1_PAD 3
#endif
#define MDP_LAYER_FLIP_LR 0x1
#define MDP_LAYER_FLIP_UD 0x2
@@ -91,7 +91,8 @@ struct mdp_output_layer {
uint32_t flags;
uint32_t writeback_ndx;
struct mdp_layer_buffer buffer;
- uint32_t reserved[6];
+ enum mdp_color_space color_space;
+ uint32_t reserved[5];
};
struct mdp_destination_scaler_data {
uint32_t flags;
@@ -100,6 +101,12 @@ struct mdp_destination_scaler_data {
uint32_t lm_height;
uint64_t scale;
};
+#define MDP_VIDEO_FRC_ENABLE (1 << 0)
+struct mdp_frc_info {
+ uint32_t flags;
+ uint32_t frame_cnt;
+ int64_t timestamp;
+};
struct mdp_layer_commit_v1 {
uint32_t flags;
int release_fence;
@@ -111,6 +118,7 @@ struct mdp_layer_commit_v1 {
int retire_fence;
void * dest_scaler;
uint32_t dest_scaler_cnt;
+ struct mdp_frc_info * frc_info;
uint32_t reserved[MDP_LAYER_COMMIT_V1_PAD];
};
struct mdp_layer_commit {
diff --git a/sdm845/kernel-headers/linux/v4l2-controls.h b/sdm845/kernel-headers/linux/v4l2-controls.h
index 20b3b590..a0768cd5 100644
--- a/sdm845/kernel-headers/linux/v4l2-controls.h
+++ b/sdm845/kernel-headers/linux/v4l2-controls.h
@@ -288,6 +288,7 @@ enum v4l2_mpeg_video_bitrate_mode {
enum v4l2_mpeg_video_header_mode {
V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
+ V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_I_FRAME = 2,
};
#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE + 217)
#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE + 218)
@@ -298,6 +299,7 @@ enum v4l2_mpeg_video_multi_slice_mode {
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
+ V4L2_MPEG_VIDEO_MULTI_SLICE_GOB = 3,
};
#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE + 222)
#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE + 223)
@@ -561,6 +563,7 @@ enum v4l2_mpeg_vidc_video_pictype_dec_mode {
V4L2_MPEG_VIDC_VIDEO_PICTYPE_DECODE_OFF = 0,
V4L2_MPEG_VIDC_VIDEO_PICTYPE_DECODE_ON = 1,
};
+#define V4L2_CID_MPEG_VIDC_VIDEO_KEEP_ASPECT_RATIO (V4L2_CID_MPEG_MSM_VIDC_BASE + 1)
#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE + 2)
enum v4l2_mpeg_vidc_video_stream_format {
V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_STARTCODES = 0,
@@ -609,6 +612,8 @@ enum v4l2_mpeg_vidc_video_intra_refresh_mode {
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_NONE = 0,
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC = 1,
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM = 2,
+ V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_ADAPTIVE = 3,
+ V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC_ADAPTIVE = 4,
};
#define V4L2_CID_MPEG_VIDC_VIDEO_IR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE + 13)
#define V4L2_CID_MPEG_VIDC_VIDEO_AU_DELIMITER (V4L2_CID_MPEG_MSM_VIDC_BASE + 14)
@@ -627,6 +632,8 @@ enum v4l2_mpeg_vidc_extradata {
V4L2_MPEG_VIDC_EXTRADATA_NONE = 0,
V4L2_MPEG_VIDC_EXTRADATA_MB_QUANTIZATION = 1,
V4L2_MPEG_VIDC_EXTRADATA_INTERLACE_VIDEO = 2,
+ V4L2_MPEG_VIDC_EXTRADATA_VC1_FRAMEDISP = 3,
+ V4L2_MPEG_VIDC_EXTRADATA_VC1_SEQDISP = 4,
V4L2_MPEG_VIDC_EXTRADATA_TIMESTAMP = 5,
V4L2_MPEG_VIDC_EXTRADATA_S3D_FRAME_PACKING = 6,
V4L2_MPEG_VIDC_EXTRADATA_FRAME_RATE = 7,
@@ -702,6 +709,10 @@ enum v4l2_mpeg_vidc_video_mpeg2_profile {
V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SPATIAL_SCALABLE = 4,
V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_HIGH = 5,
};
+enum v4l2_mpeg_vidc_video_mvc_layout {
+ V4L2_MPEG_VIDC_VIDEO_MVC_SEQUENTIAL = 0,
+ V4L2_MPEG_VIDC_VIDEO_MVC_TOP_BOTTOM = 1
+};
#define V4L2_CID_MPEG_VIDC_VIDEO_CONCEAL_COLOR (V4L2_CID_MPEG_MSM_VIDC_BASE + 25)
#define V4L2_CID_MPEG_VIDC_VIDEO_LTRMODE (V4L2_CID_MPEG_MSM_VIDC_BASE + 26)
enum v4l2_mpeg_vidc_video_ltrmode {
@@ -713,6 +724,12 @@ enum v4l2_mpeg_vidc_video_ltrmode {
#define V4L2_CID_MPEG_VIDC_VIDEO_USELTRFRAME (V4L2_CID_MPEG_MSM_VIDC_BASE + 28)
#define V4L2_CID_MPEG_VIDC_VIDEO_MARKLTRFRAME (V4L2_CID_MPEG_MSM_VIDC_BASE + 29)
#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS (V4L2_CID_MPEG_MSM_VIDC_BASE + 30)
+#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_OUTPUT (V4L2_CID_MPEG_MSM_VIDC_BASE + 31)
+enum v4l2_mpeg_vidc_video_alloc_mode_type {
+ V4L2_MPEG_VIDC_VIDEO_STATIC = 0,
+ V4L2_MPEG_VIDC_VIDEO_RING = 1,
+ V4L2_MPEG_VIDC_VIDEO_DYNAMIC = 2,
+};
#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_X_RANGE (V4L2_CID_MPEG_MSM_VIDC_BASE + 32)
#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_X_RANGE (V4L2_CID_MPEG_MSM_VIDC_BASE + 33)
#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_X_RANGE (V4L2_CID_MPEG_MSM_VIDC_BASE + 34)
@@ -843,6 +860,28 @@ enum v4l2_mpeg_vidc_video_vp9_level {
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5 = 9,
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51 = 10,
};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MB_ERROR_MAP_REPORTING (V4L2_CID_MPEG_MSM_VIDC_BASE + 68)
+#define V4L2_CID_MPEG_VIDC_VIDEO_CONTINUE_DATA_TRANSFER (V4L2_CID_MPEG_MSM_VIDC_BASE + 69)
+#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_INPUT (V4L2_CID_MPEG_MSM_VIDC_BASE + 70)
+#define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_ASSEMBLY (V4L2_CID_MPEG_MSM_VIDC_BASE + 71)
+enum v4l2_mpeg_vidc_video_assembly {
+ V4L2_MPEG_VIDC_FRAME_ASSEMBLY_DISABLE = 0,
+ V4L2_MPEG_VIDC_FRAME_ASSEMBLY_ENABLE = 1,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_H263_PROFILE (V4L2_CID_MPEG_MSM_VIDC_BASE + 72)
+enum v4l2_mpeg_vidc_video_h263_profile {
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BASELINE = 0,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_H320CODING = 1,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BACKWARDCOMPATIBLE = 2,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV2 = 3,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV3 = 4,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHCOMPRESSION = 5,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERNET = 6,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERLACE = 7,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHLATENCY = 8,
+};
+#define V4L2_CID_MPEG_VIDEO_MIN_QP_PACKED (V4L2_CID_MPEG_MSM_VIDC_BASE + 97)
+#define V4L2_CID_MPEG_VIDEO_MAX_QP_PACKED (V4L2_CID_MPEG_MSM_VIDC_BASE + 98)
#define V4L2_CID_MPEG_VIDC_VIDEO_I_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 99)
#define V4L2_CID_MPEG_VIDC_VIDEO_P_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 100)
#define V4L2_CID_MPEG_VIDC_VIDEO_B_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 101)
@@ -896,6 +935,90 @@ enum v4l2_mpeg_vidc_video_flip {
#define V4L2_CID_MPEG_VIDC_VENC_MIN_DISP_LUM (V4L2_CID_MPEG_MSM_VIDC_BASE + 126)
#define V4L2_CID_MPEG_VIDC_VENC_MAX_CLL (V4L2_CID_MPEG_MSM_VIDC_BASE + 127)
#define V4L2_CID_MPEG_VIDC_VENC_MAX_FLL (V4L2_CID_MPEG_MSM_VIDC_BASE + 128)
+#define V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 129)
+enum v4l2_mpeg_vidc_perf_level {
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_NOMINAL = 0,
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_PERFORMANCE = 1,
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_TURBO = 2,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE + 130)
+#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_REF (V4L2_CID_MPEG_MSM_VIDC_BASE + 131)
+#define V4L2_CID_MPEG_VIDC_VIDEO_CIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE + 132)
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO (V4L2_CID_MPEG_MSM_VIDC_BASE + 135)
+#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_GOB (V4L2_CID_MPEG_MSM_VIDC_BASE + 136)
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT (V4L2_CID_MPEG_MSM_VIDC_BASE + 137)
+enum v4l2_mpeg_vidc_video_h264_vui_bitstream_restrict {
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_DISABLED = 0,
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_ENABLED = 1
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE (V4L2_CID_MPEG_MSM_VIDC_BASE + 138)
+enum v4l2_mpeg_vidc_video_deinterlace {
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_DISABLED = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_ENABLED = 1
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG4_TIME_RESOLUTION (V4L2_CID_MPEG_MSM_VIDC_BASE + 139)
+#define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER (V4L2_CID_MPEG_MSM_VIDC_BASE + 140)
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE (V4L2_CID_MPEG_MSM_VIDC_BASE + 141)
+enum v4l2_mpeg_vidc_video_rate_control_timestamp_mode {
+ V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR = 0,
+ V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE = 1,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 142)
+enum vl42_mpeg_vidc_video_enable_initial_qp {
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_IFRAME = 0x1,
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_PFRAME = 0x2,
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_BFRAME = 0x4,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_I_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 143)
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_P_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 144)
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_B_FRAME_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 145)
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC (V4L2_CID_MPEG_MSM_VIDC_BASE + 146)
+#define V4L2_CID_MPEG_VIDC_VIDEO_PERF_MODE (V4L2_CID_MPEG_MSM_VIDC_BASE + 147)
+enum v4l2_mpeg_vidc_video_perf_mode {
+ V4L2_MPEG_VIDC_VIDEO_PERF_MAX_QUALITY = 1,
+ V4L2_MPEG_VIDC_VIDEO_PERF_POWER_SAVE = 2
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MBI_STATISTICS_MODE (V4L2_CID_MPEG_MSM_VIDC_BASE + 148)
+#define V4L2_CID_MPEG_VIDC_VIDEO_CONFIG_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 149)
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_PIC_ORDER_CNT (V4L2_CID_MPEG_MSM_VIDC_BASE + 150)
+#define V4L2_CID_MPEG_VIDC_VIDEO_SCS_THRESHOLD (V4L2_CID_MPEG_MSM_VIDC_BASE + 151)
+#define V4L2_CID_MPEG_VIDC_VIDEO_MVC_BUFFER_LAYOUT (V4L2_CID_MPEG_MSM_VIDC_BASE + 152)
+#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE_SCALING_THRESHOLD (V4L2_CID_MPEG_MSM_VIDC_BASE + 153)
+#define V4L2_CID_MPEG_VIDC_VIDEO_NON_SECURE_OUTPUT2 (V4L2_CID_MPEG_MSM_VIDC_BASE + 154)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MIN_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 155)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MAX_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 156)
+#define V4L2_CID_MPEG_VIDC_VIDEO_H263_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 157)
+enum v4l2_mpeg_vidc_video_h263_level {
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_1_0 = 0,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_2_0 = 1,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_3_0 = 2,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_0 = 3,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_5 = 4,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_5_0 = 5,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_6_0 = 6,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_7_0 = 7,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_POST_LOOP_DEBLOCKER_MODE (V4L2_CID_MPEG_MSM_VIDC_BASE + 158)
+#define V4L2_CID_MPEG_VIDC_VIDEO_DIVX_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE + 159)
+enum v4l2_mpeg_vidc_video_divx_format_type {
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_4 = 0,
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_5 = 1,
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_6 = 2,
+};
+enum v4l2_mpeg_vidc_video_mbi_statistics_mode {
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_DEFAULT = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_1 = 1,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_2 = 2,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_3 = 3,
+};
+enum vl42_mpeg_vidc_video_h264_svc_nal {
+ V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_DISABLED = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_ENABLED = 1,
+};
+enum v4l2_mpeg_vidc_video_h264_vui_timing_info {
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_DISABLED = 0,
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_ENABLED = 1
+};
#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE + 1)
diff --git a/sdm845/kernel-headers/linux/videodev2.h b/sdm845/kernel-headers/linux/videodev2.h
index e6984776..79476341 100644
--- a/sdm845/kernel-headers/linux/videodev2.h
+++ b/sdm845/kernel-headers/linux/videodev2.h
@@ -299,7 +299,10 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L')
#define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0')
#define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0')
+#define V4L2_PIX_FMT_DIVX_311 v4l2_fourcc('D', 'I', 'V', '3')
+#define V4L2_PIX_FMT_DIVX v4l2_fourcc('D', 'I', 'V', 'X')
#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C')
+#define V4L2_PIX_FMT_HEVC_HYBRID v4l2_fourcc('H', 'V', 'C', 'H')
#define V4L2_PIX_FMT_TME v4l2_fourcc('T', 'M', 'E', '0')
#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A')
#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A')
@@ -529,11 +532,15 @@ struct v4l2_buffer {
#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x00020000
#define V4L2_QCOM_BUF_FLAG_EOSEQ 0x00040000
#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x00080000
+#define V4L2_MSM_BUF_FLAG_MBAFF 0x00100000
#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x00200000
#define V4L2_QCOM_BUF_DATA_CORRUPT 0x00400000
+#define V4L2_QCOM_BUF_DROP_FRAME 0x00800000
#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x01000000
#define V4L2_QCOM_BUF_FLAG_EOS 0x02000000
#define V4L2_QCOM_BUF_FLAG_READONLY 0x04000000
+#define V4L2_MSM_VIDC_BUF_START_CODE_NOT_FOUND 0x08000000
+#define V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP 0x10000000
#define V4L2_QCOM_BUF_FLAG_PERF_MODE 0x20000000
#define V4L2_MSM_BUF_FLAG_DEFER 0x40000000
#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x80000000
diff --git a/sdm845/kernel-headers/media/msm_vidc.h b/sdm845/kernel-headers/media/msm_vidc.h
index c49f763a..cbdd525f 100644
--- a/sdm845/kernel-headers/media/msm_vidc.h
+++ b/sdm845/kernel-headers/media/msm_vidc.h
@@ -229,6 +229,8 @@ enum msm_vidc_extradata_type {
MSM_VIDC_EXTRADATA_NONE = 0x00000000,
MSM_VIDC_EXTRADATA_MB_QUANTIZATION = 0x00000001,
MSM_VIDC_EXTRADATA_INTERLACE_VIDEO = 0x00000002,
+ MSM_VIDC_EXTRADATA_VC1_FRAMEDISP = 0x00000003,
+ MSM_VIDC_EXTRADATA_VC1_SEQDISP = 0x00000004,
MSM_VIDC_EXTRADATA_TIMESTAMP = 0x00000005,
MSM_VIDC_EXTRADATA_S3D_FRAME_PACKING = 0x00000006,
MSM_VIDC_EXTRADATA_FRAME_RATE = 0x00000007,
@@ -374,6 +376,7 @@ enum msm_vidc_color_desc_flag {
};
#define MSM_VIDC_PIC_STRUCT_MAYBE_INTERLACED 0x0
#define MSM_VIDC_PIC_STRUCT_PROGRESSIVE 0x1
+#define MSM_VIDC_PIC_STRUCT_UNKNOWN 0XFFFFFFFF
#define MSM_VIDC_ALL_LAYER_ID 0xFF
#endif
diff --git a/sdm845/original-kernel-headers/linux/msm_audio.h b/sdm845/original-kernel-headers/linux/msm_audio.h
index f2f2ce3d..3f7571f1 100644
--- a/sdm845/original-kernel-headers/linux/msm_audio.h
+++ b/sdm845/original-kernel-headers/linux/msm_audio.h
@@ -472,4 +472,8 @@ struct msm_adsp_event_data {
__u8 payload[0];
};
+struct msm_pcm_drv_data {
+ const char *config_name;
+};
+
#endif
diff --git a/sdm845/original-kernel-headers/linux/msm_mdp.h b/sdm845/original-kernel-headers/linux/msm_mdp.h
index 86c655ba..487cb169 100644
--- a/sdm845/original-kernel-headers/linux/msm_mdp.h
+++ b/sdm845/original-kernel-headers/linux/msm_mdp.h
@@ -1406,6 +1406,11 @@ enum mdp_color_space {
MDP_CSC_ITU_R_709,
};
+/*
+ * These definitions are a continuation of the mdp_color_space enum above
+ */
+#define MDP_CSC_ITU_R_2020 (MDP_CSC_ITU_R_709 + 1)
+#define MDP_CSC_ITU_R_2020_FR (MDP_CSC_ITU_R_2020 + 1)
enum {
mdp_igc_v1_7 = 1,
mdp_igc_vmax,
diff --git a/sdm845/original-kernel-headers/linux/msm_mdp_ext.h b/sdm845/original-kernel-headers/linux/msm_mdp_ext.h
index 5d00cb3a..571d5944 100644
--- a/sdm845/original-kernel-headers/linux/msm_mdp_ext.h
+++ b/sdm845/original-kernel-headers/linux/msm_mdp_ext.h
@@ -34,9 +34,9 @@
* To allow proper structure padding for 64bit/32bit target
*/
#ifdef __LP64
-#define MDP_LAYER_COMMIT_V1_PAD 3
+#define MDP_LAYER_COMMIT_V1_PAD 2
#else
-#define MDP_LAYER_COMMIT_V1_PAD 4
+#define MDP_LAYER_COMMIT_V1_PAD 3
#endif
/*
@@ -350,8 +350,11 @@ struct mdp_output_layer {
/* Buffer attached with output layer. Device uses it for commit call */
struct mdp_layer_buffer buffer;
+ /* color space of the destination */
+ enum mdp_color_space color_space;
+
/* 32bits reserved value for future usage. */
- uint32_t reserved[6];
+ uint32_t reserved[5];
};
/*
@@ -389,6 +392,18 @@ struct mdp_destination_scaler_data {
uint64_t scale;
};
+/* Enable Deterministic Frame Rate Control (FRC) */
+#define MDP_VIDEO_FRC_ENABLE (1 << 0)
+
+struct mdp_frc_info {
+ /* flags to control FRC feature */
+ uint32_t flags;
+ /* video frame count per frame */
+ uint32_t frame_cnt;
+ /* video timestamp per frame in millisecond unit */
+ int64_t timestamp;
+};
+
/*
* Commit structure holds layer stack send by client for validate and commit
* call. If layers are different between validate and commit call then commit
@@ -467,6 +482,9 @@ struct mdp_layer_commit_v1 {
*/
uint32_t dest_scaler_cnt;
+ /* FRC info per device which contains frame count and timestamp */
+ struct mdp_frc_info *frc_info;
+
/* 32-bits reserved value for future usage. */
uint32_t reserved[MDP_LAYER_COMMIT_V1_PAD];
};
diff --git a/sdm845/original-kernel-headers/linux/v4l2-controls.h b/sdm845/original-kernel-headers/linux/v4l2-controls.h
index 1df8c413..7e726000 100644
--- a/sdm845/original-kernel-headers/linux/v4l2-controls.h
+++ b/sdm845/original-kernel-headers/linux/v4l2-controls.h
@@ -371,7 +371,7 @@ enum v4l2_mpeg_video_bitrate_mode {
enum v4l2_mpeg_video_header_mode {
V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
-
+ V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_I_FRAME = 2,
};
#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217)
#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218)
@@ -382,6 +382,7 @@ enum v4l2_mpeg_video_multi_slice_mode {
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
+ V4L2_MPEG_VIDEO_MULTI_SLICE_GOB = 3,
};
#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
@@ -662,6 +663,9 @@ enum v4l2_mpeg_vidc_video_pictype_dec_mode {
V4L2_MPEG_VIDC_VIDEO_PICTYPE_DECODE_ON = 1,
};
+#define V4L2_CID_MPEG_VIDC_VIDEO_KEEP_ASPECT_RATIO \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE+1)
+
#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE+2)
enum v4l2_mpeg_vidc_video_stream_format {
V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_STARTCODES = 0,
@@ -719,6 +723,8 @@ enum v4l2_mpeg_vidc_video_intra_refresh_mode {
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_NONE = 0,
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC = 1,
V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM = 2,
+ V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_ADAPTIVE = 3,
+ V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC_ADAPTIVE = 4,
};
#define V4L2_CID_MPEG_VIDC_VIDEO_IR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+13)
@@ -741,6 +747,8 @@ enum v4l2_mpeg_vidc_extradata {
V4L2_MPEG_VIDC_EXTRADATA_NONE = 0,
V4L2_MPEG_VIDC_EXTRADATA_MB_QUANTIZATION = 1,
V4L2_MPEG_VIDC_EXTRADATA_INTERLACE_VIDEO = 2,
+ V4L2_MPEG_VIDC_EXTRADATA_VC1_FRAMEDISP = 3,
+ V4L2_MPEG_VIDC_EXTRADATA_VC1_SEQDISP = 4,
V4L2_MPEG_VIDC_EXTRADATA_TIMESTAMP = 5,
V4L2_MPEG_VIDC_EXTRADATA_S3D_FRAME_PACKING = 6,
V4L2_MPEG_VIDC_EXTRADATA_FRAME_RATE = 7,
@@ -835,6 +843,11 @@ enum v4l2_mpeg_vidc_video_mpeg2_profile {
V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_HIGH = 5,
};
+enum v4l2_mpeg_vidc_video_mvc_layout {
+ V4L2_MPEG_VIDC_VIDEO_MVC_SEQUENTIAL = 0,
+ V4L2_MPEG_VIDC_VIDEO_MVC_TOP_BOTTOM = 1
+};
+
#define V4L2_CID_MPEG_VIDC_VIDEO_CONCEAL_COLOR \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 25)
@@ -859,6 +872,14 @@ enum v4l2_mpeg_vidc_video_ltrmode {
#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 30)
+#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_OUTPUT \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE+31)
+enum v4l2_mpeg_vidc_video_alloc_mode_type {
+ V4L2_MPEG_VIDC_VIDEO_STATIC = 0,
+ V4L2_MPEG_VIDC_VIDEO_RING = 1,
+ V4L2_MPEG_VIDC_VIDEO_DYNAMIC = 2,
+};
+
#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_X_RANGE \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 32)
@@ -1070,6 +1091,39 @@ enum v4l2_mpeg_vidc_video_vp9_level {
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51 = 10,
};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MB_ERROR_MAP_REPORTING \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 68)
+#define V4L2_CID_MPEG_VIDC_VIDEO_CONTINUE_DATA_TRANSFER \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 69)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_INPUT \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 70)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_ASSEMBLY \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 71)
+enum v4l2_mpeg_vidc_video_assembly {
+ V4L2_MPEG_VIDC_FRAME_ASSEMBLY_DISABLE = 0,
+ V4L2_MPEG_VIDC_FRAME_ASSEMBLY_ENABLE = 1,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H263_PROFILE\
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 72)
+enum v4l2_mpeg_vidc_video_h263_profile {
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BASELINE = 0,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_H320CODING = 1,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_BACKWARDCOMPATIBLE = 2,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV2 = 3,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_ISWV3 = 4,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHCOMPRESSION = 5,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERNET = 6,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERLACE = 7,
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHLATENCY = 8,
+};
+
+#define V4L2_CID_MPEG_VIDEO_MIN_QP_PACKED \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 97)
+#define V4L2_CID_MPEG_VIDEO_MAX_QP_PACKED \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 98)
#define V4L2_CID_MPEG_VIDC_VIDEO_I_FRAME_QP \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 99)
#define V4L2_CID_MPEG_VIDC_VIDEO_P_FRAME_QP \
@@ -1165,6 +1219,144 @@ enum v4l2_mpeg_vidc_video_flip {
#define V4L2_CID_MPEG_VIDC_VENC_MAX_FLL \
(V4L2_CID_MPEG_MSM_VIDC_BASE + 128)
+#define V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 129)
+enum v4l2_mpeg_vidc_perf_level {
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_NOMINAL = 0,
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_PERFORMANCE = 1,
+ V4L2_CID_MPEG_VIDC_PERF_LEVEL_TURBO = 2,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE + 130)
+#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_REF (V4L2_CID_MPEG_MSM_VIDC_BASE + 131)
+#define V4L2_CID_MPEG_VIDC_VIDEO_CIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE + 132)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 135)
+
+#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_GOB \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 136)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 137)
+enum v4l2_mpeg_vidc_video_h264_vui_bitstream_restrict {
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_DISABLED = 0,
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_ENABLED = 1
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 138)
+enum v4l2_mpeg_vidc_video_deinterlace {
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_DISABLED = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_ENABLED = 1
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG4_TIME_RESOLUTION \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 139)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 140)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 141)
+enum v4l2_mpeg_vidc_video_rate_control_timestamp_mode {
+ V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR = 0,
+ V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE = 1,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 142)
+enum vl42_mpeg_vidc_video_enable_initial_qp {
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_IFRAME = 0x1,
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_PFRAME = 0x2,
+ V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP_BFRAME = 0x4,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_I_FRAME_QP \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 143)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_P_FRAME_QP \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 144)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_INITIAL_B_FRAME_QP \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 145)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 146)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_PERF_MODE \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 147)
+enum v4l2_mpeg_vidc_video_perf_mode {
+ V4L2_MPEG_VIDC_VIDEO_PERF_MAX_QUALITY = 1,
+ V4L2_MPEG_VIDC_VIDEO_PERF_POWER_SAVE = 2
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MBI_STATISTICS_MODE \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 148)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_CONFIG_QP \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 149)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H264_PIC_ORDER_CNT \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 150)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_SCS_THRESHOLD \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 151)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MVC_BUFFER_LAYOUT \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 152)
+
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE_SCALING_THRESHOLD \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 153)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_NON_SECURE_OUTPUT2 \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 154)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MIN_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 155)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MAX_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 156)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_H263_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 157)
+enum v4l2_mpeg_vidc_video_h263_level {
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_1_0 = 0,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_2_0 = 1,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_3_0 = 2,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_0 = 3,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_4_5 = 4,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_5_0 = 5,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_6_0 = 6,
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_7_0 = 7,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_POST_LOOP_DEBLOCKER_MODE \
+ (V4L2_CID_MPEG_MSM_VIDC_BASE + 158)
+
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_DIVX_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE+159)
+
+enum v4l2_mpeg_vidc_video_divx_format_type {
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_4 = 0,
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_5 = 1,
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_6 = 2,
+};
+
+enum v4l2_mpeg_vidc_video_mbi_statistics_mode {
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_DEFAULT = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_1 = 1,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_2 = 2,
+ V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_3 = 3,
+};
+
+enum vl42_mpeg_vidc_video_h264_svc_nal {
+ V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_DISABLED = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_H264_NAL_SVC_ENABLED = 1,
+};
+
+enum v4l2_mpeg_vidc_video_h264_vui_timing_info {
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_DISABLED = 0,
+ V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_ENABLED = 1
+};
+
/* Camera class control IDs */
#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
diff --git a/sdm845/original-kernel-headers/linux/videodev2.h b/sdm845/original-kernel-headers/linux/videodev2.h
index 34d960f2..1c488069 100644
--- a/sdm845/original-kernel-headers/linux/videodev2.h
+++ b/sdm845/original-kernel-headers/linux/videodev2.h
@@ -2,7 +2,7 @@
* Video for Linux Two header file
*
* Copyright (C) 1999-2012 the contributors
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -608,7 +608,10 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */
#define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
#define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
+#define V4L2_PIX_FMT_DIVX_311 v4l2_fourcc('D', 'I', 'V', '3') /* DIVX311 */
+#define V4L2_PIX_FMT_DIVX v4l2_fourcc('D', 'I', 'V', 'X') /* DIVX */
#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C') /* for HEVC stream */
+#define V4L2_PIX_FMT_HEVC_HYBRID v4l2_fourcc('H', 'V', 'C', 'H')
#define V4L2_PIX_FMT_TME v4l2_fourcc('T', 'M', 'E', '0') /* for TME stream */
/* Vendor-specific formats */
@@ -1007,11 +1010,15 @@ struct v4l2_buffer {
#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x00020000
#define V4L2_QCOM_BUF_FLAG_EOSEQ 0x00040000
#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x00080000
+#define V4L2_MSM_BUF_FLAG_MBAFF 0x00100000
#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x00200000
#define V4L2_QCOM_BUF_DATA_CORRUPT 0x00400000
+#define V4L2_QCOM_BUF_DROP_FRAME 0x00800000
#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x01000000
#define V4L2_QCOM_BUF_FLAG_EOS 0x02000000
#define V4L2_QCOM_BUF_FLAG_READONLY 0x04000000
+#define V4L2_MSM_VIDC_BUF_START_CODE_NOT_FOUND 0x08000000
+#define V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP 0x10000000
#define V4L2_QCOM_BUF_FLAG_PERF_MODE 0x20000000
#define V4L2_MSM_BUF_FLAG_DEFER 0x40000000
#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x80000000
diff --git a/sdm845/original-kernel-headers/media/msm_vidc.h b/sdm845/original-kernel-headers/media/msm_vidc.h
index 63fd555e..59fab2f0 100644
--- a/sdm845/original-kernel-headers/media/msm_vidc.h
+++ b/sdm845/original-kernel-headers/media/msm_vidc.h
@@ -242,6 +242,8 @@ enum msm_vidc_extradata_type {
MSM_VIDC_EXTRADATA_NONE = 0x00000000,
MSM_VIDC_EXTRADATA_MB_QUANTIZATION = 0x00000001,
MSM_VIDC_EXTRADATA_INTERLACE_VIDEO = 0x00000002,
+ MSM_VIDC_EXTRADATA_VC1_FRAMEDISP = 0x00000003,
+ MSM_VIDC_EXTRADATA_VC1_SEQDISP = 0x00000004,
MSM_VIDC_EXTRADATA_TIMESTAMP = 0x00000005,
MSM_VIDC_EXTRADATA_S3D_FRAME_PACKING = 0x00000006,
MSM_VIDC_EXTRADATA_FRAME_RATE = 0x00000007,
@@ -411,7 +413,7 @@ enum msm_vidc_color_desc_flag {
/*enum msm_vidc_pic_struct */
#define MSM_VIDC_PIC_STRUCT_MAYBE_INTERLACED 0x0
#define MSM_VIDC_PIC_STRUCT_PROGRESSIVE 0x1
-
+#define MSM_VIDC_PIC_STRUCT_UNKNOWN 0XFFFFFFFF
/*default when layer ID isn't specified*/
#define MSM_VIDC_ALL_LAYER_ID 0xFF