OSDN Git Service

Check in released NDK version r4.
[android-x86/prebuilt.git] / ndk / android-ndk-r4 / darwin / platforms / android-5 / arch-x86 / usr / include / linux / msm_q6venc.h
diff --git a/ndk/android-ndk-r4/darwin/platforms/android-5/arch-x86/usr/include/linux/msm_q6venc.h b/ndk/android-ndk-r4/darwin/platforms/android-5/arch-x86/usr/include/linux/msm_q6venc.h
new file mode 100644 (file)
index 0000000..5b63680
--- /dev/null
@@ -0,0 +1,109 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   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.
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _MSM_VENC_H_
+#define _MSM_VENC_H_
+
+#include <linux/types.h>
+
+struct venc_buf {
+ unsigned int src_id;
+ int fd;
+ unsigned long offset;
+ unsigned long size;
+};
+
+struct q6_init_config {
+ unsigned short venc_standard;
+ unsigned short partial_run_length_flag;
+ unsigned short h263_annex_ispt;
+ unsigned short h263_annex_jspt;
+ unsigned short h263_annex_tspt;
+ unsigned short rc_flag;
+ unsigned short one_mv_flag;
+ unsigned short acdc_pred_enable;
+ unsigned short rounding_bit_ctrl;
+ unsigned short rotation_flag;
+ unsigned short max_mvx;
+ unsigned short max_mvy;
+ unsigned short enc_frame_height_inmb;
+ unsigned short enc_frame_width_inmb;
+ unsigned short dvs_frame_height;
+ unsigned short dvs_frame_width;
+
+ unsigned int ref_frame_buf1_phy;
+ unsigned int ref_frame_buf2_phy;
+ unsigned int rlc_buf1_phy;
+ unsigned int rlc_buf2_phy;
+ unsigned int rlc_buf_length;
+};
+
+struct init_config {
+ struct venc_buf ref_frame_buf1;
+ struct venc_buf ref_frame_buf2;
+ struct venc_buf rlc_buf1;
+ struct venc_buf rlc_buf2;
+ struct q6_init_config q6_init_config;
+};
+
+struct q6_encode_param {
+ unsigned int luma_addr;
+ unsigned int chroma_addr;
+ unsigned int x_offset;
+ unsigned int y_offset;
+ unsigned int frame_rho_budget;
+ unsigned int frame_type;
+ unsigned int qp;
+};
+
+struct encode_param {
+ struct venc_buf y_addr;
+ unsigned long uv_offset;
+ struct q6_encode_param q6_encode_param;
+};
+
+struct intra_refresh {
+ unsigned int intra_refresh_enable;
+ unsigned int intra_mb_num;
+};
+
+struct rc_config {
+ unsigned short max_frame_qp_up_delta;
+ unsigned short max_frame_qp_down_delta;
+ unsigned short min_frame_qp;
+ unsigned short max_frame_qp;
+};
+
+struct q6_frame_type {
+ unsigned int frame_type;
+ unsigned int frame_len;
+ unsigned int frame_addr;
+ unsigned int map_table;
+};
+
+struct frame_type {
+ struct venc_buf frame_addr;
+ struct q6_frame_type q6_frame_type;
+};
+
+#define VENC_IOCTL_MAGIC 'V'
+
+#define VENC_IOCTL_INITIALIZE _IOW(VENC_IOCTL_MAGIC, 1, struct init_config)
+#define VENC_IOCTL_ENCODE _IOW(VENC_IOCTL_MAGIC, 2, struct encode_param)
+#define VENC_IOCTL_INTRA_REFRESH _IOW(VENC_IOCTL_MAGIC, 3, struct intra_refresh)
+#define VENC_IOCTL_RC_CONFIG _IOW(VENC_IOCTL_MAGIC, 4, struct rc_config)
+#define VENC_IOCTL_ENCODE_CONFIG _IOW(VENC_IOCTL_MAGIC, 5, struct init_config)
+#define VENC_IOCTL_STOP _IO(VENC_IOCTL_MAGIC, 6)
+#define VENC_IOCTL_WAIT_FOR_ENCODE _IOR(VENC_IOCTL_MAGIC, 7, struct frame_type)
+#define VENC_IOCTL_STOP_ENCODE _IO(VENC_IOCTL_MAGIC, 8)
+
+#endif
+