diff options
author | Vineeta Srivastava <vsrivastava@google.com> | 2014-05-07 17:08:04 -0700 |
---|---|---|
committer | Vineeta Srivastava <vsrivastava@google.com> | 2014-05-07 17:08:04 -0700 |
commit | dff20dc79ec4b7113b068a19d60d7d7c8e722429 (patch) | |
tree | 7990c34fda5fc318988a12f000451ba6901365aa | |
parent | e5d6345aa02cf6e7a9f568c745fd2545124850a1 (diff) | |
download | msm8x74-dff20dc79ec4b7113b068a19d60d7d7c8e722429.tar.gz |
Revert "Revert "msm8x74: update video kernel headers""
This reverts commit e5d6345aa02cf6e7a9f568c745fd2545124850a1.
-rw-r--r-- | kernel-headers/linux/msm_vidc_dec.h | 140 | ||||
-rw-r--r-- | kernel-headers/linux/msm_vidc_enc.h | 162 | ||||
-rw-r--r-- | kernel-headers/linux/videodev2.h | 281 | ||||
-rw-r--r-- | kernel-headers/media/msm_media_info.h | 305 | ||||
-rw-r--r-- | kernel-headers/media/msm_vidc.h | 149 | ||||
-rw-r--r-- | original-kernel-headers/linux/msm_vidc_dec.h | 1 | ||||
-rw-r--r-- | original-kernel-headers/linux/msm_vidc_enc.h | 1 | ||||
-rw-r--r-- | original-kernel-headers/linux/videodev2.h | 179 | ||||
-rw-r--r-- | original-kernel-headers/media/msm_media_info.h | 355 | ||||
-rw-r--r-- | original-kernel-headers/media/msm_vidc.h | 130 |
10 files changed, 1266 insertions, 437 deletions
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 @@ enum vdec_codec { 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 @@ struct v4l2_buffer { /* 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 -#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000 -#define V4L2_BUF_FLAG_EOS 0x2000 -#define V4L2_QCOM_BUF_FLAG_CODECCONFIG 0x4000 -/* 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 /* 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_BUF_FLAG_NO_CACHE_CLEAN 0x1000 +#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_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_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 @@ enum v4l2_mpeg_video_h264_level { 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, - V4L2_MPEG_VIDC_EXTRADATA_NUM_CONCEALED_MB, /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + 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_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 */ + /* 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; }) -#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 +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 @@ struct msm_vidc_mpeg2_seqdisp_payload { /* 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_payload { 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, +struct msm_vidc_stream_userdata_payload { + unsigned int type; + unsigned int data[1]; +}; /* 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, +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 */ - EXTRADATA_MULTISLICE_INFO = 0x7F100000, - EXTRADATA_NUM_CONCEALED_MB = 0x7F100001, - EXTRADATA_INDEX = 0x7F100002, - EXTRADATA_ASPECT_RATIO = 0x7F100003, + 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 */ - 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, +/* 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, }; -enum msm_vidc_interlace_type { - INTERLACE_FRAME_PROGRESSIVE = 0x01, /* 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, +enum msm_vidc_interlace_type { + 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 */ + 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 @@ enum vdec_codec { 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 @@ struct v4l2_buffer { }; /* 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 @@ enum v4l2_mpeg_video_h264_level { 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 @@ enum v4l2_mpeg_vidc_extradata { 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 @@ enum v4l2_mpeg_vidc_video_preserve_text_quality { #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;\ -}) - -#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; \ -}) - -#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; \ -}) +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/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_enum_fmt(void *instance, struct v4l2_fmtdesc *f); 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_wait(void *instance); 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_concealmb_payload { struct msm_vidc_recoverysei_payload { unsigned int flags; }; - struct msm_vidc_aspect_ratio_payload { unsigned int size; unsigned int version; @@ -72,7 +80,6 @@ struct msm_vidc_aspect_ratio_payload { 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 @@ struct msm_vidc_mpeg2_seqdisp_payload { 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 @@ struct msm_vidc_panscan_window_payload { 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 |