msm8x74: update video kernel headers

Change-Id: Ic4dfc9eee17005516257ce8b347ab5548ce1e833
diff --git a/kernel-headers/linux/msm_vidc_dec.h b/kernel-headers/linux/msm_vidc_dec.h
index d11a086..81a47d2 100644
--- a/kernel-headers/linux/msm_vidc_dec.h
+++ b/kernel-headers/linux/msm_vidc_dec.h
@@ -216,349 +216,351 @@
  VDEC_CODECTYPE_VC1_RCV = 0xc,
  VDEC_CODECTYPE_HEVC = 0xd,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_CODECTYPE_MVC = 0xe,
 };
 enum vdec_mpeg2_profile {
  VDEC_MPEG2ProfileSimple = 0x1,
- VDEC_MPEG2ProfileMain = 0x2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG2ProfileMain = 0x2,
  VDEC_MPEG2Profile422 = 0x4,
  VDEC_MPEG2ProfileSNR = 0x8,
  VDEC_MPEG2ProfileSpatial = 0x10,
- VDEC_MPEG2ProfileHigh = 0x20,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG2ProfileHigh = 0x20,
  VDEC_MPEG2ProfileKhronosExtensions = 0x6F000000,
  VDEC_MPEG2ProfileVendorStartUnused = 0x7F000000,
  VDEC_MPEG2ProfileMax = 0x7FFFFFFF
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum vdec_mpeg2_level {
  VDEC_MPEG2LevelLL = 0x1,
  VDEC_MPEG2LevelML = 0x2,
- VDEC_MPEG2LevelH14 = 0x4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG2LevelH14 = 0x4,
  VDEC_MPEG2LevelHL = 0x8,
  VDEC_MPEG2LevelKhronosExtensions = 0x6F000000,
  VDEC_MPEG2LevelVendorStartUnused = 0x7F000000,
- VDEC_MPEG2LevelMax = 0x7FFFFFFF
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG2LevelMax = 0x7FFFFFFF
 };
 enum vdec_mpeg4_profile {
  VDEC_MPEG4ProfileSimple = 0x01,
- VDEC_MPEG4ProfileSimpleScalable = 0x02,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4ProfileSimpleScalable = 0x02,
  VDEC_MPEG4ProfileCore = 0x04,
  VDEC_MPEG4ProfileMain = 0x08,
  VDEC_MPEG4ProfileNbit = 0x10,
- VDEC_MPEG4ProfileScalableTexture = 0x20,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4ProfileScalableTexture = 0x20,
  VDEC_MPEG4ProfileSimpleFace = 0x40,
  VDEC_MPEG4ProfileSimpleFBA = 0x80,
  VDEC_MPEG4ProfileBasicAnimated = 0x100,
- VDEC_MPEG4ProfileHybrid = 0x200,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4ProfileHybrid = 0x200,
  VDEC_MPEG4ProfileAdvancedRealTime = 0x400,
  VDEC_MPEG4ProfileCoreScalable = 0x800,
  VDEC_MPEG4ProfileAdvancedCoding = 0x1000,
- VDEC_MPEG4ProfileAdvancedCore = 0x2000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4ProfileAdvancedCore = 0x2000,
  VDEC_MPEG4ProfileAdvancedScalable = 0x4000,
  VDEC_MPEG4ProfileAdvancedSimple = 0x8000,
  VDEC_MPEG4ProfileKhronosExtensions = 0x6F000000,
- VDEC_MPEG4ProfileVendorStartUnused = 0x7F000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4ProfileVendorStartUnused = 0x7F000000,
  VDEC_MPEG4ProfileMax = 0x7FFFFFFF
 };
 enum vdec_mpeg4_level {
- VDEC_MPEG4Level0 = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4Level0 = 0x01,
  VDEC_MPEG4Level0b = 0x02,
  VDEC_MPEG4Level1 = 0x04,
  VDEC_MPEG4Level2 = 0x08,
- VDEC_MPEG4Level3 = 0x10,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4Level3 = 0x10,
  VDEC_MPEG4Level4 = 0x20,
  VDEC_MPEG4Level4a = 0x40,
  VDEC_MPEG4Level5 = 0x80,
- VDEC_MPEG4LevelKhronosExtensions = 0x6F000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_MPEG4LevelKhronosExtensions = 0x6F000000,
  VDEC_MPEG4LevelVendorStartUnused = 0x7F000000,
  VDEC_MPEG4LevelMax = 0x7FFFFFFF
 };
-enum vdec_avc_profile {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum vdec_avc_profile {
  VDEC_AVCProfileBaseline = 0x01,
  VDEC_AVCProfileMain = 0x02,
  VDEC_AVCProfileExtended = 0x04,
- VDEC_AVCProfileHigh = 0x08,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCProfileHigh = 0x08,
  VDEC_AVCProfileHigh10 = 0x10,
  VDEC_AVCProfileHigh422 = 0x20,
  VDEC_AVCProfileHigh444 = 0x40,
- VDEC_AVCProfileKhronosExtensions = 0x6F000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCProfileKhronosExtensions = 0x6F000000,
  VDEC_AVCProfileVendorStartUnused = 0x7F000000,
  VDEC_AVCProfileMax = 0x7FFFFFFF
 };
-enum vdec_avc_level {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum vdec_avc_level {
  VDEC_AVCLevel1 = 0x01,
  VDEC_AVCLevel1b = 0x02,
  VDEC_AVCLevel11 = 0x04,
- VDEC_AVCLevel12 = 0x08,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCLevel12 = 0x08,
  VDEC_AVCLevel13 = 0x10,
  VDEC_AVCLevel2 = 0x20,
  VDEC_AVCLevel21 = 0x40,
- VDEC_AVCLevel22 = 0x80,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCLevel22 = 0x80,
  VDEC_AVCLevel3 = 0x100,
  VDEC_AVCLevel31 = 0x200,
  VDEC_AVCLevel32 = 0x400,
- VDEC_AVCLevel4 = 0x800,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCLevel4 = 0x800,
  VDEC_AVCLevel41 = 0x1000,
  VDEC_AVCLevel42 = 0x2000,
  VDEC_AVCLevel5 = 0x4000,
- VDEC_AVCLevel51 = 0x8000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_AVCLevel51 = 0x8000,
  VDEC_AVCLevelKhronosExtensions = 0x6F000000,
  VDEC_AVCLevelVendorStartUnused = 0x7F000000,
  VDEC_AVCLevelMax = 0x7FFFFFFF
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum vdec_divx_profile {
  VDEC_DIVXProfile_qMobile = 0x01,
  VDEC_DIVXProfile_Mobile = 0x02,
- VDEC_DIVXProfile_HD = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_DIVXProfile_HD = 0x04,
  VDEC_DIVXProfile_Handheld = 0x08,
  VDEC_DIVXProfile_Portable = 0x10,
  VDEC_DIVXProfile_HomeTheater = 0x20
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum vdec_xvid_profile {
  VDEC_XVIDProfile_Simple = 0x1,
  VDEC_XVIDProfile_Advanced_Realtime_Simple = 0x2,
- VDEC_XVIDProfile_Advanced_Simple = 0x4
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_XVIDProfile_Advanced_Simple = 0x4
 };
 enum vdec_xvid_level {
  VDEC_XVID_LEVEL_S_L0 = 0x1,
- VDEC_XVID_LEVEL_S_L1 = 0x2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_XVID_LEVEL_S_L1 = 0x2,
  VDEC_XVID_LEVEL_S_L2 = 0x4,
  VDEC_XVID_LEVEL_S_L3 = 0x8,
  VDEC_XVID_LEVEL_ARTS_L1 = 0x10,
- VDEC_XVID_LEVEL_ARTS_L2 = 0x20,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_XVID_LEVEL_ARTS_L2 = 0x20,
  VDEC_XVID_LEVEL_ARTS_L3 = 0x40,
  VDEC_XVID_LEVEL_ARTS_L4 = 0x80,
  VDEC_XVID_LEVEL_AS_L0 = 0x100,
- VDEC_XVID_LEVEL_AS_L1 = 0x200,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_XVID_LEVEL_AS_L1 = 0x200,
  VDEC_XVID_LEVEL_AS_L2 = 0x400,
  VDEC_XVID_LEVEL_AS_L3 = 0x800,
  VDEC_XVID_LEVEL_AS_L4 = 0x1000
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum vdec_h263profile {
  VDEC_H263ProfileBaseline = 0x01,
  VDEC_H263ProfileH320Coding = 0x02,
- VDEC_H263ProfileBackwardCompatible = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263ProfileBackwardCompatible = 0x04,
  VDEC_H263ProfileISWV2 = 0x08,
  VDEC_H263ProfileISWV3 = 0x10,
  VDEC_H263ProfileHighCompression = 0x20,
- VDEC_H263ProfileInternet = 0x40,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263ProfileInternet = 0x40,
  VDEC_H263ProfileInterlace = 0x80,
  VDEC_H263ProfileHighLatency = 0x100,
  VDEC_H263ProfileKhronosExtensions = 0x6F000000,
- VDEC_H263ProfileVendorStartUnused = 0x7F000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263ProfileVendorStartUnused = 0x7F000000,
  VDEC_H263ProfileMax = 0x7FFFFFFF
 };
 enum vdec_h263level {
- VDEC_H263Level10 = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263Level10 = 0x01,
  VDEC_H263Level20 = 0x02,
  VDEC_H263Level30 = 0x04,
  VDEC_H263Level40 = 0x08,
- VDEC_H263Level45 = 0x10,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263Level45 = 0x10,
  VDEC_H263Level50 = 0x20,
  VDEC_H263Level60 = 0x40,
  VDEC_H263Level70 = 0x80,
- VDEC_H263LevelKhronosExtensions = 0x6F000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_H263LevelKhronosExtensions = 0x6F000000,
  VDEC_H263LevelVendorStartUnused = 0x7F000000,
  VDEC_H263LevelMax = 0x7FFFFFFF
 };
-enum vdec_wmv_format {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum vdec_wmv_format {
  VDEC_WMVFormatUnused = 0x01,
  VDEC_WMVFormat7 = 0x02,
  VDEC_WMVFormat8 = 0x04,
- VDEC_WMVFormat9 = 0x08,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_WMVFormat9 = 0x08,
  VDEC_WMFFormatKhronosExtensions = 0x6F000000,
  VDEC_WMFFormatVendorStartUnused = 0x7F000000,
  VDEC_WMVFormatMax = 0x7FFFFFFF
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum vdec_vc1_profile {
  VDEC_VC1ProfileSimple = 0x1,
  VDEC_VC1ProfileMain = 0x2,
- VDEC_VC1ProfileAdvanced = 0x4
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_VC1ProfileAdvanced = 0x4
 };
 enum vdec_vc1_level {
  VDEC_VC1_LEVEL_S_Low = 0x1,
- VDEC_VC1_LEVEL_S_Medium = 0x2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_VC1_LEVEL_S_Medium = 0x2,
  VDEC_VC1_LEVEL_M_Low = 0x4,
  VDEC_VC1_LEVEL_M_Medium = 0x8,
  VDEC_VC1_LEVEL_M_High = 0x10,
- VDEC_VC1_LEVEL_A_L0 = 0x20,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_VC1_LEVEL_A_L0 = 0x20,
  VDEC_VC1_LEVEL_A_L1 = 0x40,
  VDEC_VC1_LEVEL_A_L2 = 0x80,
  VDEC_VC1_LEVEL_A_L3 = 0x100,
- VDEC_VC1_LEVEL_A_L4 = 0x200
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_VC1_LEVEL_A_L4 = 0x200
 };
 struct vdec_profile_level {
  uint32_t profiles;
- uint32_t levels;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t levels;
 };
 enum vdec_interlaced_format {
  VDEC_InterlaceFrameProgressive = 0x1,
- VDEC_InterlaceInterleaveFrameTopFieldFirst = 0x2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_InterlaceInterleaveFrameTopFieldFirst = 0x2,
  VDEC_InterlaceInterleaveFrameBottomFieldFirst = 0x4
 };
 enum vdec_output_fromat {
- VDEC_YUV_FORMAT_NV12 = 0x1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_YUV_FORMAT_NV12 = 0x1,
  VDEC_YUV_FORMAT_TILE_4x2 = 0x2
 };
 enum vdec_output_order {
- VDEC_ORDER_DISPLAY = 0x1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ VDEC_ORDER_DISPLAY = 0x1,
  VDEC_ORDER_DECODE = 0x2
 };
 struct vdec_picsize {
- uint32_t frame_width;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t frame_width;
  uint32_t frame_height;
  uint32_t stride;
  uint32_t scan_lines;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct vdec_seqheader {
  void __user *ptr_seqheader;
  size_t seq_header_len;
- int pmem_fd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int pmem_fd;
  size_t pmem_offset;
 };
 struct vdec_mberror {
- void __user *ptr_errormap;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ void __user *ptr_errormap;
  size_t err_mapsize;
 };
 struct vdec_input_frameinfo {
- void __user *bufferaddr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ void __user *bufferaddr;
  size_t offset;
  size_t datalen;
  uint32_t flags;
- int64_t timestamp;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int64_t timestamp;
  void *client_data;
  int pmem_fd;
  size_t pmem_offset;
- void __user *desc_addr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ void __user *desc_addr;
  uint32_t desc_size;
 };
 struct vdec_framesize {
- uint32_t left;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t left;
  uint32_t top;
  uint32_t right;
  uint32_t bottom;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct vdec_aspectratioinfo {
  uint32_t aspect_ratio;
  uint32_t par_width;
- uint32_t par_height;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t par_height;
 };
 struct vdec_sep_metadatainfo {
  void __user *metabufaddr;
- uint32_t size;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t size;
 };
 struct vdec_output_frameinfo {
  void __user *bufferaddr;
- size_t offset;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ size_t offset;
  size_t len;
  uint32_t flags;
  int64_t time_stamp;
- enum vdec_picture pic_type;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ enum vdec_picture pic_type;
  void *client_data;
  void *input_frame_clientdata;
  struct vdec_framesize framesize;
- enum vdec_interlaced_format interlaced_format;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ enum vdec_interlaced_format interlaced_format;
  struct vdec_aspectratioinfo aspect_ratio_info;
  struct vdec_sep_metadatainfo metadata_info;
 };
-union vdec_msgdata {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+union vdec_msgdata {
  struct vdec_output_frameinfo output_frame;
  void *input_frame_clientdata;
 };
-struct vdec_msginfo {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct vdec_msginfo {
  uint32_t status_code;
  uint32_t msgcode;
  union vdec_msgdata msgdata;
- size_t msgdatasize;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ size_t msgdatasize;
 };
 struct vdec_framerate {
  unsigned long fps_denominator;
- unsigned long fps_numerator;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long fps_numerator;
 };
 struct vdec_h264_mv{
  size_t size;
- int count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int count;
  int pmem_fd;
  int offset;
 };
-struct vdec_mv_buff_size{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct vdec_mv_buff_size{
  int width;
  int height;
  int size;
- int alignment;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int alignment;
 };
 struct vdec_meta_buffers {
  size_t size;
- int count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int count;
  int pmem_fd;
  int pmem_fd_iommu;
  int offset;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #endif
+
diff --git a/kernel-headers/linux/msm_vidc_enc.h b/kernel-headers/linux/msm_vidc_enc.h
index f938ed7..abca0f0 100644
--- a/kernel-headers/linux/msm_vidc_enc.h
+++ b/kernel-headers/linux/msm_vidc_enc.h
@@ -74,401 +74,403 @@
 #define VEN_EXTRADATA_QCOMFILLER 0x002
 #define VEN_EXTRADATA_SLICEINFO 0x100
 #define VEN_EXTRADATA_LTRINFO 0x200
-#define VEN_FRAME_TYPE_I 1
+#define VEN_EXTRADATA_MBINFO 0x400
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_FRAME_TYPE_I 1
 #define VEN_FRAME_TYPE_P 2
 #define VEN_FRAME_TYPE_B 3
 #define VEN_CODEC_MPEG4 1
-#define VEN_CODEC_H264 2
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_CODEC_H264 2
 #define VEN_CODEC_H263 3
 #define VEN_PROFILE_MPEG4_SP 1
 #define VEN_PROFILE_MPEG4_ASP 2
-#define VEN_PROFILE_H264_BASELINE 3
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_PROFILE_H264_BASELINE 3
 #define VEN_PROFILE_H264_MAIN 4
 #define VEN_PROFILE_H264_HIGH 5
 #define VEN_PROFILE_H263_BASELINE 6
-#define VEN_LEVEL_MPEG4_0 0x1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_MPEG4_0 0x1
 #define VEN_LEVEL_MPEG4_1 0x2
 #define VEN_LEVEL_MPEG4_2 0x3
 #define VEN_LEVEL_MPEG4_3 0x4
-#define VEN_LEVEL_MPEG4_4 0x5
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_MPEG4_4 0x5
 #define VEN_LEVEL_MPEG4_5 0x6
 #define VEN_LEVEL_MPEG4_3b 0x7
 #define VEN_LEVEL_MPEG4_6 0x8
-#define VEN_LEVEL_H264_1 0x9
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_H264_1 0x9
 #define VEN_LEVEL_H264_1b 0xA
 #define VEN_LEVEL_H264_1p1 0xB
 #define VEN_LEVEL_H264_1p2 0xC
-#define VEN_LEVEL_H264_1p3 0xD
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_H264_1p3 0xD
 #define VEN_LEVEL_H264_2 0xE
 #define VEN_LEVEL_H264_2p1 0xF
 #define VEN_LEVEL_H264_2p2 0x10
-#define VEN_LEVEL_H264_3 0x11
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_H264_3 0x11
 #define VEN_LEVEL_H264_3p1 0x12
 #define VEN_LEVEL_H264_3p2 0x13
 #define VEN_LEVEL_H264_4 0x14
-#define VEN_LEVEL_H263_10 0x15
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_H263_10 0x15
 #define VEN_LEVEL_H263_20 0x16
 #define VEN_LEVEL_H263_30 0x17
 #define VEN_LEVEL_H263_40 0x18
-#define VEN_LEVEL_H263_45 0x19
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_LEVEL_H263_45 0x19
 #define VEN_LEVEL_H263_50 0x1A
 #define VEN_LEVEL_H263_60 0x1B
 #define VEN_LEVEL_H263_70 0x1C
-#define VEN_ENTROPY_MODEL_CAVLC 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_ENTROPY_MODEL_CAVLC 1
 #define VEN_ENTROPY_MODEL_CABAC 2
 #define VEN_CABAC_MODEL_0 1
 #define VEN_CABAC_MODEL_1 2
-#define VEN_CABAC_MODEL_2 3
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_CABAC_MODEL_2 3
 #define VEN_DB_DISABLE 1
 #define VEN_DB_ALL_BLKG_BNDRY 2
 #define VEN_DB_SKIP_SLICE_BNDRY 3
-#define VEN_MSLICE_OFF 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_MSLICE_OFF 1
 #define VEN_MSLICE_CNT_MB 2
 #define VEN_MSLICE_CNT_BYTE 3
 #define VEN_MSLICE_GOB 4
-#define VEN_RC_OFF 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_RC_OFF 1
 #define VEN_RC_VBR_VFR 2
 #define VEN_RC_VBR_CFR 3
 #define VEN_RC_CBR_VFR 4
-#define VEN_RC_CBR_CFR 5
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_RC_CBR_CFR 5
 #define VEN_FLUSH_INPUT 1
 #define VEN_FLUSH_OUTPUT 2
 #define VEN_FLUSH_ALL 3
-#define VEN_INPUTFMT_NV12 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_INPUTFMT_NV12 1
 #define VEN_INPUTFMT_NV21 2
 #define VEN_INPUTFMT_NV12_16M2KA 3
 #define VEN_ROTATION_0 1
-#define VEN_ROTATION_90 2
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_ROTATION_90 2
 #define VEN_ROTATION_180 3
 #define VEN_ROTATION_270 4
 #define VEN_TIMEOUT_INFINITE 0xffffffff
-#define VEN_IR_OFF 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IR_OFF 1
 #define VEN_IR_CYCLIC 2
 #define VEN_IR_RANDOM 3
 #define VEN_IOCTLBASE_NENC 0x800
-#define VEN_IOCTLBASE_ENC 0x850
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTLBASE_ENC 0x850
 struct venc_ioctl_msg{
  void __user *in;
  void __user *out;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define VEN_IOCTL_SET_INTF_VERSION   _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_READ_NEXT_MSG   _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2)
-#define VEN_IOCTL_SET_INPUT_BUFFER_REQ   _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_INPUT_BUFFER_REQ   _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_INPUT_BUFFER_REQ   _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg)
-#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ   _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ   _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg)
-#define VEN_IOCTL_SET_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13)
 #define VEN_IOCTL_CMD_ENCODE_FRAME   _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg)
-#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_FLUSH   _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17)
 #define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18)
-#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19)
 #define VEN_IOCTL_SET_RECON_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 20, struct venc_ioctl_msg)
 #define VEN_IOCTL_FREE_RECON_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 21, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_RECON_BUFFER_SIZE   _IOW(VEN_IOCTLBASE_NENC, 22, struct venc_ioctl_msg)
-#define VEN_IOCTL_SET_BASE_CFG   _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_BASE_CFG   _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_BASE_CFG   _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LIVE_MODE   _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_LIVE_MODE   _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg)
-#define VEN_IOCTL_SET_CODEC_PROFILE   _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_CODEC_PROFILE   _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_CODEC_PROFILE   _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_PROFILE_LEVEL   _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_PROFILE_LEVEL   _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg)
-#define VEN_IOCTL_SET_SHORT_HDR   _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_SHORT_HDR   _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_SHORT_HDR   _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_SESSION_QP   _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_SESSION_QP   _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg)
-#define VEN_IOCTL_SET_INTRA_PERIOD   _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_SET_INTRA_PERIOD   _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_INTRA_PERIOD   _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg)
 #define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15)
 #define VEN_IOCTL_GET_CAPABILITY   _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_SEQUENCE_HDR   _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_SEQUENCE_HDR   _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_ENTROPY_CFG   _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_ENTROPY_CFG   _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_DEBLOCKING_CFG   _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_DEBLOCKING_CFG   _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_DEBLOCKING_CFG   _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_INTRA_REFRESH   _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_INTRA_REFRESH   _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_MULTI_SLICE_CFG   _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_MULTI_SLICE_CFG   _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_MULTI_SLICE_CFG   _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_RATE_CTRL_CFG   _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_RATE_CTRL_CFG   _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_VOP_TIMING_CFG   _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_VOP_TIMING_CFG   _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_VOP_TIMING_CFG   _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_FRAME_RATE   _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_FRAME_RATE   _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_TARGET_BITRATE   _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_TARGET_BITRATE   _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_TARGET_BITRATE   _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_ROTATION   _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_ROTATION   _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_HEC   _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_HEC   _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_HEC   _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_DATA_PARTITION   _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_DATA_PARTITION   _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_RVLC   _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_RVLC   _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_RVLC   _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_AC_PREDICTION   _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_AC_PREDICTION   _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_QP_RANGE   _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_QP_RANGE   _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_QP_RANGE   _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_NUMBER_INSTANCES   _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_METABUFFER_MODE   _IOW(VEN_IOCTLBASE_ENC, 47, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_EXTRADATA   _IOW(VEN_IOCTLBASE_ENC, 48, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_EXTRADATA   _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_EXTRADATA   _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_SLICE_DELIVERY_MODE   _IO(VEN_IOCTLBASE_ENC, 50)
 #define VEN_IOCTL_SET_H263_PLUSPTYPE   _IOW(VEN_IOCTLBASE_ENC, 51, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_CAPABILITY_LTRCOUNT   _IOW(VEN_IOCTLBASE_ENC, 52, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_CAPABILITY_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 53, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_CAPABILITY_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 53, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LTRMODE   _IOW(VEN_IOCTLBASE_ENC, 54, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_LTRMODE   _IOR(VEN_IOCTLBASE_ENC, 55, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LTRCOUNT   _IOW(VEN_IOCTLBASE_ENC, 56, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 57, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 57, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LTRPERIOD   _IOW(VEN_IOCTLBASE_ENC, 58, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_LTRPERIOD   _IOR(VEN_IOCTLBASE_ENC, 59, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LTRUSE   _IOW(VEN_IOCTLBASE_ENC, 60, struct venc_ioctl_msg)
-#define VEN_IOCTL_GET_LTRUSE   _IOR(VEN_IOCTLBASE_ENC, 61, struct venc_ioctl_msg)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define VEN_IOCTL_GET_LTRUSE   _IOR(VEN_IOCTLBASE_ENC, 61, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_LTRMARK   _IOW(VEN_IOCTLBASE_ENC, 62, struct venc_ioctl_msg)
 #define VEN_IOCTL_GET_LTRMARK   _IOR(VEN_IOCTLBASE_ENC, 63, struct venc_ioctl_msg)
 #define VEN_IOCTL_SET_SPS_PPS_FOR_IDR   _IOW(VEN_IOCTLBASE_ENC, 64, struct venc_ioctl_msg)
-struct venc_range {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_range {
  unsigned long max;
  unsigned long min;
  unsigned long step_size;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_switch{
  unsigned char status;
 };
-struct venc_allocatorproperty{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_allocatorproperty{
  unsigned long mincount;
  unsigned long maxcount;
  unsigned long actualcount;
- unsigned long datasize;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long datasize;
  unsigned long suffixsize;
  unsigned long alignment;
  unsigned long bufpoolid;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_bufferpayload{
  unsigned char *pbuffer;
  size_t sz;
- int fd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int fd;
  unsigned int offset;
  unsigned int maped_size;
  unsigned long filled_len;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_buffer{
  unsigned char *ptrbuffer;
  unsigned long sz;
- unsigned long len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long len;
  unsigned long offset;
  long long timestamp;
  unsigned long flags;
- void *clientdata;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ void *clientdata;
 };
 struct venc_basecfg{
  unsigned long input_width;
- unsigned long input_height;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long input_height;
  unsigned long dvs_width;
  unsigned long dvs_height;
  unsigned long codectype;
- unsigned long fps_num;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long fps_num;
  unsigned long fps_den;
  unsigned long targetbitrate;
  unsigned long inputformat;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_profile{
  unsigned long profile;
 };
-struct ven_profilelevel{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct ven_profilelevel{
  unsigned long level;
 };
 struct venc_sessionqp{
- unsigned long iframeqp;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long iframeqp;
  unsigned long pframqp;
 };
 struct venc_qprange{
- unsigned long maxqp;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long maxqp;
  unsigned long minqp;
 };
 struct venc_plusptype {
- unsigned long plusptype_enable;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long plusptype_enable;
 };
 struct venc_intraperiod{
  unsigned long num_pframes;
- unsigned long num_bframes;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long num_bframes;
 };
 struct venc_seqheader{
  unsigned char *hdrbufptr;
- unsigned long bufsize;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long bufsize;
  unsigned long hdrlen;
 };
 struct venc_capability{
- unsigned long codec_types;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long codec_types;
  unsigned long maxframe_width;
  unsigned long maxframe_height;
  unsigned long maxtarget_bitrate;
- unsigned long maxframe_rate;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long maxframe_rate;
  unsigned long input_formats;
  unsigned char dvs;
 };
-struct venc_entropycfg{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_entropycfg{
  unsigned longentropysel;
  unsigned long cabacmodel;
 };
-struct venc_dbcfg{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_dbcfg{
  unsigned long db_mode;
  unsigned long slicealpha_offset;
  unsigned long slicebeta_offset;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_intrarefresh{
  unsigned long irmode;
  unsigned long mbcount;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_multiclicecfg{
  unsigned long mslice_mode;
  unsigned long mslice_size;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_bufferflush{
  unsigned long flush_mode;
 };
-struct venc_ratectrlcfg{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_ratectrlcfg{
  unsigned long rcmode;
 };
 struct venc_voptimingcfg{
- unsigned long voptime_resolution;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long voptime_resolution;
 };
 struct venc_framerate{
  unsigned long fps_denominator;
- unsigned long fps_numerator;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long fps_numerator;
 };
 struct venc_targetbitrate{
  unsigned long target_bitrate;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_rotation{
  unsigned long rotation;
 };
-struct venc_timeout{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_timeout{
  unsigned long millisec;
 };
 struct venc_headerextension{
- unsigned long header_extension;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long header_extension;
 };
 struct venc_msg{
  unsigned long statuscode;
- unsigned long msgcode;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long msgcode;
  struct venc_buffer buf;
  unsigned long msgdata_size;
 };
-struct venc_recon_addr{
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_recon_addr{
  unsigned char *pbuffer;
  unsigned long buffer_size;
  unsigned long pmem_fd;
- unsigned long offset;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long offset;
 };
 struct venc_recon_buff_size{
  int width;
- int height;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ int height;
  int size;
  int alignment;
 };
-struct venc_ltrmode {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct venc_ltrmode {
  unsigned long ltr_mode;
 };
 struct venc_ltrcount {
- unsigned long ltr_count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned long ltr_count;
 };
 struct venc_ltrperiod {
  unsigned long ltr_period;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 struct venc_ltruse {
  unsigned long ltr_id;
  unsigned long ltr_frames;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #endif
+
diff --git a/kernel-headers/linux/videodev2.h b/kernel-headers/linux/videodev2.h
index ce5a286..89ce8e2 100644
--- a/kernel-headers/linux/videodev2.h
+++ b/kernel-headers/linux/videodev2.h
@@ -488,23 +488,33 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_BUF_FLAG_ERROR 0x0040
 #define V4L2_BUF_FLAG_TIMECODE 0x0100
-#define V4L2_BUF_FLAG_INPUT 0x0200
 #define V4L2_BUF_FLAG_PREPARED 0x0400
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000
-#define V4L2_BUF_FLAG_EOS 0x2000
-#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x4000
+#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000
+#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000
+#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define V4L2_QCOM_BUF_FLAG_EOSEQ 0x8000
-#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x10000
-#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x20000
-#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x40000
+#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x4000
+#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x10000
+#define V4L2_QCOM_BUF_FLAG_EOSEQ 0x20000
+#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x40000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define V4L2_QCOM_BUF_DATA_CORRUPT 0x80000
-#define V4L2_QCOM_BUF_DROP_FRAME 0x100000
-#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x200000
-#define V4L2_QCOM_BUF_FLAG_READONLY 0x400000
+#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x80000
+#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x100000
+#define V4L2_QCOM_BUF_DATA_CORRUPT 0x200000
+#define V4L2_QCOM_BUF_DROP_FRAME 0x400000
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x800000
+#define V4L2_QCOM_BUF_FLAG_EOS 0x1000000
+#define V4L2_QCOM_BUF_TS_DISCONTINUITY 0x2000000
+#define V4L2_QCOM_BUF_TS_ERROR 0x4000000
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_QCOM_BUF_FLAG_READONLY 0x8000000
+#define V4L2_MSM_VIDC_BUF_START_CODE_NOT_FOUND 0x10000000
+#define V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP 0x20000000
+#define V4L2_MSM_BUF_FLAG_MBAFF 0x40000000
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct v4l2_framebuffer {
  __u32 capability;
@@ -1266,388 +1276,473 @@
  V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
  V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_LEVEL_5_2 = 16,
 };
 #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
 #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
-#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)
 enum v4l2_mpeg_video_h264_loop_filter_mode {
  V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,
  V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
- V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
 };
 #define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363)
 enum v4l2_mpeg_video_h264_profile {
- V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
  V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
  V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2,
  V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4,
  V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5,
  V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6,
  V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8,
  V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9,
  V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10,
  V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11,
- V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12,
  V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13,
  V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
  V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
- V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
  V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,
 };
 #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
-#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
 #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366)
 #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367)
 enum v4l2_mpeg_video_h264_vui_sar_idc {
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
  V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,
 };
 #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)
 enum v4l2_mpeg_video_mpeg4_level {
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2,
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3,
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4,
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
  V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,
 };
 #define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406)
-enum v4l2_mpeg_video_mpeg4_profile {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_video_mpeg4_profile {
  V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,
  V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
  V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2,
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
  V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,
 };
 #define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)
-#define V4L2_CID_QCOM_VIDEO_SYNC_FRAME_SEQ_HDR (V4L2_CID_MPEG_BASE+408)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_QCOM_VIDEO_SYNC_FRAME_SEQ_HDR (V4L2_CID_MPEG_BASE+408)
 #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)
 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
- V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
  V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
 };
 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
 enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {
  V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
  V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
  V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
  V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
 };
-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
 enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {
  V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
  V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)
 enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {
  V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
- V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
 };
 #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)
-enum v4l2_mpeg_cx2341x_video_median_filter_type {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_cx2341x_video_median_filter_type {
  V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
  V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
  V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2,
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
  V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
 };
 #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)
 #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)
-#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
 #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0)
 #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1)
 #define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2)
-enum v4l2_mpeg_mfc51_video_frame_skip_mode {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_mfc51_video_frame_skip_mode {
  V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
  V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
  V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3)
 enum v4l2_mpeg_mfc51_video_force_frame_type {
  V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,
- V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
  V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,
 };
 #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4)
-#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)
 #define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6)
 #define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7)
 #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)
 #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52)
 #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53)
 #define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54)
-#define V4L2_CID_MPEG_MSM_VIDC_BASE (V4L2_CTRL_CLASS_MPEG | 0x2000)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_MSM_VIDC_BASE (V4L2_CTRL_CLASS_MPEG | 0x2000)
 #define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_PICTURE_TYPE   (V4L2_CID_MPEG_MSM_VIDC_BASE+0)
 #define V4L2_CID_MPEG_VIDC_VIDEO_KEEP_ASPECT_RATIO   (V4L2_CID_MPEG_MSM_VIDC_BASE+1)
 #define V4L2_CID_MPEG_VIDC_VIDEO_POST_LOOP_DEBLOCKER_MODE   (V4L2_CID_MPEG_MSM_VIDC_BASE+2)
-#define V4L2_CID_MPEG_VIDC_VIDEO_DIVX_FORMAT   (V4L2_CID_MPEG_MSM_VIDC_BASE+3)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_DIVX_FORMAT   (V4L2_CID_MPEG_MSM_VIDC_BASE+3)
 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,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_DIVX_FORMAT_6 = 2,
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_MB_ERROR_MAP_REPORTING   (V4L2_CID_MPEG_MSM_VIDC_BASE+4)
 #define V4L2_CID_MPEG_VIDC_VIDEO_CONTINUE_DATA_TRANSFER   (V4L2_CID_MPEG_MSM_VIDC_BASE+5)
-#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE+6)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_FORMAT (V4L2_CID_MPEG_MSM_VIDC_BASE+6)
 enum v4l2_mpeg_vidc_video_stream_format {
  V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_STARTCODES = 0,
  V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_ONE_NAL_PER_BUFFER = 1,
- V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_ONE_BYTE_LENGTH = 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_ONE_BYTE_LENGTH = 2,
  V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_TWO_BYTE_LENGTH = 3,
  V4L2_MPEG_VIDC_VIDEO_NAL_FORMAT_FOUR_BYTE_LENGTH = 4,
 };
-#define V4L2_CID_MPEG_VIDC_VIDEO_OUTPUT_ORDER (V4L2_CID_MPEG_MSM_VIDC_BASE+7)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_OUTPUT_ORDER (V4L2_CID_MPEG_MSM_VIDC_BASE+7)
 enum v4l2_mpeg_vidc_video_output_order {
  V4L2_MPEG_VIDC_VIDEO_OUTPUT_ORDER_DISPLAY = 0,
  V4L2_MPEG_VIDC_VIDEO_OUTPUT_ORDER_DECODE = 1,
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_RATE (V4L2_CID_MPEG_MSM_VIDC_BASE+8)
 #define V4L2_CID_MPEG_VIDC_VIDEO_IDR_PERIOD (V4L2_CID_MPEG_MSM_VIDC_BASE+9)
 #define V4L2_CID_MPEG_VIDC_VIDEO_NUM_P_FRAMES (V4L2_CID_MPEG_MSM_VIDC_BASE+10)
-#define V4L2_CID_MPEG_VIDC_VIDEO_NUM_B_FRAMES (V4L2_CID_MPEG_MSM_VIDC_BASE+11)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_NUM_B_FRAMES (V4L2_CID_MPEG_MSM_VIDC_BASE+11)
 #define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_IFRAME (V4L2_CID_MPEG_MSM_VIDC_BASE+12)
 #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL (V4L2_CID_MPEG_MSM_VIDC_BASE+13)
 enum v4l2_mpeg_vidc_video_rate_control {
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF = 0,
  V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_VFR = 1,
  V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR = 2,
  V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR = 3,
- V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4,
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_ROTATION (V4L2_CID_MPEG_MSM_VIDC_BASE+14)
 enum v4l2_mpeg_vidc_video_rotation {
- V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_NONE = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_NONE = 0,
  V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_90 = 1,
  V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_180 = 2,
  V4L2_CID_MPEG_VIDC_VIDEO_ROTATION_270 = 3,
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define MSM_VIDC_BASE V4L2_CID_MPEG_MSM_VIDC_BASE
 #define V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL (MSM_VIDC_BASE+15)
 enum v4l2_mpeg_vidc_h264_cabac_model {
- V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_0 = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_0 = 0,
  V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_1 = 1,
  V4L2_CID_MPEG_VIDC_VIDEO_H264_CABAC_MODEL_2 = 2,
 };
-#define V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE (MSM_VIDC_BASE+16)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE (MSM_VIDC_BASE+16)
 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_ADAPTIVE = 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_ADAPTIVE = 2,
  V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC_ADAPTIVE = 3,
  V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM = 4,
 };
-#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+17)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_AIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+17)
 #define V4L2_CID_MPEG_VIDC_VIDEO_AIR_REF (V4L2_CID_MPEG_MSM_VIDC_BASE+18)
 #define V4L2_CID_MPEG_VIDC_VIDEO_CIR_MBS (V4L2_CID_MPEG_MSM_VIDC_BASE+19)
 #define V4L2_CID_MPEG_VIDC_VIDEO_H263_PROFILE (V4L2_CID_MPEG_MSM_VIDC_BASE+20)
-enum v4l2_mpeg_vidc_video_h263_profile {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+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,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ 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,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_INTERLACE = 7,
  V4L2_MPEG_VIDC_VIDEO_H263_PROFILE_HIGHLATENCY = 8,
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_H263_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE+21)
-enum v4l2_mpeg_vidc_video_h263_level {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+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,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ 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,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_H263_LEVEL_7_0 = 7,
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_H264_AU_DELIMITER   (V4L2_CID_MPEG_MSM_VIDC_BASE + 22)
 enum v4l2_mpeg_vidc_video_h264_au_delimiter {
- V4L2_MPEG_VIDC_VIDEO_H264_AU_DELIMITER_DISABLED = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_H264_AU_DELIMITER_DISABLED = 0,
  V4L2_MPEG_VIDC_VIDEO_H264_AU_DELIMITER_ENABLED = 1
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 23)
-enum v4l2_mpeg_vidc_video_sync_frame_decode {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_vidc_video_sync_frame_decode {
  V4L2_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE_DISABLE = 0,
  V4L2_MPEG_VIDC_VIDEO_SYNC_FRAME_DECODE_ENABLE = 1
 };
-#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE (V4L2_CID_MPEG_MSM_VIDC_BASE+24)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_SECURE (V4L2_CID_MPEG_MSM_VIDC_BASE+24)
 #define V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA   (V4L2_CID_MPEG_MSM_VIDC_BASE + 25)
 enum v4l2_mpeg_vidc_extradata {
  V4L2_MPEG_VIDC_EXTRADATA_NONE,
- V4L2_MPEG_VIDC_EXTRADATA_MB_QUANTIZATION,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_EXTRADATA_MB_QUANTIZATION,
  V4L2_MPEG_VIDC_EXTRADATA_INTERLACE_VIDEO,
  V4L2_MPEG_VIDC_EXTRADATA_VC1_FRAMEDISP,
  V4L2_MPEG_VIDC_EXTRADATA_VC1_SEQDISP,
- V4L2_MPEG_VIDC_EXTRADATA_TIMESTAMP,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_EXTRADATA_TIMESTAMP,
  V4L2_MPEG_VIDC_EXTRADATA_S3D_FRAME_PACKING,
  V4L2_MPEG_VIDC_EXTRADATA_FRAME_RATE,
  V4L2_MPEG_VIDC_EXTRADATA_PANSCAN_WINDOW,
- V4L2_MPEG_VIDC_EXTRADATA_RECOVERY_POINT_SEI,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_EXTRADATA_RECOVERY_POINT_SEI,
  V4L2_MPEG_VIDC_EXTRADATA_CLOSED_CAPTION_UD,
  V4L2_MPEG_VIDC_EXTRADATA_AFD_UD,
  V4L2_MPEG_VIDC_EXTRADATA_MULTISLICE_INFO,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_EXTRADATA_NUM_CONCEALED_MB,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_EXTRADATA_METADATA_FILLER,
- V4L2_MPEG_VIDC_INDEX_EXTRADATA_INPUT_CROP,
- V4L2_MPEG_VIDC_INDEX_EXTRADATA_DIGITAL_ZOOM,
- V4L2_MPEG_VIDC_INDEX_EXTRADATA_ASPECT_RATIO,
+ V4L2_MPEG_VIDC_EXTRADATA_INPUT_CROP,
+ V4L2_MPEG_VIDC_EXTRADATA_DIGITAL_ZOOM,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- V4L2_MPEG_VIDC_EXTRADATA_MPEG2_SEQDISP
+ V4L2_MPEG_VIDC_EXTRADATA_ASPECT_RATIO,
+ V4L2_MPEG_VIDC_EXTRADATA_MPEG2_SEQDISP,
+ V4L2_MPEG_VIDC_EXTRADATA_STREAM_USERDATA,
+ V4L2_MPEG_VIDC_EXTRADATA_FRAME_QP,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_EXTRADATA_FRAME_BITS_INFO,
+ V4L2_MPEG_VIDC_EXTRADATA_METADATA_MBI,
+ V4L2_MPEG_VIDC_EXTRADATA_LTR
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 26)
 enum v4l2_mpeg_vidc_perf_level {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_CID_MPEG_VIDC_PERF_LEVEL_NOMINAL = 0,
  V4L2_CID_MPEG_VIDC_PERF_LEVEL_PERFORMANCE = 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_CID_MPEG_VIDC_PERF_LEVEL_TURBO = 2,
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_GOB   (V4L2_CID_MPEG_MSM_VIDC_BASE + 27)
 #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_DELIVERY_MODE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 28)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO   (V4L2_CID_MPEG_MSM_VIDC_BASE + 29)
 enum v4l2_mpeg_vidc_video_h264_vui_timing_info {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_DISABLED = 0,
  V4L2_MPEG_VIDC_VIDEO_H264_VUI_TIMING_INFO_ENABLED = 1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_INPUT   (V4L2_CID_MPEG_MSM_VIDC_BASE + 30)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDC_VIDEO_ALLOC_MODE_OUTPUT   (V4L2_CID_MPEG_MSM_VIDC_BASE + 31)
 enum v4l2_mpeg_vidc_video_alloc_mode_type {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_STATIC = 0,
  V4L2_MPEG_VIDC_VIDEO_RING = 1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_DYNAMIC = 2,
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDC_VIDEO_FRAME_ASSEMBLY   (V4L2_CID_MPEG_MSM_VIDC_BASE + 32)
 enum v4l2_mpeg_vidc_video_assembly {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_FRAME_ASSEMBLY_DISABLE = 0,
  V4L2_MPEG_VIDC_FRAME_ASSEMBLY_ENABLE = 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL   (V4L2_CID_MPEG_MSM_VIDC_BASE + 33)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum v4l2_mpeg_vidc_video_vp8_profile_level {
  V4L2_MPEG_VIDC_VIDEO_VP8_UNUSED,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_0,
  V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_2,
  V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT   (V4L2_CID_MPEG_MSM_VIDC_BASE + 34)
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum v4l2_mpeg_vidc_video_h264_vui_bitstream_restrict {
  V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_DISABLED = 0,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_H264_VUI_BITSTREAM_RESTRICT_ENABLED = 1
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define V4L2_CID_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY   (V4L2_CID_MPEG_MSM_VIDC_BASE + 35)
 enum v4l2_mpeg_vidc_video_preserve_text_quality {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  V4L2_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY_DISABLED = 0,
  V4L2_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY_ENABLED = 1
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER   (V4L2_CID_MPEG_MSM_VIDC_BASE + 36)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_LTRMODE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 37)
+enum v4l2_mpeg_vidc_video_ltrmode {
+ V4L2_MPEG_VIDC_VIDEO_LTR_MODE_DISABLE = 0,
+ V4L2_MPEG_VIDC_VIDEO_LTR_MODE_MANUAL = 1,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_LTR_MODE_PERIODIC = 2
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_LTRCOUNT   (V4L2_CID_MPEG_MSM_VIDC_BASE + 38)
+#define V4L2_CID_MPEG_VIDC_VIDEO_USELTRFRAME   (V4L2_CID_MPEG_MSM_VIDC_BASE + 39)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_MARKLTRFRAME   (V4L2_CID_MPEG_MSM_VIDC_BASE + 40)
+#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS   (V4L2_CID_MPEG_MSM_VIDC_BASE + 41)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VPX_ERROR_RESILIENCE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 42)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MIN_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 43)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MAX_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 44)
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG4_TIME_RESOLUTION   (V4L2_CID_MPEG_MSM_VIDC_BASE + 45)
+#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_MODE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 46)
+enum v4l2_mpeg_vidc_video_decoder_multi_stream {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_PRIMARY = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_SECONDARY = 1,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MVC_BUFFER_LAYOUT   (V4L2_CID_MPEG_MSM_VIDC_BASE + 47)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_vidc_video_mvc_layout {
+ V4L2_MPEG_VIDC_VIDEO_MVC_SEQUENTIAL = 0,
+ V4L2_MPEG_VIDC_VIDEO_MVC_TOP_BOTTOM = 1
+};
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_CONCEAL_COLOR   (V4L2_CID_MPEG_MSM_VIDC_BASE + 48)
+#define V4L2_CID_MPEG_VIDC_VIDEO_SCS_THRESHOLD   (V4L2_CID_MPEG_MSM_VIDC_BASE + 49)
+#define V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 50)
+enum v4l2_mpeg_vidc_video_deinterlace {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_DISABLED = 0,
+ V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE_ENABLED = 1
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE+51)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum v4l2_mpeg_vidc_video_mpeg2_level {
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_0 = 0,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_1 = 1,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_2 = 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_3 = 3,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_MSM_VIDC_BASE+52)
+enum v4l2_mpeg_vidc_video_mpeg2_profile {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SIMPLE = 0,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_MAIN = 1,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_422 = 2,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SNR_SCALABLE = 3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SPATIAL_SCALABLE = 4,
+ V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_HIGH = 5,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 53)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+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,
+};
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_ENABLE_INITIAL_QP   (V4L2_CID_MPEG_MSM_VIDC_BASE + 54)
+#define V4L2_CID_MPEG_VIDC_VIDEO_I_FRAME_QP   (V4L2_CID_MPEG_MSM_VIDC_BASE + 55)
+#define V4L2_CID_MPEG_VIDC_VIDEO_P_FRAME_QP   (V4L2_CID_MPEG_MSM_VIDC_BASE + 56)
+#define V4L2_CID_MPEG_VIDC_VIDEO_B_FRAME_QP   (V4L2_CID_MPEG_MSM_VIDC_BASE + 57)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_X_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 58)
+#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_X_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 59)
+#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_X_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 60)
+#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_Y_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 61)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_Y_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 62)
+#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_Y_RANGE   (V4L2_CID_MPEG_MSM_VIDC_BASE + 63)
 #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
 #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
diff --git a/kernel-headers/media/msm_media_info.h b/kernel-headers/media/msm_media_info.h
index 8297787..ae72558 100644
--- a/kernel-headers/media/msm_media_info.h
+++ b/kernel-headers/media/msm_media_info.h
@@ -1,37 +1,284 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
 #ifndef __MEDIA_INFO_H__
 #define __MEDIA_INFO_H__
+
 #ifndef MSM_MEDIA_ALIGN
 #define MSM_MEDIA_ALIGN(__sz, __align) (((__sz) + (__align-1)) & (~(__align-1)))
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
-enum color_fmts {
- COLOR_FMT_NV12,
- COLOR_FMT_NV21,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-};
-#define VENUS_Y_STRIDE(__color_fmt, __width) ({  unsigned int __alignment, __stride = 0;   if (__width) {   switch (__color_fmt) {   case COLOR_FMT_NV12:   __alignment = 128;   __stride = MSM_MEDIA_ALIGN(__width, __alignment);  break;  default:  break;  }  }   __stride; })
-#define VENUS_UV_STRIDE(__color_fmt, __width) ({  unsigned int __alignment, __stride = 0;   if (__width) {  switch (__color_fmt) {   case COLOR_FMT_NV12:   __alignment = 128;   __stride = MSM_MEDIA_ALIGN(__width, __alignment);   break;   default:   break;   }   }   __stride;  })
-#define VENUS_Y_SCANLINES(__color_fmt, __height) ({   unsigned int __alignment, __sclines = 0;   if (__height) {  switch (__color_fmt) {   case COLOR_FMT_NV12:   __alignment = 32;   __sclines = MSM_MEDIA_ALIGN(__height, __alignment);   break;   default:   break;   }   }   __sclines;  })
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define VENUS_UV_SCANLINES(__color_fmt, __height) ({  unsigned int __alignment, __sclines = 0;   if (__height) {  switch (__color_fmt) {   case COLOR_FMT_NV12:   __alignment = 16;   __sclines = MSM_MEDIA_ALIGN(((__height + 1) >> 1), __alignment);   break;   default:   break;   }   }   __sclines;  })
-#define VENUS_BUFFER_SIZE(   __color_fmt, __width, __height) ({   unsigned int __uv_alignment;   unsigned int __size = 0;   unsigned int __y_plane, __uv_plane, __y_stride,   __uv_stride, __y_sclines, __uv_sclines;   if (__width && __height) {  __y_stride = VENUS_Y_STRIDE(__color_fmt, __width);   __uv_stride = VENUS_UV_STRIDE(__color_fmt, __width);   __y_sclines = VENUS_Y_SCANLINES(__color_fmt, __height);   __uv_sclines = VENUS_UV_SCANLINES(__color_fmt, __height);   switch (__color_fmt) {   case COLOR_FMT_NV12:   __uv_alignment = 4096;   __y_plane = __y_stride * __y_sclines;   __uv_plane = __uv_stride * __uv_sclines + __uv_alignment;   __size = __y_plane + __uv_plane;   __size = MSM_MEDIA_ALIGN(__size, 4096);   break;   default:   break;   }   }   __size;  })
 #endif
 
+enum color_fmts {
+	/* Venus NV12:
+	 * YUV 4:2:0 image with a plane of 8 bit Y samples followed
+	 * by an interleaved U/V plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              V
+	 * U V U V U V U V U V U V X X X X  ^
+	 * U V U V U V U V U V U V X X X X  |
+	 * U V U V U V U V U V U V X X X X  |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines
+	 * X X X X X X X X X X X X X X X X  |
+	 * X X X X X X X X X X X X X X X X  V
+	 * X X X X X X X X X X X X X X X X  --> Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * Total size = align((Y_Stride * Y_Scanlines
+	 *          + UV_Stride * UV_Scanlines + 4096), 4096)
+	 */
+	COLOR_FMT_NV12,
+
+	/* Venus NV21:
+	 * YUV 4:2:0 image with a plane of 8 bit Y samples followed
+	 * by an interleaved V/U plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              V
+	 * V U V U V U V U V U V U X X X X  ^
+	 * V U V U V U V U V U V U X X X X  |
+	 * V U V U V U V U V U V U X X X X  |
+	 * V U V U V U V U V U V U X X X X  UV_Scanlines
+	 * X X X X X X X X X X X X X X X X  |
+	 * X X X X X X X X X X X X X X X X  V
+	 * X X X X X X X X X X X X X X X X  --> Padding & Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * Total size = align((Y_Stride * Y_Scanlines
+	 *          + UV_Stride * UV_Scanlines + 4096), 4096)
+	 */
+	COLOR_FMT_NV21,
+	/* Venus NV12_MVTB:
+	 * Two YUV 4:2:0 images/views one after the other
+	 * in a top-bottom layout, same as NV12
+	 * with a plane of 8 bit Y samples followed
+	 * by an interleaved U/V plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^               ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |               |
+	 * X X X X X X X X X X X X X X X X              |             View_1
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              V               |
+	 * U V U V U V U V U V U V X X X X  ^                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines                |
+	 * X X X X X X X X X X X X X X X X  |                           |
+	 * X X X X X X X X X X X X X X X X  V                           V
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^               ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |               |
+	 * X X X X X X X X X X X X X X X X              |             View_2
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              V               |
+	 * U V U V U V U V U V U V X X X X  ^                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines                |
+	 * X X X X X X X X X X X X X X X X  |                           |
+	 * X X X X X X X X X X X X X X X X  V                           V
+	 * X X X X X X X X X X X X X X X X  --> Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * View_1 begin at: 0 (zero)
+	 * View_2 begin at: Y_Stride * Y_Scanlines + UV_Stride * UV_Scanlines
+	 * Total size = align((2*(Y_Stride * Y_Scanlines)
+	 *          + 2*(UV_Stride * UV_Scanlines) + 4096), 4096)
+	 */
+	COLOR_FMT_NV12_MVTB,
+};
+
+static inline unsigned int VENUS_Y_STRIDE(int color_fmt, int width)
+{
+	unsigned int alignment, stride = 0;
+	if (!width)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 128;
+		stride = MSM_MEDIA_ALIGN(width, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return stride;
+}
+
+static inline unsigned int VENUS_UV_STRIDE(int color_fmt, int width)
+{
+	unsigned int alignment, stride = 0;
+	if (!width)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 128;
+		stride = MSM_MEDIA_ALIGN(width, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return stride;
+}
+
+static inline unsigned int VENUS_Y_SCANLINES(int color_fmt, int height)
+{
+	unsigned int alignment, sclines = 0;
+	if (!height)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 32;
+		sclines = MSM_MEDIA_ALIGN(height, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return sclines;
+}
+
+static inline unsigned int VENUS_UV_SCANLINES(int color_fmt, int height)
+{
+	unsigned int alignment, sclines = 0;
+	if (!height)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 16;
+		sclines = MSM_MEDIA_ALIGN(((height + 1) >> 1), alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return sclines;
+}
+
+static inline unsigned int VENUS_BUFFER_SIZE(
+	int color_fmt, int width, int height)
+{
+	unsigned int uv_alignment;
+	unsigned int size = 0;
+	unsigned int y_plane, uv_plane, y_stride,
+		uv_stride, y_sclines, uv_sclines;
+	if (!width || !height)
+		goto invalid_input;
+
+	y_stride = VENUS_Y_STRIDE(color_fmt, width);
+	uv_stride = VENUS_UV_STRIDE(color_fmt, width);
+	y_sclines = VENUS_Y_SCANLINES(color_fmt, height);
+	uv_sclines = VENUS_UV_SCANLINES(color_fmt, height);
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+		uv_alignment = 4096;
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines + uv_alignment;
+		size = y_plane + uv_plane;
+		size = MSM_MEDIA_ALIGN(size, 4096);
+		break;
+	case COLOR_FMT_NV12_MVTB:
+		uv_alignment = 4096;
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines;
+		size = y_plane + uv_plane;
+		size = 2 * size + uv_alignment;
+		size = MSM_MEDIA_ALIGN(size, 4096);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return size;
+}
+
+static inline unsigned int VENUS_VIEW2_OFFSET(
+	int color_fmt, int width, int height)
+{
+	unsigned int offset = 0;
+	unsigned int y_plane, uv_plane, y_stride,
+		uv_stride, y_sclines, uv_sclines;
+	if (!width || !height)
+		goto invalid_input;
+
+	y_stride = VENUS_Y_STRIDE(color_fmt, width);
+	uv_stride = VENUS_UV_STRIDE(color_fmt, width);
+	y_sclines = VENUS_Y_SCANLINES(color_fmt, height);
+	uv_sclines = VENUS_UV_SCANLINES(color_fmt, height);
+	switch (color_fmt) {
+	case COLOR_FMT_NV12_MVTB:
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines;
+		offset = y_plane + uv_plane;
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return offset;
+}
+
+#endif
diff --git a/kernel-headers/media/msm_vidc.h b/kernel-headers/media/msm_vidc.h
index 1fa98b8..9d83298 100644
--- a/kernel-headers/media/msm_vidc.h
+++ b/kernel-headers/media/msm_vidc.h
@@ -18,6 +18,16 @@
  ****************************************************************************/
 #ifndef _MSM_VIDC_H_
 #define _MSM_VIDC_H_
+struct msm_vidc_extradata_header {
+ unsigned int size;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int:32;
+ unsigned int:32;
+ unsigned int type;
+ unsigned int data_size;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned char data[1];
+};
 struct msm_vidc_interlace_payload {
  unsigned int format;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -58,6 +68,36 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned int disp_height;
 };
+struct msm_vidc_input_crop_payload {
+ unsigned int size;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int version;
+ unsigned int port_index;
+ unsigned int left;
+ unsigned int top;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int width;
+ unsigned int height;
+};
+struct msm_vidc_digital_zoom_payload {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int size;
+ unsigned int version;
+ unsigned int port_index;
+ unsigned int zoom_width;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int zoom_height;
+};
+struct msm_vidc_extradata_index {
+ unsigned int type;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ union {
+ struct msm_vidc_input_crop_payload input_crop;
+ struct msm_vidc_digital_zoom_payload digital_zoom;
+ struct msm_vidc_aspect_ratio_payload aspect_ratio;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ };
+};
 struct msm_vidc_panscan_window {
  unsigned int panscan_height_offset;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -71,41 +111,96 @@
  struct msm_vidc_panscan_window wnd[1];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-enum msm_vidc_extradata_type {
- EXTRADATA_NONE = 0x00000000,
- EXTRADATA_MB_QUANTIZATION = 0x00000001,
- EXTRADATA_INTERLACE_VIDEO = 0x00000002,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- EXTRADATA_VC1_FRAMEDISP = 0x00000003,
- EXTRADATA_VC1_SEQDISP = 0x00000004,
- EXTRADATA_TIMESTAMP = 0x00000005,
- EXTRADATA_S3D_FRAME_PACKING = 0x00000006,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- EXTRADATA_FRAME_RATE = 0x00000007,
- EXTRADATA_PANSCAN_WINDOW = 0x00000008,
- EXTRADATA_RECOVERY_POINT_SEI = 0x00000009,
- EXTRADATA_MPEG2_SEQDISP = 0x0000000D,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- EXTRADATA_MULTISLICE_INFO = 0x7F100000,
- EXTRADATA_NUM_CONCEALED_MB = 0x7F100001,
- EXTRADATA_INDEX = 0x7F100002,
- EXTRADATA_ASPECT_RATIO = 0x7F100003,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- EXTRADATA_METADATA_FILLER = 0x7FE00002,
+struct msm_vidc_stream_userdata_payload {
+ unsigned int type;
+ unsigned int data[1];
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct msm_vidc_frame_qp_payload {
+ unsigned int frame_qp;
+};
+struct msm_vidc_frame_bits_info_payload {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int frame_bits;
+ unsigned int header_bits;
+};
+struct msm_vidc_s3d_frame_packing_payload {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int fpa_id;
+ unsigned int cancel_flag;
+ unsigned int fpa_type;
+ unsigned int quin_cunx_flag;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int content_interprtation_type;
+ unsigned int spatial_flipping_flag;
+ unsigned int frame0_flipped_flag;
+ unsigned int field_views_flag;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int current_frame_is_frame0_flag;
+ unsigned int frame0_self_contained_flag;
+ unsigned int frame1_self_contained_flag;
+ unsigned int frame0_graid_pos_x;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int frame0_graid_pos_y;
+ unsigned int frame1_graid_pos_x;
+ unsigned int frame1_graid_pos_y;
+ unsigned int fpa_reserved_byte;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned int fpa_repetition_period;
+ unsigned int fpa_extension_flag;
+};
+enum msm_vidc_extradata_type {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_NONE = 0x00000000,
+ MSM_VIDC_EXTRADATA_MB_QUANTIZATION = 0x00000001,
+ MSM_VIDC_EXTRADATA_INTERLACE_VIDEO = 0x00000002,
+ MSM_VIDC_EXTRADATA_VC1_FRAMEDISP = 0x00000003,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_VC1_SEQDISP = 0x00000004,
+ MSM_VIDC_EXTRADATA_TIMESTAMP = 0x00000005,
+ MSM_VIDC_EXTRADATA_S3D_FRAME_PACKING = 0x00000006,
+ MSM_VIDC_EXTRADATA_FRAME_RATE = 0x00000007,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_PANSCAN_WINDOW = 0x00000008,
+ MSM_VIDC_EXTRADATA_RECOVERY_POINT_SEI = 0x00000009,
+ MSM_VIDC_EXTRADATA_MPEG2_SEQDISP = 0x0000000D,
+ MSM_VIDC_EXTRADATA_STREAM_USERDATA = 0x0000000E,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_FRAME_QP = 0x0000000F,
+ MSM_VIDC_EXTRADATA_FRAME_BITS_INFO = 0x00000010,
+ MSM_VIDC_EXTRADATA_INPUT_CROP = 0x0700000E,
+ MSM_VIDC_EXTRADATA_DIGITAL_ZOOM = 0x07000010,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_MULTISLICE_INFO = 0x7F100000,
+ MSM_VIDC_EXTRADATA_NUM_CONCEALED_MB = 0x7F100001,
+ MSM_VIDC_EXTRADATA_INDEX = 0x7F100002,
+ MSM_VIDC_EXTRADATA_ASPECT_RATIO = 0x7F100003,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_EXTRADATA_METADATA_LTR = 0x7F100004,
+ MSM_VIDC_EXTRADATA_METADATA_FILLER = 0x7FE00002,
+ MSM_VIDC_EXTRADATA_METADATA_MBI = 0x7F100005,
+};
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum msm_vidc_interlace_type {
- INTERLACE_FRAME_PROGRESSIVE = 0x01,
+ MSM_VIDC_INTERLACE_FRAME_PROGRESSIVE = 0x01,
+ MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST = 0x02,
+ MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST = 0x02,
- INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST = 0x04,
- INTERLACE_FRAME_TOPFIELDFIRST = 0x08,
- INTERLACE_FRAME_BOTTOMFIELDFIRST = 0x10,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ MSM_VIDC_INTERLACE_FRAME_TOPFIELDFIRST = 0x08,
+ MSM_VIDC_INTERLACE_FRAME_BOTTOMFIELDFIRST = 0x10,
 };
 enum msm_vidc_recovery_sei {
- FRAME_RECONSTRUCTION_INCORRECT = 0x0,
- FRAME_RECONSTRUCTION_CORRECT = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT = 0x02,
+ MSM_VIDC_FRAME_RECONSTRUCTION_INCORRECT = 0x0,
+ MSM_VIDC_FRAME_RECONSTRUCTION_CORRECT = 0x01,
+ MSM_VIDC_FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT = 0x02,
+};
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+enum msm_vidc_userdata_type {
+ MSM_VIDC_USERDATA_TYPE_FRAME = 0x1,
+ MSM_VIDC_USERDATA_TYPE_TOP_FIELD = 0x2,
+ MSM_VIDC_USERDATA_TYPE_BOTTOM_FIELD = 0x3,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #endif
+
diff --git a/original-kernel-headers/linux/msm_vidc_dec.h b/original-kernel-headers/linux/msm_vidc_dec.h
index 35279bf..6a1c3cb 100644
--- a/original-kernel-headers/linux/msm_vidc_dec.h
+++ b/original-kernel-headers/linux/msm_vidc_dec.h
@@ -284,6 +284,7 @@
 	VDEC_CODECTYPE_VC1 = 0xb,
 	VDEC_CODECTYPE_VC1_RCV = 0xc,
 	VDEC_CODECTYPE_HEVC = 0xd,
+	VDEC_CODECTYPE_MVC = 0xe,
 };
 
 enum vdec_mpeg2_profile {
diff --git a/original-kernel-headers/linux/msm_vidc_enc.h b/original-kernel-headers/linux/msm_vidc_enc.h
index dcc2353..4ce3db1 100644
--- a/original-kernel-headers/linux/msm_vidc_enc.h
+++ b/original-kernel-headers/linux/msm_vidc_enc.h
@@ -59,6 +59,7 @@
 #define VEN_EXTRADATA_QCOMFILLER    0x002
 #define VEN_EXTRADATA_SLICEINFO     0x100
 #define VEN_EXTRADATA_LTRINFO       0x200
+#define VEN_EXTRADATA_MBINFO        0x400
 
 /*ENCODER CONFIGURATION CONSTANTS*/
 
diff --git a/original-kernel-headers/linux/videodev2.h b/original-kernel-headers/linux/videodev2.h
index e616e10..e0e9503 100644
--- a/original-kernel-headers/linux/videodev2.h
+++ b/original-kernel-headers/linux/videodev2.h
@@ -682,30 +682,40 @@
 };
 
 /*  Flags for 'flags' field */
-#define V4L2_BUF_FLAG_MAPPED	0x0001  /* Buffer is mapped (flag) */
-#define V4L2_BUF_FLAG_QUEUED	0x0002	/* Buffer is queued for processing */
-#define V4L2_BUF_FLAG_DONE	0x0004	/* Buffer is ready */
-#define V4L2_BUF_FLAG_KEYFRAME	0x0008	/* Image is a keyframe (I-frame) */
-#define V4L2_BUF_FLAG_PFRAME	0x0010	/* Image is a P-frame */
-#define V4L2_BUF_FLAG_BFRAME	0x0020	/* Image is a B-frame */
+#define V4L2_BUF_FLAG_MAPPED    0x0001  /* Buffer is mapped (flag) */
+#define V4L2_BUF_FLAG_QUEUED    0x0002  /* Buffer is queued for processing */
+#define V4L2_BUF_FLAG_DONE      0x0004  /* Buffer is ready */
+#define V4L2_BUF_FLAG_KEYFRAME  0x0008  /* Image is a keyframe (I-frame) */
+#define V4L2_BUF_FLAG_PFRAME    0x0010  /* Image is a P-frame */
+#define V4L2_BUF_FLAG_BFRAME    0x0020  /* Image is a B-frame */
 /* Buffer is ready, but the data contained within is corrupted. */
-#define V4L2_BUF_FLAG_ERROR	0x0040
-#define V4L2_BUF_FLAG_TIMECODE	0x0100	/* timecode field is valid */
-#define V4L2_BUF_FLAG_INPUT     0x0200  /* input field is valid */
-#define V4L2_BUF_FLAG_PREPARED	0x0400	/* Buffer is prepared for queuing */
+#define V4L2_BUF_FLAG_ERROR     0x0040
+#define V4L2_BUF_FLAG_TIMECODE  0x0100  /* timecode field is valid */
+#define V4L2_BUF_FLAG_PREPARED  0x0400  /* Buffer is prepared for queuing */
 /* Cache handling flags */
-#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE	0x0800
-#define V4L2_BUF_FLAG_NO_CACHE_CLEAN		0x1000
-#define V4L2_BUF_FLAG_EOS		0x2000
-#define V4L2_QCOM_BUF_FLAG_CODECCONFIG  0x4000
-#define V4L2_QCOM_BUF_FLAG_EOSEQ  0x8000
-#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x10000
-#define V4L2_QCOM_BUF_FLAG_IDRFRAME	0x20000	/* Image is a IDR-frame */
-#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x40000
-#define V4L2_QCOM_BUF_DATA_CORRUPT 0x80000
-#define V4L2_QCOM_BUF_DROP_FRAME 0x100000
-#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED 0x200000
-#define V4L2_QCOM_BUF_FLAG_READONLY 0x400000
+#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE       0x0800
+#define V4L2_BUF_FLAG_NO_CACHE_CLEAN            0x1000
+/* Timestamp type */
+#define V4L2_BUF_FLAG_TIMESTAMP_MASK            0xe000
+#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN         0x0000
+#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC       0x2000
+#define V4L2_BUF_FLAG_TIMESTAMP_COPY            0x4000
+/* Vendor extensions */
+#define V4L2_QCOM_BUF_FLAG_CODECCONFIG          0x10000
+#define V4L2_QCOM_BUF_FLAG_EOSEQ                0x20000
+#define V4L2_QCOM_BUF_TIMESTAMP_INVALID         0x40000
+#define V4L2_QCOM_BUF_FLAG_IDRFRAME             0x80000 /*Image is a IDR-frame*/
+#define V4L2_QCOM_BUF_FLAG_DECODEONLY           0x100000
+#define V4L2_QCOM_BUF_DATA_CORRUPT              0x200000
+#define V4L2_QCOM_BUF_DROP_FRAME                0x400000
+#define V4L2_QCOM_BUF_INPUT_UNSUPPORTED         0x800000
+#define V4L2_QCOM_BUF_FLAG_EOS                  0x1000000
+#define V4L2_QCOM_BUF_TS_DISCONTINUITY          0x2000000
+#define V4L2_QCOM_BUF_TS_ERROR                  0x4000000
+#define V4L2_QCOM_BUF_FLAG_READONLY             0x8000000
+#define V4L2_MSM_VIDC_BUF_START_CODE_NOT_FOUND  0x10000000
+#define V4L2_MSM_BUF_FLAG_YUV_601_709_CLAMP     0x20000000
+#define V4L2_MSM_BUF_FLAG_MBAFF			0x40000000
 
 /*
  *	O V E R L A Y   P R E V I E W
@@ -1551,6 +1561,7 @@
 	V4L2_MPEG_VIDEO_H264_LEVEL_4_2	= 13,
 	V4L2_MPEG_VIDEO_H264_LEVEL_5_0	= 14,
 	V4L2_MPEG_VIDEO_H264_LEVEL_5_1	= 15,
+	V4L2_MPEG_VIDEO_H264_LEVEL_5_2	= 16,
 };
 #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA	(V4L2_CID_MPEG_BASE+360)
 #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA	(V4L2_CID_MPEG_BASE+361)
@@ -1834,10 +1845,15 @@
 	V4L2_MPEG_VIDC_EXTRADATA_MULTISLICE_INFO,
 	V4L2_MPEG_VIDC_EXTRADATA_NUM_CONCEALED_MB,
 	V4L2_MPEG_VIDC_EXTRADATA_METADATA_FILLER,
-	V4L2_MPEG_VIDC_INDEX_EXTRADATA_INPUT_CROP,
-	V4L2_MPEG_VIDC_INDEX_EXTRADATA_DIGITAL_ZOOM,
-	V4L2_MPEG_VIDC_INDEX_EXTRADATA_ASPECT_RATIO,
-	V4L2_MPEG_VIDC_EXTRADATA_MPEG2_SEQDISP
+	V4L2_MPEG_VIDC_EXTRADATA_INPUT_CROP,
+	V4L2_MPEG_VIDC_EXTRADATA_DIGITAL_ZOOM,
+	V4L2_MPEG_VIDC_EXTRADATA_ASPECT_RATIO,
+	V4L2_MPEG_VIDC_EXTRADATA_MPEG2_SEQDISP,
+        V4L2_MPEG_VIDC_EXTRADATA_STREAM_USERDATA,
+        V4L2_MPEG_VIDC_EXTRADATA_FRAME_QP,
+        V4L2_MPEG_VIDC_EXTRADATA_FRAME_BITS_INFO,
+        V4L2_MPEG_VIDC_EXTRADATA_METADATA_MBI,
+	V4L2_MPEG_VIDC_EXTRADATA_LTR
 };
 
 #define V4L2_CID_MPEG_VIDC_SET_PERF_LEVEL (V4L2_CID_MPEG_MSM_VIDC_BASE + 26)
@@ -1904,6 +1920,117 @@
 #define V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER \
 	(V4L2_CID_MPEG_MSM_VIDC_BASE + 36)
 
+#define V4L2_CID_MPEG_VIDC_VIDEO_LTRMODE \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 37)
+
+enum v4l2_mpeg_vidc_video_ltrmode {
+	V4L2_MPEG_VIDC_VIDEO_LTR_MODE_DISABLE = 0,
+	V4L2_MPEG_VIDC_VIDEO_LTR_MODE_MANUAL = 1,
+	V4L2_MPEG_VIDC_VIDEO_LTR_MODE_PERIODIC = 2
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_LTRCOUNT \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 38)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_USELTRFRAME \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 39)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MARKLTRFRAME \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 40)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 41)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_VPX_ERROR_RESILIENCE \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 42)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MIN_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 43)
+#define V4L2_CID_MPEG_VIDC_VIDEO_VP8_MAX_QP (V4L2_CID_MPEG_MSM_VIDC_BASE + 44)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG4_TIME_RESOLUTION \
+	(V4L2_CID_MPEG_MSM_VIDC_BASE + 45)
+#define V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_MODE \
+	(V4L2_CID_MPEG_MSM_VIDC_BASE + 46)
+
+enum v4l2_mpeg_vidc_video_decoder_multi_stream {
+	V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_PRIMARY = 0,
+	V4L2_CID_MPEG_VIDC_VIDEO_STREAM_OUTPUT_SECONDARY = 1,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_MVC_BUFFER_LAYOUT \
+		(V4L2_CID_MPEG_MSM_VIDC_BASE + 47)
+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 + 48)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_SCS_THRESHOLD \
+               (V4L2_CID_MPEG_MSM_VIDC_BASE + 49)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_DEINTERLACE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 50)
+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_MPEG2_LEVEL    (V4L2_CID_MPEG_MSM_VIDC_BASE+51)
+enum v4l2_mpeg_vidc_video_mpeg2_level {
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_0      = 0,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_1      = 1,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_2      = 2,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_LEVEL_3      = 3,
+};
+#define V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE  (V4L2_CID_MPEG_MSM_VIDC_BASE+52)
+enum v4l2_mpeg_vidc_video_mpeg2_profile {
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SIMPLE               = 0,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_MAIN                 = 1,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_422                  = 2,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SNR_SCALABLE         = 3,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_SPATIAL_SCALABLE     = 4,
+        V4L2_MPEG_VIDC_VIDEO_MPEG2_PROFILE_HIGH                 = 5,
+};
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE \
+        (V4L2_CID_MPEG_MSM_VIDC_BASE + 53)
+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 + 54)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_I_FRAME_QP \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 55)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_P_FRAME_QP \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 56)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_B_FRAME_QP \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 57)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_X_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 58)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_X_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 59)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_X_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 60)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_IFRAME_Y_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 61)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_PFRAME_Y_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 62)
+
+#define V4L2_CID_MPEG_VIDC_VIDEO_BFRAME_Y_RANGE \
+                (V4L2_CID_MPEG_MSM_VIDC_BASE + 63)
+
 /*  Camera class control IDs */
 #define V4L2_CID_CAMERA_CLASS_BASE 	(V4L2_CTRL_CLASS_CAMERA | 0x900)
 #define V4L2_CID_CAMERA_CLASS 		(V4L2_CTRL_CLASS_CAMERA | 1)
diff --git a/original-kernel-headers/media/msm_media_info.h b/original-kernel-headers/media/msm_media_info.h
index 42c3572..ae72558 100644
--- a/original-kernel-headers/media/msm_media_info.h
+++ b/original-kernel-headers/media/msm_media_info.h
@@ -6,94 +6,279 @@
 #endif
 
 enum color_fmts {
+	/* Venus NV12:
+	 * YUV 4:2:0 image with a plane of 8 bit Y samples followed
+	 * by an interleaved U/V plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              V
+	 * U V U V U V U V U V U V X X X X  ^
+	 * U V U V U V U V U V U V X X X X  |
+	 * U V U V U V U V U V U V X X X X  |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines
+	 * X X X X X X X X X X X X X X X X  |
+	 * X X X X X X X X X X X X X X X X  V
+	 * X X X X X X X X X X X X X X X X  --> Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * Total size = align((Y_Stride * Y_Scanlines
+	 *          + UV_Stride * UV_Scanlines + 4096), 4096)
+	 */
 	COLOR_FMT_NV12,
+
+	/* Venus NV21:
+	 * YUV 4:2:0 image with a plane of 8 bit Y samples followed
+	 * by an interleaved V/U plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              |
+	 * X X X X X X X X X X X X X X X X              V
+	 * V U V U V U V U V U V U X X X X  ^
+	 * V U V U V U V U V U V U X X X X  |
+	 * V U V U V U V U V U V U X X X X  |
+	 * V U V U V U V U V U V U X X X X  UV_Scanlines
+	 * X X X X X X X X X X X X X X X X  |
+	 * X X X X X X X X X X X X X X X X  V
+	 * X X X X X X X X X X X X X X X X  --> Padding & Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * Total size = align((Y_Stride * Y_Scanlines
+	 *          + UV_Stride * UV_Scanlines + 4096), 4096)
+	 */
 	COLOR_FMT_NV21,
+	/* Venus NV12_MVTB:
+	 * Two YUV 4:2:0 images/views one after the other
+	 * in a top-bottom layout, same as NV12
+	 * with a plane of 8 bit Y samples followed
+	 * by an interleaved U/V plane containing 8 bit 2x2 subsampled
+	 * colour difference samples.
+	 *
+	 *
+	 * <-------- Y/UV_Stride -------->
+	 * <------- Width ------->
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^               ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |               |
+	 * X X X X X X X X X X X X X X X X              |             View_1
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              V               |
+	 * U V U V U V U V U V U V X X X X  ^                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines                |
+	 * X X X X X X X X X X X X X X X X  |                           |
+	 * X X X X X X X X X X X X X X X X  V                           V
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  ^           ^               ^
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  Height      |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |          Y_Scanlines      |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  |           |               |
+	 * Y Y Y Y Y Y Y Y Y Y Y Y X X X X  V           |               |
+	 * X X X X X X X X X X X X X X X X              |             View_2
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              |               |
+	 * X X X X X X X X X X X X X X X X              V               |
+	 * U V U V U V U V U V U V X X X X  ^                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  |                           |
+	 * U V U V U V U V U V U V X X X X  UV_Scanlines                |
+	 * X X X X X X X X X X X X X X X X  |                           |
+	 * X X X X X X X X X X X X X X X X  V                           V
+	 * X X X X X X X X X X X X X X X X  --> Buffer size alignment
+	 *
+	 * Y_Stride : Width aligned to 128
+	 * UV_Stride : Width aligned to 128
+	 * Y_Scanlines: Height aligned to 32
+	 * UV_Scanlines: Height/2 aligned to 16
+	 * View_1 begin at: 0 (zero)
+	 * View_2 begin at: Y_Stride * Y_Scanlines + UV_Stride * UV_Scanlines
+	 * Total size = align((2*(Y_Stride * Y_Scanlines)
+	 *          + 2*(UV_Stride * UV_Scanlines) + 4096), 4096)
+	 */
+	COLOR_FMT_NV12_MVTB,
 };
 
-#define VENUS_Y_STRIDE(__color_fmt, __width) ({\
-	unsigned int __alignment, __stride = 0; \
-	if (__width) { \
-		switch (__color_fmt) { \
-		case COLOR_FMT_NV12: \
-		__alignment = 128; \
-		__stride = MSM_MEDIA_ALIGN(__width, __alignment);\
-		break;\
-		default:\
-		break;\
-		}\
-	} \
-	__stride;\
-})
+static inline unsigned int VENUS_Y_STRIDE(int color_fmt, int width)
+{
+	unsigned int alignment, stride = 0;
+	if (!width)
+		goto invalid_input;
 
-#define VENUS_UV_STRIDE(__color_fmt, __width) ({\
-	unsigned int __alignment, __stride = 0; \
-	if (__width) {\
-		switch (__color_fmt) { \
-		case COLOR_FMT_NV12: \
-		__alignment = 128; \
-		__stride = MSM_MEDIA_ALIGN(__width, __alignment); \
-		break; \
-		default: \
-		break; \
-		} \
-	} \
-	__stride; \
-})
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 128;
+		stride = MSM_MEDIA_ALIGN(width, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return stride;
+}
 
-#define VENUS_Y_SCANLINES(__color_fmt, __height) ({ \
-	unsigned int __alignment, __sclines = 0; \
-	if (__height) {\
-		switch (__color_fmt) { \
-		case COLOR_FMT_NV12: \
-		__alignment = 32; \
-		__sclines = MSM_MEDIA_ALIGN(__height, __alignment); \
-		break; \
-		default: \
-		break; \
-		} \
-	} \
-	__sclines; \
-})
+static inline unsigned int VENUS_UV_STRIDE(int color_fmt, int width)
+{
+	unsigned int alignment, stride = 0;
+	if (!width)
+		goto invalid_input;
 
-#define VENUS_UV_SCANLINES(__color_fmt, __height) ({\
-	unsigned int __alignment, __sclines = 0; \
-	if (__height) {\
-		switch (__color_fmt) { \
-		case COLOR_FMT_NV12: \
-			__alignment = 16; \
-			__sclines = MSM_MEDIA_ALIGN(((__height + 1) >> 1), __alignment); \
-			break; \
-		default: \
-			break; \
-		} \
-	} \
-	__sclines; \
-})
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 128;
+		stride = MSM_MEDIA_ALIGN(width, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return stride;
+}
 
-#define VENUS_BUFFER_SIZE( \
-	__color_fmt, __width, __height) ({ \
-	unsigned int __uv_alignment; \
-	unsigned int __size = 0; \
-	unsigned int __y_plane, __uv_plane, __y_stride, \
-		__uv_stride, __y_sclines, __uv_sclines; \
-	if (__width && __height) {\
-		__y_stride = VENUS_Y_STRIDE(__color_fmt, __width); \
-		__uv_stride = VENUS_UV_STRIDE(__color_fmt, __width); \
-		__y_sclines = VENUS_Y_SCANLINES(__color_fmt, __height); \
-		__uv_sclines = VENUS_UV_SCANLINES(__color_fmt, __height); \
-		switch (__color_fmt) { \
-		case COLOR_FMT_NV12: \
-			__uv_alignment = 4096; \
-			__y_plane = __y_stride * __y_sclines; \
-			__uv_plane = __uv_stride * __uv_sclines + __uv_alignment; \
-			__size = __y_plane + __uv_plane; \
-			__size = MSM_MEDIA_ALIGN(__size, 4096); \
-			break; \
-		default: \
-			break; \
-		} \
-	} \
-	__size; \
-})
+static inline unsigned int VENUS_Y_SCANLINES(int color_fmt, int height)
+{
+	unsigned int alignment, sclines = 0;
+	if (!height)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 32;
+		sclines = MSM_MEDIA_ALIGN(height, alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return sclines;
+}
+
+static inline unsigned int VENUS_UV_SCANLINES(int color_fmt, int height)
+{
+	unsigned int alignment, sclines = 0;
+	if (!height)
+		goto invalid_input;
+
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+	case COLOR_FMT_NV12_MVTB:
+		alignment = 16;
+		sclines = MSM_MEDIA_ALIGN(((height + 1) >> 1), alignment);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return sclines;
+}
+
+static inline unsigned int VENUS_BUFFER_SIZE(
+	int color_fmt, int width, int height)
+{
+	unsigned int uv_alignment;
+	unsigned int size = 0;
+	unsigned int y_plane, uv_plane, y_stride,
+		uv_stride, y_sclines, uv_sclines;
+	if (!width || !height)
+		goto invalid_input;
+
+	y_stride = VENUS_Y_STRIDE(color_fmt, width);
+	uv_stride = VENUS_UV_STRIDE(color_fmt, width);
+	y_sclines = VENUS_Y_SCANLINES(color_fmt, height);
+	uv_sclines = VENUS_UV_SCANLINES(color_fmt, height);
+	switch (color_fmt) {
+	case COLOR_FMT_NV21:
+	case COLOR_FMT_NV12:
+		uv_alignment = 4096;
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines + uv_alignment;
+		size = y_plane + uv_plane;
+		size = MSM_MEDIA_ALIGN(size, 4096);
+		break;
+	case COLOR_FMT_NV12_MVTB:
+		uv_alignment = 4096;
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines;
+		size = y_plane + uv_plane;
+		size = 2 * size + uv_alignment;
+		size = MSM_MEDIA_ALIGN(size, 4096);
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return size;
+}
+
+static inline unsigned int VENUS_VIEW2_OFFSET(
+	int color_fmt, int width, int height)
+{
+	unsigned int offset = 0;
+	unsigned int y_plane, uv_plane, y_stride,
+		uv_stride, y_sclines, uv_sclines;
+	if (!width || !height)
+		goto invalid_input;
+
+	y_stride = VENUS_Y_STRIDE(color_fmt, width);
+	uv_stride = VENUS_UV_STRIDE(color_fmt, width);
+	y_sclines = VENUS_Y_SCANLINES(color_fmt, height);
+	uv_sclines = VENUS_UV_SCANLINES(color_fmt, height);
+	switch (color_fmt) {
+	case COLOR_FMT_NV12_MVTB:
+		y_plane = y_stride * y_sclines;
+		uv_plane = uv_stride * uv_sclines;
+		offset = y_plane + uv_plane;
+		break;
+	default:
+		break;
+	}
+invalid_input:
+	return offset;
+}
 
 #endif
diff --git a/original-kernel-headers/media/msm_vidc.h b/original-kernel-headers/media/msm_vidc.h
index 2164275..0a91e32 100644
--- a/original-kernel-headers/media/msm_vidc.h
+++ b/original-kernel-headers/media/msm_vidc.h
@@ -25,10 +25,11 @@
 int msm_vidc_s_fmt(void *instance, struct v4l2_format *f);
 int msm_vidc_g_fmt(void *instance, struct v4l2_format *f);
 int msm_vidc_s_ctrl(void *instance, struct v4l2_control *a);
+int msm_vidc_s_ext_ctrl(void *instance, struct v4l2_ext_controls *a);
 int msm_vidc_g_ctrl(void *instance, struct v4l2_control *a);
 int msm_vidc_reqbufs(void *instance, struct v4l2_requestbuffers *b);
 int msm_vidc_prepare_buf(void *instance, struct v4l2_buffer *b);
-int msm_vidc_release_buf(void *instance, struct v4l2_buffer *b);
+int msm_vidc_release_buffers(void *instance, int buffer_type);
 int msm_vidc_qbuf(void *instance, struct v4l2_buffer *b);
 int msm_vidc_dqbuf(void *instance, struct v4l2_buffer *b);
 int msm_vidc_streamon(void *instance, enum v4l2_buf_type i);
@@ -48,6 +49,14 @@
 int msm_vidc_s_parm(void *instance, struct v4l2_streamparm *a);
 int msm_vidc_enum_framesizes(void *instance, struct v4l2_frmsizeenum *fsize);
 #endif
+struct msm_vidc_extradata_header {
+        unsigned int size;
+        unsigned int:32; /** Keeping binary compatibility */
+        unsigned int:32; /* with firmware and OpenMAX IL **/
+        unsigned int type; /* msm_vidc_extradata_type */
+        unsigned int data_size;
+        unsigned char data[1];
+};
 struct msm_vidc_interlace_payload {
 	unsigned int format;
 };
@@ -64,7 +73,6 @@
 struct msm_vidc_recoverysei_payload {
 	unsigned int flags;
 };
-
 struct msm_vidc_aspect_ratio_payload {
 	unsigned int size;
 	unsigned int version;
@@ -72,7 +80,6 @@
 	unsigned int aspect_width;
 	unsigned int aspect_height;
 };
-
 struct msm_vidc_mpeg2_seqdisp_payload {
 	unsigned int video_format;
 	bool color_descp;
@@ -82,7 +89,30 @@
 	unsigned int disp_width;
 	unsigned int disp_height;
 };
-
+struct msm_vidc_input_crop_payload {
+        unsigned int size;
+        unsigned int version;
+        unsigned int port_index;
+        unsigned int left;
+        unsigned int top;
+        unsigned int width;
+        unsigned int height;
+};
+struct msm_vidc_digital_zoom_payload {
+        unsigned int size;
+        unsigned int version;
+        unsigned int port_index;
+        unsigned int zoom_width;
+        unsigned int zoom_height;
+};
+struct msm_vidc_extradata_index {
+        unsigned int type;
+        union {
+                struct msm_vidc_input_crop_payload input_crop;
+                struct msm_vidc_digital_zoom_payload digital_zoom;
+                struct msm_vidc_aspect_ratio_payload aspect_ratio;
+        };
+};
 struct msm_vidc_panscan_window {
 	unsigned int panscan_height_offset;
 	unsigned int panscan_width_offset;
@@ -93,35 +123,79 @@
 	unsigned int num_panscan_windows;
 	struct msm_vidc_panscan_window wnd[1];
 };
+struct msm_vidc_stream_userdata_payload {
+        unsigned int type;
+        unsigned int data[1];
+};
+struct msm_vidc_frame_qp_payload {
+        unsigned int frame_qp;
+};
+struct msm_vidc_frame_bits_info_payload {
+        unsigned int frame_bits;
+        unsigned int header_bits;
+};
+struct msm_vidc_s3d_frame_packing_payload {
+        unsigned int fpa_id;
+        unsigned int cancel_flag;
+        unsigned int fpa_type;
+        unsigned int quin_cunx_flag;
+        unsigned int content_interprtation_type;
+        unsigned int spatial_flipping_flag;
+        unsigned int frame0_flipped_flag;
+        unsigned int field_views_flag;
+        unsigned int current_frame_is_frame0_flag;
+        unsigned int frame0_self_contained_flag;
+        unsigned int frame1_self_contained_flag;
+        unsigned int frame0_graid_pos_x;
+        unsigned int frame0_graid_pos_y;
+        unsigned int frame1_graid_pos_x;
+        unsigned int frame1_graid_pos_y;
+        unsigned int fpa_reserved_byte;
+        unsigned int fpa_repetition_period;
+        unsigned int fpa_extension_flag;
+};
+
 enum msm_vidc_extradata_type {
-	EXTRADATA_NONE = 0x00000000,
-	EXTRADATA_MB_QUANTIZATION = 0x00000001,
-	EXTRADATA_INTERLACE_VIDEO = 0x00000002,
-	EXTRADATA_VC1_FRAMEDISP = 0x00000003,
-	EXTRADATA_VC1_SEQDISP = 0x00000004,
-	EXTRADATA_TIMESTAMP = 0x00000005,
-	EXTRADATA_S3D_FRAME_PACKING = 0x00000006,
-	EXTRADATA_FRAME_RATE = 0x00000007,
-	EXTRADATA_PANSCAN_WINDOW = 0x00000008,
-	EXTRADATA_RECOVERY_POINT_SEI = 0x00000009,
-	EXTRADATA_MPEG2_SEQDISP = 0x0000000D,
-	EXTRADATA_MULTISLICE_INFO = 0x7F100000,
-	EXTRADATA_NUM_CONCEALED_MB = 0x7F100001,
-	EXTRADATA_INDEX = 0x7F100002,
-	EXTRADATA_ASPECT_RATIO = 0x7F100003,
-	EXTRADATA_METADATA_FILLER = 0x7FE00002,
+        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,
+        MSM_VIDC_EXTRADATA_PANSCAN_WINDOW = 0x00000008,
+        MSM_VIDC_EXTRADATA_RECOVERY_POINT_SEI = 0x00000009,
+        MSM_VIDC_EXTRADATA_MPEG2_SEQDISP = 0x0000000D,
+        MSM_VIDC_EXTRADATA_STREAM_USERDATA = 0x0000000E,
+        MSM_VIDC_EXTRADATA_FRAME_QP = 0x0000000F,
+        MSM_VIDC_EXTRADATA_FRAME_BITS_INFO = 0x00000010,
+        MSM_VIDC_EXTRADATA_INPUT_CROP = 0x0700000E,
+        MSM_VIDC_EXTRADATA_DIGITAL_ZOOM = 0x07000010,
+        MSM_VIDC_EXTRADATA_MULTISLICE_INFO = 0x7F100000,
+        MSM_VIDC_EXTRADATA_NUM_CONCEALED_MB = 0x7F100001,
+        MSM_VIDC_EXTRADATA_INDEX = 0x7F100002,
+        MSM_VIDC_EXTRADATA_ASPECT_RATIO = 0x7F100003,
+        MSM_VIDC_EXTRADATA_METADATA_LTR = 0x7F100004,
+        MSM_VIDC_EXTRADATA_METADATA_FILLER = 0x7FE00002,
+        MSM_VIDC_EXTRADATA_METADATA_MBI = 0x7F100005,
 };
 enum msm_vidc_interlace_type {
-	INTERLACE_FRAME_PROGRESSIVE = 0x01,
-	INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST = 0x02,
-	INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST = 0x04,
-	INTERLACE_FRAME_TOPFIELDFIRST = 0x08,
-	INTERLACE_FRAME_BOTTOMFIELDFIRST = 0x10,
+	MSM_VIDC_INTERLACE_FRAME_PROGRESSIVE = 0x01,
+	MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST = 0x02,
+	MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST = 0x04,
+	MSM_VIDC_INTERLACE_FRAME_TOPFIELDFIRST = 0x08,
+	MSM_VIDC_INTERLACE_FRAME_BOTTOMFIELDFIRST = 0x10,
 };
 enum msm_vidc_recovery_sei {
-	FRAME_RECONSTRUCTION_INCORRECT = 0x0,
-	FRAME_RECONSTRUCTION_CORRECT = 0x01,
-	FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT = 0x02,
+	MSM_VIDC_FRAME_RECONSTRUCTION_INCORRECT = 0x0,
+	MSM_VIDC_FRAME_RECONSTRUCTION_CORRECT = 0x01,
+	MSM_VIDC_FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT = 0x02,
+};
+enum msm_vidc_userdata_type {
+	MSM_VIDC_USERDATA_TYPE_FRAME = 0x1,
+	MSM_VIDC_USERDATA_TYPE_TOP_FIELD = 0x2,
+	MSM_VIDC_USERDATA_TYPE_BOTTOM_FIELD = 0x3,
 };
 
 #endif