summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/msm_vidc_enc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/common/linux/msm_vidc_enc.h')
-rw-r--r--libc/kernel/common/linux/msm_vidc_enc.h50
1 files changed, 37 insertions, 13 deletions
diff --git a/libc/kernel/common/linux/msm_vidc_enc.h b/libc/kernel/common/linux/msm_vidc_enc.h
index 45437a2..f6c6d38 100644
--- a/libc/kernel/common/linux/msm_vidc_enc.h
+++ b/libc/kernel/common/linux/msm_vidc_enc.h
@@ -93,15 +93,16 @@
#define VEN_LEVEL_H264_2p2 0x10
#define VEN_LEVEL_H264_3 0x11
#define VEN_LEVEL_H264_3p1 0x12
+#define VEN_LEVEL_H264_4 0x13
-#define VEN_LEVEL_H263_10 0x13
-#define VEN_LEVEL_H263_20 0x14
-#define VEN_LEVEL_H263_30 0x15
-#define VEN_LEVEL_H263_40 0x16
-#define VEN_LEVEL_H263_45 0x17
-#define VEN_LEVEL_H263_50 0x18
-#define VEN_LEVEL_H263_60 0x19
-#define VEN_LEVEL_H263_70 0x1A
+#define VEN_LEVEL_H263_10 0x14
+#define VEN_LEVEL_H263_20 0x15
+#define VEN_LEVEL_H263_30 0x16
+#define VEN_LEVEL_H263_40 0x17
+#define VEN_LEVEL_H263_45 0x18
+#define VEN_LEVEL_H263_50 0x19
+#define VEN_LEVEL_H263_60 0x1A
+#define VEN_LEVEL_H263_70 0x1B
#define VEN_ENTROPY_MODEL_CAVLC 1
#define VEN_ENTROPY_MODEL_CABAC 2
@@ -123,6 +124,7 @@
#define VEN_RC_VBR_VFR 2
#define VEN_RC_VBR_CFR 3
#define VEN_RC_CBR_VFR 4
+#define VEN_RC_CBR_CFR 5
#define VEN_FLUSH_INPUT 1
#define VEN_FLUSH_OUTPUT 2
@@ -130,6 +132,7 @@
#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
@@ -147,8 +150,8 @@
#define VEN_IOCTLBASE_ENC 0x850
struct venc_ioctl_msg{
- void *inputparam;
- void *outputparam;
+ void __user *in;
+ void __user *out;
};
#define VEN_IOCTL_SET_INTF_VERSION _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg)
@@ -189,6 +192,12 @@ struct venc_ioctl_msg{
#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)
#define VEN_IOCTL_GET_BASE_CFG _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg)
@@ -259,6 +268,8 @@ 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)
+#define VEN_IOCTL_GET_NUMBER_INSTANCES _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg)
+
struct venc_switch{
unsigned char status;
};
@@ -275,7 +286,7 @@ struct venc_allocatorproperty{
struct venc_bufferpayload{
unsigned char *pbuffer;
- unsigned long nsize;
+ size_t sz;
int fd;
unsigned int offset;
unsigned int maped_size;
@@ -284,7 +295,7 @@ struct venc_bufferpayload{
struct venc_buffer{
unsigned char *ptrbuffer;
- unsigned long size;
+ unsigned long sz;
unsigned long len;
unsigned long offset;
long long timestamp;
@@ -398,5 +409,18 @@ struct venc_msg{
struct venc_buffer buf;
unsigned long msgdata_size;
};
-#endif
+struct venc_recon_addr{
+ unsigned long buffer_size;
+ unsigned long pmem_fd;
+ unsigned long offset;
+};
+
+struct venc_recon_buff_size{
+ int width;
+ int height;
+ int size;
+ int alignment;
+};
+
+#endif