1731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#ifndef _UAPI_MSM_VIDC_ENC_H_ 2731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#define _UAPI_MSM_VIDC_ENC_H_ 3cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 4cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#include <linux/types.h> 5cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#include <linux/ioctl.h> 6cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 7cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/** STATUS CODES*/ 8cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Base value for status codes */ 9cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_BASE 0x00000000 10cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_SUCCESS (VEN_S_BASE)/* Success */ 11cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EFAIL (VEN_S_BASE+1)/* General failure */ 12cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EFATAL (VEN_S_BASE+2)/* Fatal irrecoverable failure*/ 13cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EBADPARAM (VEN_S_BASE+3)/* Error passed parameters*/ 14cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Command called in invalid state*/ 15cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EINVALSTATE (VEN_S_BASE+4) 16cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOSWRES (VEN_S_BASE+5)/* Insufficient OS resources*/ 17cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOHWRES (VEN_S_BASE+6)/*Insufficient HW resources */ 18cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EBUFFREQ (VEN_S_BASE+7)/* Buffer requirements were not met*/ 19cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EINVALCMD (VEN_S_BASE+8)/* Invalid command called */ 20cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ETIMEOUT (VEN_S_BASE+9)/* Command timeout. */ 21cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Re-attempt was made when multiple invocation not supported for API.*/ 22cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOREATMPT (VEN_S_BASE+10) 23cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOPREREQ (VEN_S_BASE+11)/*Pre-requirement is not met for API*/ 24cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ECMDQFULL (VEN_S_BASE+12)/*Command queue is full*/ 25cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOTSUPP (VEN_S_BASE+13)/*Command not supported*/ 26cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOTIMPL (VEN_S_BASE+14)/*Command not implemented.*/ 27cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ENOTPMEM (VEN_S_BASE+15)/*Buffer is not from PMEM*/ 28cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EFLUSHED (VEN_S_BASE+16)/*returned buffer was flushed*/ 29cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EINSUFBUF (VEN_S_BASE+17)/*provided buffer size insufficient*/ 30cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_ESAMESTATE (VEN_S_BASE+18) 31cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_S_EINVALTRANS (VEN_S_BASE+19) 32cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 33cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_INTF_VER 1 34cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 35cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Asynchronous messages from driver*/ 36cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_INDICATION 0 37cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_INPUT_BUFFER_DONE 1 38cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_OUTPUT_BUFFER_DONE 2 39cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_NEED_OUTPUT_BUFFER 3 40cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_FLUSH_INPUT_DONE 4 41cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_FLUSH_OUPUT_DONE 5 42cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_START 6 43cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_STOP 7 44cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_PAUSE 8 45cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_RESUME 9 46cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_STOP_READING_MSG 10 47cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSG_LTRUSE_FAILED 11 48731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#define VEN_MSG_HW_OVERLOAD 12 49731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#define VEN_MSG_MAX_CLIENTS 13 50cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 51cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 52cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Buffer flags bits masks*/ 53cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_BUFFLAG_EOS 0x00000001 54cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_BUFFLAG_ENDOFFRAME 0x00000010 55cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_BUFFLAG_SYNCFRAME 0x00000020 56cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_BUFFLAG_EXTRADATA 0x00000040 57cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_BUFFLAG_CODECCONFIG 0x00000080 58cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 59cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Post processing flags bit masks*/ 60cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_EXTRADATA_NONE 0x001 61cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_EXTRADATA_QCOMFILLER 0x002 62cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_EXTRADATA_SLICEINFO 0x100 63cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_EXTRADATA_LTRINFO 0x200 64cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_EXTRADATA_MBINFO 0x400 65cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 66cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*ENCODER CONFIGURATION CONSTANTS*/ 67cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 68cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Encoded video frame types*/ 69cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FRAME_TYPE_I 1/* I frame type */ 70cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FRAME_TYPE_P 2/* P frame type */ 71cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FRAME_TYPE_B 3/* B frame type */ 72cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 73cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Video codec types*/ 74cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CODEC_MPEG4 1/* MPEG4 Codec */ 75cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CODEC_H264 2/* H.264 Codec */ 76cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CODEC_H263 3/* H.263 Codec */ 77cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 78cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Video codec profile types.*/ 79cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_MPEG4_SP 1/* 1 - MPEG4 SP profile */ 80cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_MPEG4_ASP 2/* 2 - MPEG4 ASP profile */ 81cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_H264_BASELINE 3/* 3 - H264 Baseline profile */ 82cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_H264_MAIN 4/* 4 - H264 Main profile */ 83cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_H264_HIGH 5/* 5 - H264 High profile */ 84cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_PROFILE_H263_BASELINE 6/* 6 - H263 Baseline profile */ 85cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 86cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Video codec profile level types.*/ 87cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_0 0x1/* MPEG4 Level 0 */ 88cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_1 0x2/* MPEG4 Level 1 */ 89cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_2 0x3/* MPEG4 Level 2 */ 90cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_3 0x4/* MPEG4 Level 3 */ 91cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_4 0x5/* MPEG4 Level 4 */ 92cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_5 0x6/* MPEG4 Level 5 */ 93cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_3b 0x7/* MPEG4 Level 3b */ 94cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_MPEG4_6 0x8/* MPEG4 Level 6 */ 95cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 96cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_1 0x9/* H.264 Level 1 */ 97cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_1b 0xA/* H.264 Level 1b */ 98cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_1p1 0xB/* H.264 Level 1.1 */ 99cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_1p2 0xC/* H.264 Level 1.2 */ 100cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_1p3 0xD/* H.264 Level 1.3 */ 101cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_2 0xE/* H.264 Level 2 */ 102cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_2p1 0xF/* H.264 Level 2.1 */ 103cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_2p2 0x10/* H.264 Level 2.2 */ 104cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_3 0x11/* H.264 Level 3 */ 105cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_3p1 0x12/* H.264 Level 3.1 */ 106cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_3p2 0x13/* H.264 Level 3.2 */ 107cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H264_4 0x14/* H.264 Level 4 */ 108cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 109cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_10 0x15/* H.263 Level 10 */ 110cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_20 0x16/* H.263 Level 20 */ 111cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_30 0x17/* H.263 Level 30 */ 112cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_40 0x18/* H.263 Level 40 */ 113cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_45 0x19/* H.263 Level 45 */ 114cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_50 0x1A/* H.263 Level 50 */ 115cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_60 0x1B/* H.263 Level 60 */ 116cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_LEVEL_H263_70 0x1C/* H.263 Level 70 */ 117cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 118cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Entropy coding model selection for H.264 encoder.*/ 119cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ENTROPY_MODEL_CAVLC 1 120cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ENTROPY_MODEL_CABAC 2 121cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Cabac model number (0,1,2) for encoder.*/ 122cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CABAC_MODEL_0 1/* CABAC Model 0. */ 123cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CABAC_MODEL_1 2/* CABAC Model 1. */ 124cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_CABAC_MODEL_2 3/* CABAC Model 2. */ 125cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 126cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Deblocking filter control type for encoder.*/ 127cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_DB_DISABLE 1/* 1 - Disable deblocking filter*/ 128cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_DB_ALL_BLKG_BNDRY 2/* 2 - All blocking boundary filtering*/ 129cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_DB_SKIP_SLICE_BNDRY 3/* 3 - Filtering except sliceboundary*/ 130cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 131cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different methods of Multi slice selection.*/ 132cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSLICE_OFF 1 133cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSLICE_CNT_MB 2 /*number of MBscount per slice*/ 134cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSLICE_CNT_BYTE 3 /*number of bytes count per slice.*/ 135cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_MSLICE_GOB 4 /*Multi slice by GOB for H.263 only.*/ 136cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 137cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different modes for Rate Control.*/ 138cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_RC_OFF 1 139cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_RC_VBR_VFR 2 140cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_RC_VBR_CFR 3 141cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_RC_CBR_VFR 4 142cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_RC_CBR_CFR 5 143cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 144cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different modes for flushing buffers*/ 145cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FLUSH_INPUT 1 146cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FLUSH_OUTPUT 2 147cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_FLUSH_ALL 3 148cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 149cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different input formats for YUV data.*/ 150cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_INPUTFMT_NV12 1/* NV12 Linear */ 151cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_INPUTFMT_NV21 2/* NV21 Linear */ 152cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_INPUTFMT_NV12_16M2KA 3/* NV12 Linear */ 153cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 154cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different allowed rotation modes.*/ 155cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ROTATION_0 1/* 0 degrees */ 156cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ROTATION_90 2/* 90 degrees */ 157cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ROTATION_180 3/* 180 degrees */ 158cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_ROTATION_270 4/* 270 degrees */ 159cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 160cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL timeout values*/ 161cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_TIMEOUT_INFINITE 0xffffffff 162cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 163cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Different allowed intra refresh modes.*/ 164cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IR_OFF 1 165cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IR_CYCLIC 2 166cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IR_RANDOM 3 167cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 168cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL BASE CODES Not to be used directly by the client.*/ 169cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Base value for ioctls that are not related to encoder configuration.*/ 170cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTLBASE_NENC 0x800 171cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Base value for encoder configuration ioctls*/ 172cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTLBASE_ENC 0x850 173cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 174cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ioctl_msg{ 175cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj void __user *in; 176cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj void __user *out; 177cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 178cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 179cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*NON ENCODER CONFIGURATION IOCTLs*/ 180cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 181cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - unsigned long, OutputData - NULL*/ 182cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_INTF_VERSION \ 183cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 0, struct venc_ioctl_msg) 184cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 185cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_timeout, OutputData - venc_msg*/ 186cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_READ_NEXT_MSG \ 187cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOWR(VEN_IOCTLBASE_NENC, 1, struct venc_ioctl_msg) 188cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 189cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - NULL, OutputData - NULL*/ 190cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_STOP_READ_MSG _IO(VEN_IOCTLBASE_NENC, 2) 191cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 192cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_allocatorproperty, OutputData - NULL 193cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_allocatorproperty*/ 194cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_INPUT_BUFFER_REQ \ 195cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 3, struct venc_ioctl_msg) 196cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_INPUT_BUFFER_REQ \ 197cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_NENC, 4, struct venc_ioctl_msg) 198cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 199cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferpayload, OutputData - NULL*/ 200cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_ALLOC_INPUT_BUFFER \ 201cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 5, struct venc_ioctl_msg) 202cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 203cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferpayload, OutputData - NULL*/ 204cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_INPUT_BUFFER \ 205cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 6, struct venc_ioctl_msg) 206cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 207cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params: CMD: InputData - venc_bufferpayload, OutputData - NULL*/ 208cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_FREE_INPUT_BUFFER \ 209cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 7, struct venc_ioctl_msg) 210cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 211cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_allocatorproperty, OutputData - NULL 212cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_allocatorproperty*/ 213cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_OUTPUT_BUFFER_REQ \ 214cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 8, struct venc_ioctl_msg) 215cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_OUTPUT_BUFFER_REQ \ 216cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_NENC, 9, struct venc_ioctl_msg) 217cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 218cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferpayload, OutputData - NULL*/ 219cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_ALLOC_OUTPUT_BUFFER \ 220cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 10, struct venc_ioctl_msg) 221cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 222cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 223cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferpayload, OutputData - NULL*/ 224cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_OUTPUT_BUFFER \ 225cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 11, struct venc_ioctl_msg) 226cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 227cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferpayload, OutputData - NULL.*/ 228cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_FREE_OUTPUT_BUFFER \ 229cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 12, struct venc_ioctl_msg) 230cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 231cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 232cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Asynchronous respone message code:* VEN_MSG_START*/ 233cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_START _IO(VEN_IOCTLBASE_NENC, 13) 234cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 235cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 236cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_buffer, OutputData - NULL 237cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj Asynchronous respone message code:VEN_MSG_INPUT_BUFFER_DONE*/ 238cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_ENCODE_FRAME \ 239cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 14, struct venc_ioctl_msg) 240cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 241cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 242cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_buffer, OutputData - NULL 243cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj Asynchronous response message code:VEN_MSG_OUTPUT_BUFFER_DONE*/ 244cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_FILL_OUTPUT_BUFFER \ 245cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 15, struct venc_ioctl_msg) 246cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 247cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:CMD: InputData - venc_bufferflush, OutputData - NULL 248cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj * Asynchronous response message code:VEN_MSG_INPUT_BUFFER_DONE*/ 249cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_FLUSH \ 250cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 16, struct venc_ioctl_msg) 251cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 252cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 253cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Asynchronous respone message code:VEN_MSG_PAUSE*/ 254cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_PAUSE _IO(VEN_IOCTLBASE_NENC, 17) 255cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 256cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*Asynchronous respone message code:VEN_MSG_RESUME*/ 257cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_RESUME _IO(VEN_IOCTLBASE_NENC, 18) 258cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 259cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Asynchronous respone message code:VEN_MSG_STOP*/ 260cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_STOP _IO(VEN_IOCTLBASE_NENC, 19) 261cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 262cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_RECON_BUFFER \ 263cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 20, struct venc_ioctl_msg) 264cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 265cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_FREE_RECON_BUFFER \ 266cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 21, struct venc_ioctl_msg) 267cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 268cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_RECON_BUFFER_SIZE \ 269cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_NENC, 22, struct venc_ioctl_msg) 270cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 271cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 272cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 273cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*ENCODER PROPERTY CONFIGURATION & CAPABILITY IOCTLs*/ 274cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 275cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_basecfg, OutputData - NULL 276cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_basecfg*/ 277cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_BASE_CFG \ 278cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 1, struct venc_ioctl_msg) 279cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_BASE_CFG \ 280cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 2, struct venc_ioctl_msg) 281cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 282cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_switch, OutputData - NULL 283cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_switch*/ 284cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LIVE_MODE \ 285cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 3, struct venc_ioctl_msg) 286cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LIVE_MODE \ 287cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 4, struct venc_ioctl_msg) 288cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 289cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 290cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_profile, OutputData - NULL 291cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_profile*/ 292cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_CODEC_PROFILE \ 293cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 5, struct venc_ioctl_msg) 294cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_CODEC_PROFILE \ 295cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 6, struct venc_ioctl_msg) 296cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 297cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 298cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - ven_profilelevel, OutputData - NULL 299cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - ven_profilelevel*/ 300cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_PROFILE_LEVEL \ 301cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 7, struct venc_ioctl_msg) 302cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 303cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_PROFILE_LEVEL \ 304cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 8, struct venc_ioctl_msg) 305cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 306cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_switch, OutputData - NULL 307cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_switch*/ 308cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_SHORT_HDR \ 309cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 9, struct venc_ioctl_msg) 310cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_SHORT_HDR \ 311cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 10, struct venc_ioctl_msg) 312cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 313cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 314cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params: SET: InputData - venc_sessionqp, OutputData - NULL 315cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_sessionqp*/ 316cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_SESSION_QP \ 317cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 11, struct venc_ioctl_msg) 318cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_SESSION_QP \ 319cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 12, struct venc_ioctl_msg) 320cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 321cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 322cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_intraperiod, OutputData - NULL 323cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_intraperiod*/ 324cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_INTRA_PERIOD \ 325cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 13, struct venc_ioctl_msg) 326cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_INTRA_PERIOD \ 327cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 14, struct venc_ioctl_msg) 328cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 329cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 330cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/* Request an Iframe*/ 331cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_CMD_REQUEST_IFRAME _IO(VEN_IOCTLBASE_ENC, 15) 332cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 333cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_capability*/ 334cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_CAPABILITY \ 335cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 16, struct venc_ioctl_msg) 336cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 337cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 338cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_seqheader*/ 339cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_SEQUENCE_HDR \ 340cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 17, struct venc_ioctl_msg) 341cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 342cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_entropycfg, OutputData - NULL 343cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_entropycfg*/ 344cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_ENTROPY_CFG \ 345cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 18, struct venc_ioctl_msg) 346cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_ENTROPY_CFG \ 347cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 19, struct venc_ioctl_msg) 348cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 349cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_dbcfg, OutputData - NULL 350cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_dbcfg*/ 351cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_DEBLOCKING_CFG \ 352cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 20, struct venc_ioctl_msg) 353cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_DEBLOCKING_CFG \ 354cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 21, struct venc_ioctl_msg) 355cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 356cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 357cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_intrarefresh, OutputData - NULL 358cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_intrarefresh*/ 359cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_INTRA_REFRESH \ 360cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 22, struct venc_ioctl_msg) 361cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_INTRA_REFRESH \ 362cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 23, struct venc_ioctl_msg) 363cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 364cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 365cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_multiclicecfg, OutputData - NULL 366cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_multiclicecfg*/ 367cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_MULTI_SLICE_CFG \ 368cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 24, struct venc_ioctl_msg) 369cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_MULTI_SLICE_CFG \ 370cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 25, struct venc_ioctl_msg) 371cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 372cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ratectrlcfg, OutputData - NULL 373cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_ratectrlcfg*/ 374cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_RATE_CTRL_CFG \ 375cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 26, struct venc_ioctl_msg) 376cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_RATE_CTRL_CFG \ 377cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 27, struct venc_ioctl_msg) 378cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 379cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 380cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_voptimingcfg, OutputData - NULL 381cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_voptimingcfg*/ 382cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_VOP_TIMING_CFG \ 383cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 28, struct venc_ioctl_msg) 384cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_VOP_TIMING_CFG \ 385cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 29, struct venc_ioctl_msg) 386cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 387cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 388cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_framerate, OutputData - NULL 389cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_framerate*/ 390cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_FRAME_RATE \ 391cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 30, struct venc_ioctl_msg) 392cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_FRAME_RATE \ 393cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 31, struct venc_ioctl_msg) 394cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 395cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 396cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_targetbitrate, OutputData - NULL 397cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_targetbitrate*/ 398cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_TARGET_BITRATE \ 399cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 32, struct venc_ioctl_msg) 400cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_TARGET_BITRATE \ 401cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 33, struct venc_ioctl_msg) 402cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 403cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 404cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_rotation, OutputData - NULL 405cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_rotation*/ 406cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_ROTATION \ 407cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 34, struct venc_ioctl_msg) 408cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_ROTATION \ 409cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 35, struct venc_ioctl_msg) 410cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 411cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 412cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_headerextension, OutputData - NULL 413cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_headerextension*/ 414cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_HEC \ 415cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 36, struct venc_ioctl_msg) 416cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_HEC \ 417cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 37, struct venc_ioctl_msg) 418cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 419cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_switch, OutputData - NULL 420cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_switch*/ 421cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_DATA_PARTITION \ 422cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 38, struct venc_ioctl_msg) 423cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_DATA_PARTITION \ 424cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 39, struct venc_ioctl_msg) 425cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 426cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_switch, OutputData - NULL 427cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_switch*/ 428cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_RVLC \ 429cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 40, struct venc_ioctl_msg) 430cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_RVLC \ 431cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 41, struct venc_ioctl_msg) 432cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 433cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 434cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_switch, OutputData - NULL 435cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_switch*/ 436cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_AC_PREDICTION \ 437cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 42, struct venc_ioctl_msg) 438cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_AC_PREDICTION \ 439cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 43, struct venc_ioctl_msg) 440cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 441cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 442cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_qprange, OutputData - NULL 443cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj GET: InputData - NULL, OutputData - venc_qprange*/ 444cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_QP_RANGE \ 445cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 44, struct venc_ioctl_msg) 446cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_QP_RANGE \ 447cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 45, struct venc_ioctl_msg) 448cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 449cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_NUMBER_INSTANCES \ 450cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 46, struct venc_ioctl_msg) 451cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 452cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_METABUFFER_MODE \ 453cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 47, struct venc_ioctl_msg) 454cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 455cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 456cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - unsigned int, OutputData - NULL.*/ 457cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_EXTRADATA \ 458cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 48, struct venc_ioctl_msg) 459cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - unsigned int.*/ 460cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_EXTRADATA \ 461cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 49, struct venc_ioctl_msg) 462cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 463cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - NULL, OutputData - NULL.*/ 464cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_SLICE_DELIVERY_MODE \ 465cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IO(VEN_IOCTLBASE_ENC, 50) 466cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 467cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_H263_PLUSPTYPE \ 468cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 51, struct venc_ioctl_msg) 469cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 470cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_range, OutputData - NULL.*/ 471cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_CAPABILITY_LTRCOUNT \ 472cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 52, struct venc_ioctl_msg) 473cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_range.*/ 474cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_CAPABILITY_LTRCOUNT \ 475cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 53, struct venc_ioctl_msg) 476cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 477cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ltrmode, OutputData - NULL.*/ 478cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LTRMODE \ 479cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 54, struct venc_ioctl_msg) 480cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_ltrmode.*/ 481cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LTRMODE \ 482cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 55, struct venc_ioctl_msg) 483cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 484cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ltrcount, OutputData - NULL.*/ 485cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LTRCOUNT \ 486cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 56, struct venc_ioctl_msg) 487cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_ltrcount.*/ 488cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LTRCOUNT \ 489cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 57, struct venc_ioctl_msg) 490cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 491cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ltrperiod, OutputData - NULL.*/ 492cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LTRPERIOD \ 493cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 58, struct venc_ioctl_msg) 494cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_ltrperiod.*/ 495cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LTRPERIOD \ 496cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 59, struct venc_ioctl_msg) 497cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 498cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ltruse, OutputData - NULL.*/ 499cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LTRUSE \ 500cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 60, struct venc_ioctl_msg) 501cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_ltruse.*/ 502cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LTRUSE \ 503cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 61, struct venc_ioctl_msg) 504cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 505cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - venc_ltrmark, OutputData - NULL.*/ 506cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_LTRMARK \ 507cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 62, struct venc_ioctl_msg) 508cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:GET: InputData - NULL, OutputData - venc_ltrmark.*/ 509cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_GET_LTRMARK \ 510cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOR(VEN_IOCTLBASE_ENC, 63, struct venc_ioctl_msg) 511cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 512cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj/*IOCTL params:SET: InputData - unsigned int, OutputData - NULL*/ 513cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#define VEN_IOCTL_SET_SPS_PPS_FOR_IDR \ 514cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj _IOW(VEN_IOCTLBASE_ENC, 64, struct venc_ioctl_msg) 515cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 516cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_range { 517cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long max; 518cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long min; 519cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long step_size; 520cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 521cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 522cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_switch{ 523cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char status; 524cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 525cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 526cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_allocatorproperty{ 527cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long mincount; 528cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxcount; 529cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long actualcount; 530cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long datasize; 531cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long suffixsize; 532cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long alignment; 533cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long bufpoolid; 534cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 535cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 536cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_bufferpayload{ 537cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char *pbuffer; 538cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj size_t sz; 539cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj int fd; 540cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int offset; 541cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int maped_size; 542cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long filled_len; 543cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 544cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 545cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_buffer{ 546cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char *ptrbuffer; 547cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long sz; 548cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long len; 549cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long offset; 550cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj long long timestamp; 551cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long flags; 552cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj void *clientdata; 553cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 554cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 555cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_basecfg{ 556cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long input_width; 557cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long input_height; 558cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long dvs_width; 559cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long dvs_height; 560cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long codectype; 561cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long fps_num; 562cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long fps_den; 563cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long targetbitrate; 564cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long inputformat; 565cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 566cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 567cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_profile{ 568cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long profile; 569cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 570cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct ven_profilelevel{ 571cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long level; 572cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 573cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 574cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_sessionqp{ 575cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long iframeqp; 576cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long pframqp; 577cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 578cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 579cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_qprange{ 580cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxqp; 581cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long minqp; 582cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 583cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 584cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_plusptype { 585cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long plusptype_enable; 586cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 587cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 588cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_intraperiod{ 589cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long num_pframes; 590cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long num_bframes; 591cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 592cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_seqheader{ 593cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char *hdrbufptr; 594cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long bufsize; 595cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long hdrlen; 596cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 597cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 598cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_capability{ 599cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long codec_types; 600cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxframe_width; 601cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxframe_height; 602cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxtarget_bitrate; 603cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long maxframe_rate; 604cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long input_formats; 605cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char dvs; 606cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 607cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 608cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_entropycfg{ 609cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned longentropysel; 610cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long cabacmodel; 611cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 612cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 613cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_dbcfg{ 614cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long db_mode; 615cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long slicealpha_offset; 616cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long slicebeta_offset; 617cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 618cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 619cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_intrarefresh{ 620cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long irmode; 621cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long mbcount; 622cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 623cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 624cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_multiclicecfg{ 625cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long mslice_mode; 626cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long mslice_size; 627cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 628cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 629cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_bufferflush{ 630cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long flush_mode; 631cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 632cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 633cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ratectrlcfg{ 634cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long rcmode; 635cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 636cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 637cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_voptimingcfg{ 638cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long voptime_resolution; 639cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 640cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_framerate{ 641cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long fps_denominator; 642cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long fps_numerator; 643cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 644cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 645cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_targetbitrate{ 646cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long target_bitrate; 647cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 648cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 649cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 650cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_rotation{ 651cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long rotation; 652cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 653cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 654cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_timeout{ 655cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long millisec; 656cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 657cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 658cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_headerextension{ 659cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long header_extension; 660cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 661cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 662cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_msg{ 663cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long statuscode; 664cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long msgcode; 665cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj struct venc_buffer buf; 666cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long msgdata_size; 667cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 668cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 669cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_recon_addr{ 670cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned char *pbuffer; 671cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long buffer_size; 672cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long pmem_fd; 673cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long offset; 674cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 675cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 676cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_recon_buff_size{ 677cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj int width; 678cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj int height; 679cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj int size; 680cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj int alignment; 681cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 682cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 683cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ltrmode { 684cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long ltr_mode; 685cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 686cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 687cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ltrcount { 688cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long ltr_count; 689cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 690cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 691cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ltrperiod { 692cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long ltr_period; 693cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 694cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 695cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct venc_ltruse { 696cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long ltr_id; 697cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned long ltr_frames; 698cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 699cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 700731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#endif /* _UAPI_MSM_VIDC_ENC_H_ */ 701