blob: 2325686807fe3a71e02e532e57f5da02a465b319 [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
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070071#define VEN_EXTRADATA_NONE 0x001
72#define VEN_EXTRADATA_QCOMFILLER 0x002
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define VEN_EXTRADATA_SLICEINFO 0x100
Nick Pelly21baae32010-06-23 16:17:58 -070075#define VEN_FRAME_TYPE_I 1
76#define VEN_FRAME_TYPE_P 2
77#define VEN_FRAME_TYPE_B 3
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070079#define VEN_CODEC_MPEG4 1
80#define VEN_CODEC_H264 2
81#define VEN_CODEC_H263 3
Nick Pelly21baae32010-06-23 16:17:58 -070082#define VEN_PROFILE_MPEG4_SP 1
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070084#define VEN_PROFILE_MPEG4_ASP 2
85#define VEN_PROFILE_H264_BASELINE 3
86#define VEN_PROFILE_H264_MAIN 4
87#define VEN_PROFILE_H264_HIGH 5
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070089#define VEN_PROFILE_H263_BASELINE 6
Nick Pelly21baae32010-06-23 16:17:58 -070090#define VEN_LEVEL_MPEG4_0 0x1
91#define VEN_LEVEL_MPEG4_1 0x2
92#define VEN_LEVEL_MPEG4_2 0x3
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070094#define VEN_LEVEL_MPEG4_3 0x4
95#define VEN_LEVEL_MPEG4_4 0x5
96#define VEN_LEVEL_MPEG4_5 0x6
97#define VEN_LEVEL_MPEG4_3b 0x7
Haynes Mathew George3fad2b12012-06-19 21:50:38 -070098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -070099#define VEN_LEVEL_MPEG4_6 0x8
Nick Pelly21baae32010-06-23 16:17:58 -0700100#define VEN_LEVEL_H264_1 0x9
101#define VEN_LEVEL_H264_1b 0xA
102#define VEN_LEVEL_H264_1p1 0xB
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700104#define VEN_LEVEL_H264_1p2 0xC
105#define VEN_LEVEL_H264_1p3 0xD
106#define VEN_LEVEL_H264_2 0xE
107#define VEN_LEVEL_H264_2p1 0xF
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700109#define VEN_LEVEL_H264_2p2 0x10
110#define VEN_LEVEL_H264_3 0x11
111#define VEN_LEVEL_H264_3p1 0x12
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700112#define VEN_LEVEL_H264_3p2 0x13
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700114#define VEN_LEVEL_H264_4 0x14
115#define VEN_LEVEL_H263_10 0x15
116#define VEN_LEVEL_H263_20 0x16
117#define VEN_LEVEL_H263_30 0x17
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700119#define VEN_LEVEL_H263_40 0x18
120#define VEN_LEVEL_H263_45 0x19
121#define VEN_LEVEL_H263_50 0x1A
122#define VEN_LEVEL_H263_60 0x1B
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700124#define VEN_LEVEL_H263_70 0x1C
Nick Pelly21baae32010-06-23 16:17:58 -0700125#define VEN_ENTROPY_MODEL_CAVLC 1
126#define VEN_ENTROPY_MODEL_CABAC 2
Nick Pelly21baae32010-06-23 16:17:58 -0700127#define VEN_CABAC_MODEL_0 1
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700129#define VEN_CABAC_MODEL_1 2
Nick Pelly21baae32010-06-23 16:17:58 -0700130#define VEN_CABAC_MODEL_2 3
Nick Pelly21baae32010-06-23 16:17:58 -0700131#define VEN_DB_DISABLE 1
132#define VEN_DB_ALL_BLKG_BNDRY 2
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700134#define VEN_DB_SKIP_SLICE_BNDRY 3
Nick Pelly21baae32010-06-23 16:17:58 -0700135#define VEN_MSLICE_OFF 1
136#define VEN_MSLICE_CNT_MB 2
137#define VEN_MSLICE_CNT_BYTE 3
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700139#define VEN_MSLICE_GOB 4
Nick Pelly21baae32010-06-23 16:17:58 -0700140#define VEN_RC_OFF 1
141#define VEN_RC_VBR_VFR 2
142#define VEN_RC_VBR_CFR 3
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700144#define VEN_RC_CBR_VFR 4
145#define VEN_RC_CBR_CFR 5
Nick Pelly21baae32010-06-23 16:17:58 -0700146#define VEN_FLUSH_INPUT 1
147#define VEN_FLUSH_OUTPUT 2
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700149#define VEN_FLUSH_ALL 3
Nick Pelly21baae32010-06-23 16:17:58 -0700150#define VEN_INPUTFMT_NV12 1
151#define VEN_INPUTFMT_NV21 2
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700152#define VEN_INPUTFMT_NV12_16M2KA 3
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700154#define VEN_ROTATION_0 1
155#define VEN_ROTATION_90 2
156#define VEN_ROTATION_180 3
157#define VEN_ROTATION_270 4
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700159#define VEN_TIMEOUT_INFINITE 0xffffffff
Nick Pelly21baae32010-06-23 16:17:58 -0700160#define VEN_IR_OFF 1
161#define VEN_IR_CYCLIC 2
162#define VEN_IR_RANDOM 3
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700164#define VEN_IOCTLBASE_NENC 0x800
Nick Pelly21baae32010-06-23 16:17:58 -0700165#define VEN_IOCTLBASE_ENC 0x850
Nick Pelly21baae32010-06-23 16:17:58 -0700166struct venc_ioctl_msg{
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700167 void __user *in;
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700169 void __user *out;
Nick Pelly21baae32010-06-23 16:17:58 -0700170};
Nick Pelly21baae32010-06-23 16:17:58 -0700171#define VEN_IOCTL_SET_INTF_VERSION _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700172#define VEN_IOCTL_CMD_READ_NEXT_MSG _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700174#define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2)
Nick Pelly21baae32010-06-23 16:17:58 -0700175#define VEN_IOCTL_SET_INPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg)
176#define VEN_IOCTL_GET_INPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700177#define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700179#define VEN_IOCTL_SET_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700180#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700181#define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg)
182#define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700184#define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700185#define VEN_IOCTL_SET_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700186#define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700187#define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700189#define VEN_IOCTL_CMD_ENCODE_FRAME _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700190#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700191#define VEN_IOCTL_CMD_FLUSH _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700192#define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700194#define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18)
Nick Pelly21baae32010-06-23 16:17:58 -0700195#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700196#define VEN_IOCTL_SET_RECON_BUFFER _IOW(VEN_IOCTLBASE_NENC, 20, struct venc_ioctl_msg)
197#define VEN_IOCTL_FREE_RECON_BUFFER _IOW(VEN_IOCTLBASE_NENC, 21, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700199#define VEN_IOCTL_GET_RECON_BUFFER_SIZE _IOW(VEN_IOCTLBASE_NENC, 22, struct venc_ioctl_msg)
200#define VEN_IOCTL_SET_BASE_CFG _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700201#define VEN_IOCTL_GET_BASE_CFG _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700202#define VEN_IOCTL_SET_LIVE_MODE _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700204#define VEN_IOCTL_GET_LIVE_MODE _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700205#define VEN_IOCTL_SET_CODEC_PROFILE _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg)
206#define VEN_IOCTL_GET_CODEC_PROFILE _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700207#define VEN_IOCTL_SET_PROFILE_LEVEL _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700209#define VEN_IOCTL_GET_PROFILE_LEVEL _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700210#define VEN_IOCTL_SET_SHORT_HDR _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg)
211#define VEN_IOCTL_GET_SHORT_HDR _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700212#define VEN_IOCTL_SET_SESSION_QP _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700214#define VEN_IOCTL_GET_SESSION_QP _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700215#define VEN_IOCTL_SET_INTRA_PERIOD _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg)
216#define VEN_IOCTL_GET_INTRA_PERIOD _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700217#define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700219#define VEN_IOCTL_GET_CAPABILITY _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700220#define VEN_IOCTL_GET_SEQUENCE_HDR _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700221#define VEN_IOCTL_SET_ENTROPY_CFG _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg)
222#define VEN_IOCTL_GET_ENTROPY_CFG _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700224#define VEN_IOCTL_SET_DEBLOCKING_CFG _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg)
225#define VEN_IOCTL_GET_DEBLOCKING_CFG _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700226#define VEN_IOCTL_SET_INTRA_REFRESH _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg)
227#define VEN_IOCTL_GET_INTRA_REFRESH _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700229#define VEN_IOCTL_SET_MULTI_SLICE_CFG _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg)
230#define VEN_IOCTL_GET_MULTI_SLICE_CFG _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700231#define VEN_IOCTL_SET_RATE_CTRL_CFG _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg)
232#define VEN_IOCTL_GET_RATE_CTRL_CFG _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700234#define VEN_IOCTL_SET_VOP_TIMING_CFG _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg)
235#define VEN_IOCTL_GET_VOP_TIMING_CFG _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700236#define VEN_IOCTL_SET_FRAME_RATE _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg)
237#define VEN_IOCTL_GET_FRAME_RATE _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700239#define VEN_IOCTL_SET_TARGET_BITRATE _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg)
240#define VEN_IOCTL_GET_TARGET_BITRATE _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700241#define VEN_IOCTL_SET_ROTATION _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg)
242#define VEN_IOCTL_GET_ROTATION _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700244#define VEN_IOCTL_SET_HEC _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg)
245#define VEN_IOCTL_GET_HEC _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700246#define VEN_IOCTL_SET_DATA_PARTITION _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg)
247#define VEN_IOCTL_GET_DATA_PARTITION _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700249#define VEN_IOCTL_SET_RVLC _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg)
250#define VEN_IOCTL_GET_RVLC _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg)
Nick Pelly21baae32010-06-23 16:17:58 -0700251#define VEN_IOCTL_SET_AC_PREDICTION _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg)
252#define VEN_IOCTL_GET_AC_PREDICTION _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700254#define VEN_IOCTL_SET_QP_RANGE _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg)
255#define VEN_IOCTL_GET_QP_RANGE _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg)
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700256#define VEN_IOCTL_GET_NUMBER_INSTANCES _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg)
257#define VEN_IOCTL_SET_METABUFFER_MODE _IOW(VEN_IOCTLBASE_ENC, 47, struct venc_ioctl_msg)
Ben Cheng654325d2012-03-07 21:13:49 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700259#define VEN_IOCTL_SET_EXTRADATA _IOW(VEN_IOCTLBASE_ENC, 48, struct venc_ioctl_msg)
260#define VEN_IOCTL_GET_EXTRADATA _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg)
261#define VEN_IOCTL_SET_SLICE_DELIVERY_MODE _IO(VEN_IOCTLBASE_ENC, 50)
Nick Pelly21baae32010-06-23 16:17:58 -0700262struct venc_switch{
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700264 unsigned char status;
265};
Nick Pelly21baae32010-06-23 16:17:58 -0700266struct venc_allocatorproperty{
267 unsigned long mincount;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700269 unsigned long maxcount;
270 unsigned long actualcount;
271 unsigned long datasize;
272 unsigned long suffixsize;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700274 unsigned long alignment;
275 unsigned long bufpoolid;
276};
Nick Pelly21baae32010-06-23 16:17:58 -0700277struct venc_bufferpayload{
Ben Cheng654325d2012-03-07 21:13:49 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700279 unsigned char *pbuffer;
280 size_t sz;
281 int fd;
Nick Pelly21baae32010-06-23 16:17:58 -0700282 unsigned int offset;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700284 unsigned int maped_size;
285 unsigned long filled_len;
286};
Nick Pelly21baae32010-06-23 16:17:58 -0700287struct venc_buffer{
Ben Cheng654325d2012-03-07 21:13:49 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700289 unsigned char *ptrbuffer;
290 unsigned long sz;
291 unsigned long len;
Nick Pelly21baae32010-06-23 16:17:58 -0700292 unsigned long offset;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700294 long long timestamp;
295 unsigned long flags;
296 void *clientdata;
297};
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700299struct venc_basecfg{
300 unsigned long input_width;
301 unsigned long input_height;
302 unsigned long dvs_width;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700304 unsigned long dvs_height;
305 unsigned long codectype;
306 unsigned long fps_num;
307 unsigned long fps_den;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700309 unsigned long targetbitrate;
310 unsigned long inputformat;
311};
Nick Pelly21baae32010-06-23 16:17:58 -0700312struct venc_profile{
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700314 unsigned long profile;
315};
316struct ven_profilelevel{
317 unsigned long level;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700319};
Nick Pelly21baae32010-06-23 16:17:58 -0700320struct venc_sessionqp{
321 unsigned long iframeqp;
322 unsigned long pframqp;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700324};
Nick Pelly21baae32010-06-23 16:17:58 -0700325struct venc_qprange{
326 unsigned long maxqp;
327 unsigned long minqp;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700329};
330struct venc_intraperiod{
331 unsigned long num_pframes;
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700332 unsigned long num_bframes;
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};
335struct venc_seqheader{
336 unsigned char *hdrbufptr;
337 unsigned long bufsize;
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 hdrlen;
340};
Nick Pelly21baae32010-06-23 16:17:58 -0700341struct venc_capability{
342 unsigned long codec_types;
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 -0700344 unsigned long maxframe_width;
345 unsigned long maxframe_height;
346 unsigned long maxtarget_bitrate;
347 unsigned long maxframe_rate;
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 -0700349 unsigned long input_formats;
350 unsigned char dvs;
351};
Nick Pelly21baae32010-06-23 16:17:58 -0700352struct venc_entropycfg{
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 -0700354 unsigned longentropysel;
355 unsigned long cabacmodel;
356};
Nick Pelly21baae32010-06-23 16:17:58 -0700357struct venc_dbcfg{
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 db_mode;
360 unsigned long slicealpha_offset;
361 unsigned long slicebeta_offset;
362};
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 -0700364struct venc_intrarefresh{
365 unsigned long irmode;
366 unsigned long mbcount;
367};
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 -0700369struct venc_multiclicecfg{
370 unsigned long mslice_mode;
371 unsigned long mslice_size;
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_bufferflush{
375 unsigned long flush_mode;
376};
Nick Pelly21baae32010-06-23 16:17:58 -0700377struct venc_ratectrlcfg{
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 rcmode;
380};
Nick Pelly21baae32010-06-23 16:17:58 -0700381struct venc_voptimingcfg{
382 unsigned long voptime_resolution;
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};
385struct venc_framerate{
386 unsigned long fps_denominator;
387 unsigned long fps_numerator;
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};
Nick Pelly21baae32010-06-23 16:17:58 -0700390struct venc_targetbitrate{
391 unsigned long target_bitrate;
392};
Ben Cheng654325d2012-03-07 21:13:49 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700394struct venc_rotation{
395 unsigned long rotation;
396};
Nick Pelly21baae32010-06-23 16:17:58 -0700397struct venc_timeout{
Ben Cheng654325d2012-03-07 21:13:49 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700399 unsigned long millisec;
400};
Nick Pelly21baae32010-06-23 16:17:58 -0700401struct venc_headerextension{
402 unsigned long header_extension;
Ben Cheng654325d2012-03-07 21:13:49 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700404};
Nick Pelly21baae32010-06-23 16:17:58 -0700405struct venc_msg{
406 unsigned long statuscode;
407 unsigned long msgcode;
Ben Cheng654325d2012-03-07 21:13:49 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Nick Pelly21baae32010-06-23 16:17:58 -0700409 struct venc_buffer buf;
410 unsigned long msgdata_size;
411};
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700412struct venc_recon_addr{
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 unsigned char *pbuffer;
415 unsigned long buffer_size;
416 unsigned long pmem_fd;
417 unsigned long offset;
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419};
420struct venc_recon_buff_size{
421 int width;
422 int height;
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 int size;
425 int alignment;
426};
Nick Pelly21baae32010-06-23 16:17:58 -0700427#endif
Ben Cheng654325d2012-03-07 21:13:49 -0800428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Haynes Mathew George3fad2b12012-06-19 21:50:38 -0700429