blob: 87b81d59b643f87721b56a5eff0444ea54197db8 [file] [log] [blame]
Nick Pelly21baae32010-06-23 16:17:58 -07001/****************************************************************************
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 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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 ***
Nick Pelly21baae32010-06-23 16:17:58 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _MSM_VIDC_ENC_H_
20#define _MSM_VIDC_ENC_H_
Nick Pelly21baae32010-06-23 16:17:58 -070021#include <linux/types.h>
22#include <linux/ioctl.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070024#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)
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070029#define VEN_S_EBADPARAM (VEN_S_BASE+3)
Nick Pelly21baae32010-06-23 16:17:58 -070030#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)
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070034#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)
Nick Pelly21baae32010-06-23 16:17:58 -070037#define VEN_S_ENOREATMPT (VEN_S_BASE+10)
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070039#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)
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070044#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)
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070049#define VEN_S_EINVALTRANS (VEN_S_BASE+19)
Nick Pelly21baae32010-06-23 16:17:58 -070050#define VEN_INTF_VER 1
Nick Pelly21baae32010-06-23 16:17:58 -070051#define VEN_MSG_INDICATION 0
52#define VEN_MSG_INPUT_BUFFER_DONE 1
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070054#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
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070059#define VEN_MSG_START 6
60#define VEN_MSG_STOP 7
61#define VEN_MSG_PAUSE 8
62#define VEN_MSG_RESUME 9
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070064#define VEN_MSG_STOP_READING_MSG 10
Nick Pelly21baae32010-06-23 16:17:58 -070065#define VEN_BUFFLAG_EOS 0x00000001
66#define VEN_BUFFLAG_ENDOFFRAME 0x00000010
67#define VEN_BUFFLAG_SYNCFRAME 0x00000020
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070069#define VEN_BUFFLAG_EXTRADATA 0x00000040
70#define VEN_BUFFLAG_CODECCONFIG 0x00000080
Nick Pelly21baae32010-06-23 16:17:58 -070071#define VEN_FRAME_TYPE_I 1
72#define VEN_FRAME_TYPE_P 2
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070074#define VEN_FRAME_TYPE_B 3
Nick Pelly21baae32010-06-23 16:17:58 -070075#define VEN_CODEC_MPEG4 1
76#define VEN_CODEC_H264 2
77#define VEN_CODEC_H263 3
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070079#define VEN_PROFILE_MPEG4_SP 1
80#define VEN_PROFILE_MPEG4_ASP 2
81#define VEN_PROFILE_H264_BASELINE 3
82#define VEN_PROFILE_H264_MAIN 4
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070084#define VEN_PROFILE_H264_HIGH 5
85#define VEN_PROFILE_H263_BASELINE 6
Nick Pelly21baae32010-06-23 16:17:58 -070086#define VEN_LEVEL_MPEG4_0 0x1
87#define VEN_LEVEL_MPEG4_1 0x2
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070089#define VEN_LEVEL_MPEG4_2 0x3
90#define VEN_LEVEL_MPEG4_3 0x4
91#define VEN_LEVEL_MPEG4_4 0x5
92#define VEN_LEVEL_MPEG4_5 0x6
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070094#define VEN_LEVEL_MPEG4_3b 0x7
95#define VEN_LEVEL_MPEG4_6 0x8
Nick Pelly21baae32010-06-23 16:17:58 -070096#define VEN_LEVEL_H264_1 0x9
97#define VEN_LEVEL_H264_1b 0xA
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070099#define VEN_LEVEL_H264_1p1 0xB
100#define VEN_LEVEL_H264_1p2 0xC
101#define VEN_LEVEL_H264_1p3 0xD
102#define VEN_LEVEL_H264_2 0xE
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700104#define VEN_LEVEL_H264_2p1 0xF
105#define VEN_LEVEL_H264_2p2 0x10
106#define VEN_LEVEL_H264_3 0x11
107#define VEN_LEVEL_H264_3p1 0x12
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700109#define VEN_LEVEL_H263_10 0x13
110#define VEN_LEVEL_H263_20 0x14
111#define VEN_LEVEL_H263_30 0x15
112#define VEN_LEVEL_H263_40 0x16
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700114#define VEN_LEVEL_H263_45 0x17
115#define VEN_LEVEL_H263_50 0x18
116#define VEN_LEVEL_H263_60 0x19
117#define VEN_LEVEL_H263_70 0x1A
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700119#define VEN_ENTROPY_MODEL_CAVLC 1
120#define VEN_ENTROPY_MODEL_CABAC 2
Nick Pelly21baae32010-06-23 16:17:58 -0700121#define VEN_CABAC_MODEL_0 1
122#define VEN_CABAC_MODEL_1 2
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700124#define VEN_CABAC_MODEL_2 3
Nick Pelly21baae32010-06-23 16:17:58 -0700125#define VEN_DB_DISABLE 1
126#define VEN_DB_ALL_BLKG_BNDRY 2
127#define VEN_DB_SKIP_SLICE_BNDRY 3
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700129#define VEN_MSLICE_OFF 1
130#define VEN_MSLICE_CNT_MB 2
131#define VEN_MSLICE_CNT_BYTE 3
132#define VEN_MSLICE_GOB 4
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700134#define VEN_RC_OFF 1
135#define VEN_RC_VBR_VFR 2
136#define VEN_RC_VBR_CFR 3
137#define VEN_RC_CBR_VFR 4
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700139#define VEN_FLUSH_INPUT 1
140#define VEN_FLUSH_OUTPUT 2
141#define VEN_FLUSH_ALL 3
Nick Pelly21baae32010-06-23 16:17:58 -0700142#define VEN_INPUTFMT_NV12 1
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700144#define VEN_INPUTFMT_NV21 2
Nick Pelly21baae32010-06-23 16:17:58 -0700145#define VEN_ROTATION_0 1
146#define VEN_ROTATION_90 2
147#define VEN_ROTATION_180 3
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700149#define VEN_ROTATION_270 4
Nick Pelly21baae32010-06-23 16:17:58 -0700150#define VEN_TIMEOUT_INFINITE 0xffffffff
Nick Pelly21baae32010-06-23 16:17:58 -0700151#define VEN_IR_OFF 1
152#define VEN_IR_CYCLIC 2
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700154#define VEN_IR_RANDOM 3
Nick Pelly21baae32010-06-23 16:17:58 -0700155#define VEN_IOCTLBASE_NENC 0x800
Nick Pelly21baae32010-06-23 16:17:58 -0700156#define VEN_IOCTLBASE_ENC 0x850
Nick Pelly21baae32010-06-23 16:17:58 -0700157struct venc_ioctl_msg{
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700159 void *inputparam;
160 void *outputparam;
161};
Nick Pelly21baae32010-06-23 16:17:58 -0700162#define VEN_IOCTL_SET_INTF_VERSION _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700164#define VEN_IOCTL_CMD_READ_NEXT_MSG _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700165#define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2)
Nick Pelly21baae32010-06-23 16:17:58 -0700166#define VEN_IOCTL_SET_INPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg)
167#define VEN_IOCTL_GET_INPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700169#define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700170#define VEN_IOCTL_SET_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700171#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700172#define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700174#define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700175#define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700176#define VEN_IOCTL_SET_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700177#define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700179#define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13)
Nick Pelly21baae32010-06-23 16:17:58 -0700180#define VEN_IOCTL_CMD_ENCODE_FRAME _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700181#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700182#define VEN_IOCTL_CMD_FLUSH _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700184#define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17)
Nick Pelly21baae32010-06-23 16:17:58 -0700185#define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18)
Nick Pelly21baae32010-06-23 16:17:58 -0700186#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19)
Nick Pelly21baae32010-06-23 16:17:58 -0700187#define VEN_IOCTL_SET_BASE_CFG _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700189#define VEN_IOCTL_GET_BASE_CFG _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700190#define VEN_IOCTL_SET_LIVE_MODE _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg)
191#define VEN_IOCTL_GET_LIVE_MODE _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700192#define VEN_IOCTL_SET_CODEC_PROFILE _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700194#define VEN_IOCTL_GET_CODEC_PROFILE _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700195#define VEN_IOCTL_SET_PROFILE_LEVEL _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700196#define VEN_IOCTL_GET_PROFILE_LEVEL _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700197#define VEN_IOCTL_SET_SHORT_HDR _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700199#define VEN_IOCTL_GET_SHORT_HDR _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700200#define VEN_IOCTL_SET_SESSION_QP _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg)
201#define VEN_IOCTL_GET_SESSION_QP _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700202#define VEN_IOCTL_SET_INTRA_PERIOD _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700204#define VEN_IOCTL_GET_INTRA_PERIOD _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700205#define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15)
Nick Pelly21baae32010-06-23 16:17:58 -0700206#define VEN_IOCTL_GET_CAPABILITY _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700207#define VEN_IOCTL_GET_SEQUENCE_HDR _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700209#define VEN_IOCTL_SET_ENTROPY_CFG _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg)
210#define VEN_IOCTL_GET_ENTROPY_CFG _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700211#define VEN_IOCTL_SET_DEBLOCKING_CFG _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg)
212#define VEN_IOCTL_GET_DEBLOCKING_CFG _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700214#define VEN_IOCTL_SET_INTRA_REFRESH _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg)
215#define VEN_IOCTL_GET_INTRA_REFRESH _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700216#define VEN_IOCTL_SET_MULTI_SLICE_CFG _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg)
217#define VEN_IOCTL_GET_MULTI_SLICE_CFG _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700219#define VEN_IOCTL_SET_RATE_CTRL_CFG _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg)
220#define VEN_IOCTL_GET_RATE_CTRL_CFG _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700221#define VEN_IOCTL_SET_VOP_TIMING_CFG _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg)
222#define VEN_IOCTL_GET_VOP_TIMING_CFG _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700224#define VEN_IOCTL_SET_FRAME_RATE _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg)
225#define VEN_IOCTL_GET_FRAME_RATE _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700226#define VEN_IOCTL_SET_TARGET_BITRATE _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg)
227#define VEN_IOCTL_GET_TARGET_BITRATE _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700229#define VEN_IOCTL_SET_ROTATION _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg)
230#define VEN_IOCTL_GET_ROTATION _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700231#define VEN_IOCTL_SET_HEC _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg)
232#define VEN_IOCTL_GET_HEC _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700234#define VEN_IOCTL_SET_DATA_PARTITION _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg)
235#define VEN_IOCTL_GET_DATA_PARTITION _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700236#define VEN_IOCTL_SET_RVLC _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg)
237#define VEN_IOCTL_GET_RVLC _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700239#define VEN_IOCTL_SET_AC_PREDICTION _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg)
240#define VEN_IOCTL_GET_AC_PREDICTION _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700241#define VEN_IOCTL_SET_QP_RANGE _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg)
242#define VEN_IOCTL_GET_QP_RANGE _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700244struct venc_switch{
245 unsigned char status;
246};
Nick Pelly21baae32010-06-23 16:17:58 -0700247struct venc_allocatorproperty{
Ben Cheng654325d2012-03-07 21:13:49 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700249 unsigned long mincount;
250 unsigned long maxcount;
251 unsigned long actualcount;
252 unsigned long datasize;
Ben Cheng654325d2012-03-07 21:13:49 -0800253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700254 unsigned long suffixsize;
255 unsigned long alignment;
256 unsigned long bufpoolid;
257};
Ben Cheng654325d2012-03-07 21:13:49 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700259struct venc_bufferpayload{
260 unsigned char *pbuffer;
261 unsigned long nsize;
262 int fd;
Ben Cheng654325d2012-03-07 21:13:49 -0800263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700264 unsigned int offset;
265 unsigned int maped_size;
266 unsigned long filled_len;
267};
Ben Cheng654325d2012-03-07 21:13:49 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700269struct venc_buffer{
270 unsigned char *ptrbuffer;
271 unsigned long size;
272 unsigned long len;
Ben Cheng654325d2012-03-07 21:13:49 -0800273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700274 unsigned long offset;
275 long long timestamp;
276 unsigned long flags;
277 void *clientdata;
Ben Cheng654325d2012-03-07 21:13:49 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700279};
Nick Pelly21baae32010-06-23 16:17:58 -0700280struct venc_basecfg{
281 unsigned long input_width;
282 unsigned long input_height;
Ben Cheng654325d2012-03-07 21:13:49 -0800283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700284 unsigned long dvs_width;
285 unsigned long dvs_height;
286 unsigned long codectype;
287 unsigned long fps_num;
Ben Cheng654325d2012-03-07 21:13:49 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700289 unsigned long fps_den;
290 unsigned long targetbitrate;
291 unsigned long inputformat;
292};
Ben Cheng654325d2012-03-07 21:13:49 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700294struct venc_profile{
295 unsigned long profile;
296};
297struct ven_profilelevel{
Ben Cheng654325d2012-03-07 21:13:49 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700299 unsigned long level;
300};
Nick Pelly21baae32010-06-23 16:17:58 -0700301struct venc_sessionqp{
302 unsigned long iframeqp;
Ben Cheng654325d2012-03-07 21:13:49 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700304 unsigned long pframqp;
305};
Nick Pelly21baae32010-06-23 16:17:58 -0700306struct venc_qprange{
307 unsigned long maxqp;
Ben Cheng654325d2012-03-07 21:13:49 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700309 unsigned long minqp;
310};
311struct venc_intraperiod{
312 unsigned long num_pframes;
Ben Cheng654325d2012-03-07 21:13:49 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700314};
315struct venc_seqheader{
316 unsigned char *hdrbufptr;
317 unsigned long bufsize;
Ben Cheng654325d2012-03-07 21:13:49 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700319 unsigned long hdrlen;
320};
Nick Pelly21baae32010-06-23 16:17:58 -0700321struct venc_capability{
322 unsigned long codec_types;
Ben Cheng654325d2012-03-07 21:13:49 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700324 unsigned long maxframe_width;
325 unsigned long maxframe_height;
326 unsigned long maxtarget_bitrate;
327 unsigned long maxframe_rate;
Ben Cheng654325d2012-03-07 21:13:49 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700329 unsigned long input_formats;
330 unsigned char dvs;
331};
Nick Pelly21baae32010-06-23 16:17:58 -0700332struct venc_entropycfg{
Ben Cheng654325d2012-03-07 21:13:49 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700334 unsigned longentropysel;
335 unsigned long cabacmodel;
336};
Nick Pelly21baae32010-06-23 16:17:58 -0700337struct venc_dbcfg{
Ben Cheng654325d2012-03-07 21:13:49 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700339 unsigned long db_mode;
340 unsigned long slicealpha_offset;
341 unsigned long slicebeta_offset;
342};
Ben Cheng654325d2012-03-07 21:13:49 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700344struct venc_intrarefresh{
345 unsigned long irmode;
346 unsigned long mbcount;
347};
Ben Cheng654325d2012-03-07 21:13:49 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700349struct venc_multiclicecfg{
350 unsigned long mslice_mode;
351 unsigned long mslice_size;
352};
Ben Cheng654325d2012-03-07 21:13:49 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700354struct venc_bufferflush{
355 unsigned long flush_mode;
356};
Nick Pelly21baae32010-06-23 16:17:58 -0700357struct venc_ratectrlcfg{
Ben Cheng654325d2012-03-07 21:13:49 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700359 unsigned long rcmode;
360};
Nick Pelly21baae32010-06-23 16:17:58 -0700361struct venc_voptimingcfg{
362 unsigned long voptime_resolution;
Ben Cheng654325d2012-03-07 21:13:49 -0800363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700364};
365struct venc_framerate{
366 unsigned long fps_denominator;
367 unsigned long fps_numerator;
Ben Cheng654325d2012-03-07 21:13:49 -0800368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700369};
Nick Pelly21baae32010-06-23 16:17:58 -0700370struct venc_targetbitrate{
371 unsigned long target_bitrate;
372};
Ben Cheng654325d2012-03-07 21:13:49 -0800373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700374struct venc_rotation{
375 unsigned long rotation;
376};
Nick Pelly21baae32010-06-23 16:17:58 -0700377struct venc_timeout{
Ben Cheng654325d2012-03-07 21:13:49 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700379 unsigned long millisec;
380};
Nick Pelly21baae32010-06-23 16:17:58 -0700381struct venc_headerextension{
382 unsigned long header_extension;
Ben Cheng654325d2012-03-07 21:13:49 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700384};
Nick Pelly21baae32010-06-23 16:17:58 -0700385struct venc_msg{
386 unsigned long statuscode;
387 unsigned long msgcode;
Ben Cheng654325d2012-03-07 21:13:49 -0800388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700389 struct venc_buffer buf;
390 unsigned long msgdata_size;
391};
392#endif
Ben Cheng654325d2012-03-07 21:13:49 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */