Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_MSM_VIDC_ENC_H_
     20 #define _UAPI_MSM_VIDC_ENC_H_
     21 #include <linux/types.h>
     22 #include <linux/ioctl.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define VEN_S_BASE 0x00000000
     25 #define VEN_S_SUCCESS (VEN_S_BASE)
     26 #define VEN_S_EFAIL (VEN_S_BASE+1)
     27 #define VEN_S_EFATAL (VEN_S_BASE+2)
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define VEN_S_EBADPARAM (VEN_S_BASE+3)
     30 #define VEN_S_EINVALSTATE (VEN_S_BASE+4)
     31 #define VEN_S_ENOSWRES (VEN_S_BASE+5)
     32 #define VEN_S_ENOHWRES (VEN_S_BASE+6)
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define VEN_S_EBUFFREQ (VEN_S_BASE+7)
     35 #define VEN_S_EINVALCMD (VEN_S_BASE+8)
     36 #define VEN_S_ETIMEOUT (VEN_S_BASE+9)
     37 #define VEN_S_ENOREATMPT (VEN_S_BASE+10)
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define VEN_S_ENOPREREQ (VEN_S_BASE+11)
     40 #define VEN_S_ECMDQFULL (VEN_S_BASE+12)
     41 #define VEN_S_ENOTSUPP (VEN_S_BASE+13)
     42 #define VEN_S_ENOTIMPL (VEN_S_BASE+14)
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define VEN_S_ENOTPMEM (VEN_S_BASE+15)
     45 #define VEN_S_EFLUSHED (VEN_S_BASE+16)
     46 #define VEN_S_EINSUFBUF (VEN_S_BASE+17)
     47 #define VEN_S_ESAMESTATE (VEN_S_BASE+18)
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define VEN_S_EINVALTRANS (VEN_S_BASE+19)
     50 #define VEN_INTF_VER 1
     51 #define VEN_MSG_INDICATION 0
     52 #define VEN_MSG_INPUT_BUFFER_DONE 1
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define VEN_MSG_OUTPUT_BUFFER_DONE 2
     55 #define VEN_MSG_NEED_OUTPUT_BUFFER 3
     56 #define VEN_MSG_FLUSH_INPUT_DONE 4
     57 #define VEN_MSG_FLUSH_OUPUT_DONE 5
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define VEN_MSG_START 6
     60 #define VEN_MSG_STOP 7
     61 #define VEN_MSG_PAUSE 8
     62 #define VEN_MSG_RESUME 9
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define VEN_MSG_STOP_READING_MSG 10
     65 #define VEN_MSG_LTRUSE_FAILED 11
     66 #define VEN_MSG_HW_OVERLOAD 12
     67 #define VEN_MSG_MAX_CLIENTS 13
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define VEN_BUFFLAG_EOS 0x00000001
     70 #define VEN_BUFFLAG_ENDOFFRAME 0x00000010
     71 #define VEN_BUFFLAG_SYNCFRAME 0x00000020
     72 #define VEN_BUFFLAG_EXTRADATA 0x00000040
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define VEN_BUFFLAG_CODECCONFIG 0x00000080
     75 #define VEN_EXTRADATA_NONE 0x001
     76 #define VEN_EXTRADATA_QCOMFILLER 0x002
     77 #define VEN_EXTRADATA_SLICEINFO 0x100
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define VEN_EXTRADATA_LTRINFO 0x200
     80 #define VEN_EXTRADATA_MBINFO 0x400
     81 #define VEN_FRAME_TYPE_I 1
     82 #define VEN_FRAME_TYPE_P 2
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define VEN_FRAME_TYPE_B 3
     85 #define VEN_CODEC_MPEG4 1
     86 #define VEN_CODEC_H264 2
     87 #define VEN_CODEC_H263 3
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define VEN_PROFILE_MPEG4_SP 1
     90 #define VEN_PROFILE_MPEG4_ASP 2
     91 #define VEN_PROFILE_H264_BASELINE 3
     92 #define VEN_PROFILE_H264_MAIN 4
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define VEN_PROFILE_H264_HIGH 5
     95 #define VEN_PROFILE_H263_BASELINE 6
     96 #define VEN_LEVEL_MPEG4_0 0x1
     97 #define VEN_LEVEL_MPEG4_1 0x2
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define VEN_LEVEL_MPEG4_2 0x3
    100 #define VEN_LEVEL_MPEG4_3 0x4
    101 #define VEN_LEVEL_MPEG4_4 0x5
    102 #define VEN_LEVEL_MPEG4_5 0x6
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define VEN_LEVEL_MPEG4_3b 0x7
    105 #define VEN_LEVEL_MPEG4_6 0x8
    106 #define VEN_LEVEL_H264_1 0x9
    107 #define VEN_LEVEL_H264_1b 0xA
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 #define VEN_LEVEL_H264_1p1 0xB
    110 #define VEN_LEVEL_H264_1p2 0xC
    111 #define VEN_LEVEL_H264_1p3 0xD
    112 #define VEN_LEVEL_H264_2 0xE
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define VEN_LEVEL_H264_2p1 0xF
    115 #define VEN_LEVEL_H264_2p2 0x10
    116 #define VEN_LEVEL_H264_3 0x11
    117 #define VEN_LEVEL_H264_3p1 0x12
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define VEN_LEVEL_H264_3p2 0x13
    120 #define VEN_LEVEL_H264_4 0x14
    121 #define VEN_LEVEL_H263_10 0x15
    122 #define VEN_LEVEL_H263_20 0x16
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define VEN_LEVEL_H263_30 0x17
    125 #define VEN_LEVEL_H263_40 0x18
    126 #define VEN_LEVEL_H263_45 0x19
    127 #define VEN_LEVEL_H263_50 0x1A
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define VEN_LEVEL_H263_60 0x1B
    130 #define VEN_LEVEL_H263_70 0x1C
    131 #define VEN_ENTROPY_MODEL_CAVLC 1
    132 #define VEN_ENTROPY_MODEL_CABAC 2
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define VEN_CABAC_MODEL_0 1
    135 #define VEN_CABAC_MODEL_1 2
    136 #define VEN_CABAC_MODEL_2 3
    137 #define VEN_DB_DISABLE 1
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define VEN_DB_ALL_BLKG_BNDRY 2
    140 #define VEN_DB_SKIP_SLICE_BNDRY 3
    141 #define VEN_MSLICE_OFF 1
    142 #define VEN_MSLICE_CNT_MB 2
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 #define VEN_MSLICE_CNT_BYTE 3
    145 #define VEN_MSLICE_GOB 4
    146 #define VEN_RC_OFF 1
    147 #define VEN_RC_VBR_VFR 2
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define VEN_RC_VBR_CFR 3
    150 #define VEN_RC_CBR_VFR 4
    151 #define VEN_RC_CBR_CFR 5
    152 #define VEN_FLUSH_INPUT 1
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define VEN_FLUSH_OUTPUT 2
    155 #define VEN_FLUSH_ALL 3
    156 #define VEN_INPUTFMT_NV12 1
    157 #define VEN_INPUTFMT_NV21 2
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define VEN_INPUTFMT_NV12_16M2KA 3
    160 #define VEN_ROTATION_0 1
    161 #define VEN_ROTATION_90 2
    162 #define VEN_ROTATION_180 3
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define VEN_ROTATION_270 4
    165 #define VEN_TIMEOUT_INFINITE 0xffffffff
    166 #define VEN_IR_OFF 1
    167 #define VEN_IR_CYCLIC 2
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define VEN_IR_RANDOM 3
    170 #define VEN_IOCTLBASE_NENC 0x800
    171 #define VEN_IOCTLBASE_ENC 0x850
    172 struct venc_ioctl_msg{
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174  void __user *in;
    175  void __user *out;
    176 };
    177 #define VEN_IOCTL_SET_INTF_VERSION   _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg)
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define VEN_IOCTL_CMD_READ_NEXT_MSG   _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg)
    180 #define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2)
    181 #define VEN_IOCTL_SET_INPUT_BUFFER_REQ   _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg)
    182 #define VEN_IOCTL_GET_INPUT_BUFFER_REQ   _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg)
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg)
    185 #define VEN_IOCTL_SET_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg)
    186 #define VEN_IOCTL_CMD_FREE_INPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg)
    187 #define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ   _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg)
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ   _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg)
    190 #define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg)
    191 #define VEN_IOCTL_SET_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg)
    192 #define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg)
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13)
    195 #define VEN_IOCTL_CMD_ENCODE_FRAME   _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg)
    196 #define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg)
    197 #define VEN_IOCTL_CMD_FLUSH   _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg)
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17)
    200 #define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18)
    201 #define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19)
    202 #define VEN_IOCTL_SET_RECON_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 20, struct venc_ioctl_msg)
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define VEN_IOCTL_FREE_RECON_BUFFER   _IOW(VEN_IOCTLBASE_NENC, 21, struct venc_ioctl_msg)
    205 #define VEN_IOCTL_GET_RECON_BUFFER_SIZE   _IOW(VEN_IOCTLBASE_NENC, 22, struct venc_ioctl_msg)
    206 #define VEN_IOCTL_SET_BASE_CFG   _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg)
    207 #define VEN_IOCTL_GET_BASE_CFG   _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg)
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209 #define VEN_IOCTL_SET_LIVE_MODE   _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg)
    210 #define VEN_IOCTL_GET_LIVE_MODE   _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg)
    211 #define VEN_IOCTL_SET_CODEC_PROFILE   _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg)
    212 #define VEN_IOCTL_GET_CODEC_PROFILE   _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg)
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 #define VEN_IOCTL_SET_PROFILE_LEVEL   _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg)
    215 #define VEN_IOCTL_GET_PROFILE_LEVEL   _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg)
    216 #define VEN_IOCTL_SET_SHORT_HDR   _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg)
    217 #define VEN_IOCTL_GET_SHORT_HDR   _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg)
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 #define VEN_IOCTL_SET_SESSION_QP   _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg)
    220 #define VEN_IOCTL_GET_SESSION_QP   _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg)
    221 #define VEN_IOCTL_SET_INTRA_PERIOD   _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg)
    222 #define VEN_IOCTL_GET_INTRA_PERIOD   _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg)
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15)
    225 #define VEN_IOCTL_GET_CAPABILITY   _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg)
    226 #define VEN_IOCTL_GET_SEQUENCE_HDR   _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg)
    227 #define VEN_IOCTL_SET_ENTROPY_CFG   _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg)
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 #define VEN_IOCTL_GET_ENTROPY_CFG   _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg)
    230 #define VEN_IOCTL_SET_DEBLOCKING_CFG   _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg)
    231 #define VEN_IOCTL_GET_DEBLOCKING_CFG   _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg)
    232 #define VEN_IOCTL_SET_INTRA_REFRESH   _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg)
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 #define VEN_IOCTL_GET_INTRA_REFRESH   _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg)
    235 #define VEN_IOCTL_SET_MULTI_SLICE_CFG   _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg)
    236 #define VEN_IOCTL_GET_MULTI_SLICE_CFG   _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg)
    237 #define VEN_IOCTL_SET_RATE_CTRL_CFG   _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg)
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define VEN_IOCTL_GET_RATE_CTRL_CFG   _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg)
    240 #define VEN_IOCTL_SET_VOP_TIMING_CFG   _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg)
    241 #define VEN_IOCTL_GET_VOP_TIMING_CFG   _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg)
    242 #define VEN_IOCTL_SET_FRAME_RATE   _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg)
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 #define VEN_IOCTL_GET_FRAME_RATE   _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg)
    245 #define VEN_IOCTL_SET_TARGET_BITRATE   _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg)
    246 #define VEN_IOCTL_GET_TARGET_BITRATE   _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg)
    247 #define VEN_IOCTL_SET_ROTATION   _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg)
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249 #define VEN_IOCTL_GET_ROTATION   _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg)
    250 #define VEN_IOCTL_SET_HEC   _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg)
    251 #define VEN_IOCTL_GET_HEC   _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg)
    252 #define VEN_IOCTL_SET_DATA_PARTITION   _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg)
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 #define VEN_IOCTL_GET_DATA_PARTITION   _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg)
    255 #define VEN_IOCTL_SET_RVLC   _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg)
    256 #define VEN_IOCTL_GET_RVLC   _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg)
    257 #define VEN_IOCTL_SET_AC_PREDICTION   _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg)
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259 #define VEN_IOCTL_GET_AC_PREDICTION   _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg)
    260 #define VEN_IOCTL_SET_QP_RANGE   _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg)
    261 #define VEN_IOCTL_GET_QP_RANGE   _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg)
    262 #define VEN_IOCTL_GET_NUMBER_INSTANCES   _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg)
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 #define VEN_IOCTL_SET_METABUFFER_MODE   _IOW(VEN_IOCTLBASE_ENC, 47, struct venc_ioctl_msg)
    265 #define VEN_IOCTL_SET_EXTRADATA   _IOW(VEN_IOCTLBASE_ENC, 48, struct venc_ioctl_msg)
    266 #define VEN_IOCTL_GET_EXTRADATA   _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg)
    267 #define VEN_IOCTL_SET_SLICE_DELIVERY_MODE   _IO(VEN_IOCTLBASE_ENC, 50)
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269 #define VEN_IOCTL_SET_H263_PLUSPTYPE   _IOW(VEN_IOCTLBASE_ENC, 51, struct venc_ioctl_msg)
    270 #define VEN_IOCTL_SET_CAPABILITY_LTRCOUNT   _IOW(VEN_IOCTLBASE_ENC, 52, struct venc_ioctl_msg)
    271 #define VEN_IOCTL_GET_CAPABILITY_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 53, struct venc_ioctl_msg)
    272 #define VEN_IOCTL_SET_LTRMODE   _IOW(VEN_IOCTLBASE_ENC, 54, struct venc_ioctl_msg)
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 #define VEN_IOCTL_GET_LTRMODE   _IOR(VEN_IOCTLBASE_ENC, 55, struct venc_ioctl_msg)
    275 #define VEN_IOCTL_SET_LTRCOUNT   _IOW(VEN_IOCTLBASE_ENC, 56, struct venc_ioctl_msg)
    276 #define VEN_IOCTL_GET_LTRCOUNT   _IOR(VEN_IOCTLBASE_ENC, 57, struct venc_ioctl_msg)
    277 #define VEN_IOCTL_SET_LTRPERIOD   _IOW(VEN_IOCTLBASE_ENC, 58, struct venc_ioctl_msg)
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279 #define VEN_IOCTL_GET_LTRPERIOD   _IOR(VEN_IOCTLBASE_ENC, 59, struct venc_ioctl_msg)
    280 #define VEN_IOCTL_SET_LTRUSE   _IOW(VEN_IOCTLBASE_ENC, 60, struct venc_ioctl_msg)
    281 #define VEN_IOCTL_GET_LTRUSE   _IOR(VEN_IOCTLBASE_ENC, 61, struct venc_ioctl_msg)
    282 #define VEN_IOCTL_SET_LTRMARK   _IOW(VEN_IOCTLBASE_ENC, 62, struct venc_ioctl_msg)
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 #define VEN_IOCTL_GET_LTRMARK   _IOR(VEN_IOCTLBASE_ENC, 63, struct venc_ioctl_msg)
    285 #define VEN_IOCTL_SET_SPS_PPS_FOR_IDR   _IOW(VEN_IOCTLBASE_ENC, 64, struct venc_ioctl_msg)
    286 struct venc_range {
    287  unsigned long max;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  unsigned long min;
    290  unsigned long step_size;
    291 };
    292 struct venc_switch{
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  unsigned char status;
    295 };
    296 struct venc_allocatorproperty{
    297  unsigned long mincount;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  unsigned long maxcount;
    300  unsigned long actualcount;
    301  unsigned long datasize;
    302  unsigned long suffixsize;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  unsigned long alignment;
    305  unsigned long bufpoolid;
    306 };
    307 struct venc_bufferpayload{
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  unsigned char *pbuffer;
    310  size_t sz;
    311  int fd;
    312  unsigned int offset;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  unsigned int maped_size;
    315  unsigned long filled_len;
    316 };
    317 struct venc_buffer{
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319  unsigned char *ptrbuffer;
    320  unsigned long sz;
    321  unsigned long len;
    322  unsigned long offset;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  long long timestamp;
    325  unsigned long flags;
    326  void *clientdata;
    327 };
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 struct venc_basecfg{
    330  unsigned long input_width;
    331  unsigned long input_height;
    332  unsigned long dvs_width;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  unsigned long dvs_height;
    335  unsigned long codectype;
    336  unsigned long fps_num;
    337  unsigned long fps_den;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  unsigned long targetbitrate;
    340  unsigned long inputformat;
    341 };
    342 struct venc_profile{
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  unsigned long profile;
    345 };
    346 struct ven_profilelevel{
    347  unsigned long level;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 };
    350 struct venc_sessionqp{
    351  unsigned long iframeqp;
    352  unsigned long pframqp;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354 };
    355 struct venc_qprange{
    356  unsigned long maxqp;
    357  unsigned long minqp;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359 };
    360 struct venc_plusptype {
    361  unsigned long plusptype_enable;
    362 };
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 struct venc_intraperiod{
    365  unsigned long num_pframes;
    366  unsigned long num_bframes;
    367 };
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369 struct venc_seqheader{
    370  unsigned char *hdrbufptr;
    371  unsigned long bufsize;
    372  unsigned long hdrlen;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374 };
    375 struct venc_capability{
    376  unsigned long codec_types;
    377  unsigned long maxframe_width;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379  unsigned long maxframe_height;
    380  unsigned long maxtarget_bitrate;
    381  unsigned long maxframe_rate;
    382  unsigned long input_formats;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  unsigned char dvs;
    385 };
    386 struct venc_entropycfg{
    387  unsigned longentropysel;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  unsigned long cabacmodel;
    390 };
    391 struct venc_dbcfg{
    392  unsigned long db_mode;
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  unsigned long slicealpha_offset;
    395  unsigned long slicebeta_offset;
    396 };
    397 struct venc_intrarefresh{
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  unsigned long irmode;
    400  unsigned long mbcount;
    401 };
    402 struct venc_multiclicecfg{
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  unsigned long mslice_mode;
    405  unsigned long mslice_size;
    406 };
    407 struct venc_bufferflush{
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  unsigned long flush_mode;
    410 };
    411 struct venc_ratectrlcfg{
    412  unsigned long rcmode;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 };
    415 struct venc_voptimingcfg{
    416  unsigned long voptime_resolution;
    417 };
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419 struct venc_framerate{
    420  unsigned long fps_denominator;
    421  unsigned long fps_numerator;
    422 };
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 struct venc_targetbitrate{
    425  unsigned long target_bitrate;
    426 };
    427 struct venc_rotation{
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  unsigned long rotation;
    430 };
    431 struct venc_timeout{
    432  unsigned long millisec;
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 };
    435 struct venc_headerextension{
    436  unsigned long header_extension;
    437 };
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 struct venc_msg{
    440  unsigned long statuscode;
    441  unsigned long msgcode;
    442  struct venc_buffer buf;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444  unsigned long msgdata_size;
    445 };
    446 struct venc_recon_addr{
    447  unsigned char *pbuffer;
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  unsigned long buffer_size;
    450  unsigned long pmem_fd;
    451  unsigned long offset;
    452 };
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 struct venc_recon_buff_size{
    455  int width;
    456  int height;
    457  int size;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459  int alignment;
    460 };
    461 struct venc_ltrmode {
    462  unsigned long ltr_mode;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464 };
    465 struct venc_ltrcount {
    466  unsigned long ltr_count;
    467 };
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469 struct venc_ltrperiod {
    470  unsigned long ltr_period;
    471 };
    472 struct venc_ltruse {
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  unsigned long ltr_id;
    475  unsigned long ltr_frames;
    476 };
    477 #endif
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479 
    480