1731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#ifndef __MSM_VIDC_H__ 2731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#define __MSM_VIDC_H__ 3cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 4731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan#include <linux/types.h> 5cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 6cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_extradata_header { 7731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int size; 8731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int:32; /** Keeping binary compatibility */ 9731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int:32; /* with firmware and OpenMAX IL **/ 10731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int type; /* msm_vidc_extradata_type */ 11731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int data_size; 12731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned char data[1]; 13cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 14cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_interlace_payload { 15cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int format; 16cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 17cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_framerate_payload { 18cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int frame_rate; 19cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 20cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_ts_payload { 21cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int timestamp_lo; 22cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int timestamp_hi; 23cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 24cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_concealmb_payload { 25cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int num_mbs; 26cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 27cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_recoverysei_payload { 28cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int flags; 29cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 30cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_aspect_ratio_payload { 31cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int size; 32cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int version; 33cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int port_index; 34cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int aspect_width; 35cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int aspect_height; 36cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 37cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_mpeg2_seqdisp_payload { 38cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int video_format; 39731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int color_descp; 40cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int color_primaries; 41cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int transfer_char; 42cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int matrix_coeffs; 43cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int disp_width; 44cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int disp_height; 45cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 46cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_input_crop_payload { 47731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int size; 48731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int version; 49731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int port_index; 50731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int left; 51731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int top; 52731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int width; 53731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int height; 54cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 55cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_digital_zoom_payload { 56731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int size; 57731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int version; 58731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int port_index; 59731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int zoom_width; 60731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int zoom_height; 61cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 62cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_extradata_index { 63731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int type; 64731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan union { 65731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan struct msm_vidc_input_crop_payload input_crop; 66731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan struct msm_vidc_digital_zoom_payload digital_zoom; 67731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan struct msm_vidc_aspect_ratio_payload aspect_ratio; 68731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan }; 69cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 70cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_panscan_window { 71cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int panscan_height_offset; 72cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int panscan_width_offset; 73cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int panscan_window_width; 74cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int panscan_window_height; 75cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 76cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_panscan_window_payload { 77cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj unsigned int num_panscan_windows; 78cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj struct msm_vidc_panscan_window wnd[1]; 79cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 80cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_stream_userdata_payload { 81731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int type; 82731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int data[1]; 83731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan}; 84731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavanstruct msm_vidc_frame_qp_payoad { 85731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame_qp; 86cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 87cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_frame_qp_payload { 88731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame_qp; 89cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 90cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_frame_bits_info_payload { 91731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame_bits; 92731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int header_bits; 93cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 94cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajstruct msm_vidc_s3d_frame_packing_payload { 95731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int fpa_id; 96731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int cancel_flag; 97731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int fpa_type; 98731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int quin_cunx_flag; 99731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int content_interprtation_type; 100731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int spatial_flipping_flag; 101731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame0_flipped_flag; 102731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int field_views_flag; 103731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int current_frame_is_frame0_flag; 104731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame0_self_contained_flag; 105731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame1_self_contained_flag; 106731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame0_graid_pos_x; 107731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame0_graid_pos_y; 108731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame1_graid_pos_x; 109731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int frame1_graid_pos_y; 110731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int fpa_reserved_byte; 111731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int fpa_repetition_period; 112731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan unsigned int fpa_extension_flag; 113cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 114cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj 115582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastavastruct msm_vidc_vui_display_info_payload { 116582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int video_signal_present_flag; 117582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int video_format; 118582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int bit_depth_y; 119582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int bit_depth_c; 120582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int video_full_range_flag; 121582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int color_description_present_flag; 122582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int color_primaries; 123582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int transfer_characteristics; 124582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int matrix_coefficients; 125582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int chroma_location_info_present_flag; 126582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int chroma_format_idc; 127582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int separate_color_plane_flag; 128582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int chroma_sample_loc_type_top_field; 129582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava unsigned int chroma_sample_loc_type_bottom_field; 130582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava}; 131582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava 132cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajenum msm_vidc_extradata_type { 133731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_NONE = 0x00000000, 134731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_MB_QUANTIZATION = 0x00000001, 135731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_INTERLACE_VIDEO = 0x00000002, 136731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_VC1_FRAMEDISP = 0x00000003, 137731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_VC1_SEQDISP = 0x00000004, 138731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_TIMESTAMP = 0x00000005, 139731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_S3D_FRAME_PACKING = 0x00000006, 140731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_FRAME_RATE = 0x00000007, 141731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_PANSCAN_WINDOW = 0x00000008, 142731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_RECOVERY_POINT_SEI = 0x00000009, 143731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_MPEG2_SEQDISP = 0x0000000D, 144731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_STREAM_USERDATA = 0x0000000E, 145731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_FRAME_QP = 0x0000000F, 146731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_FRAME_BITS_INFO = 0x00000010, 147731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_INPUT_CROP = 0x0700000E, 148731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_DIGITAL_ZOOM = 0x07000010, 149731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_MULTISLICE_INFO = 0x7F100000, 150731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_NUM_CONCEALED_MB = 0x7F100001, 151731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_INDEX = 0x7F100002, 152731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_ASPECT_RATIO = 0x7F100003, 153731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_METADATA_LTR = 0x7F100004, 154731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_METADATA_FILLER = 0x7FE00002, 155731075f3fd4c9fd79fa2b70f29f8f24acc5ae9b7Praveen Chavan MSM_VIDC_EXTRADATA_METADATA_MBI = 0x7F100005, 156582b414269d8472d17eef65d8a8965aa8105042fVineeta Srivastava MSM_VIDC_EXTRADATA_VUI_DISPLAY_INFO = 0x7F100006, 157cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 158cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajenum msm_vidc_interlace_type { 159cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_INTERLACE_FRAME_PROGRESSIVE = 0x01, 160cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST = 0x02, 161cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST = 0x04, 162cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_INTERLACE_FRAME_TOPFIELDFIRST = 0x08, 163cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_INTERLACE_FRAME_BOTTOMFIELDFIRST = 0x10, 164cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 165cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajenum msm_vidc_recovery_sei { 166cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_FRAME_RECONSTRUCTION_INCORRECT = 0x0, 167cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_FRAME_RECONSTRUCTION_CORRECT = 0x01, 168cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT = 0x02, 169cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 170cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramarajenum msm_vidc_userdata_type { 171cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_USERDATA_TYPE_FRAME = 0x1, 172cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_USERDATA_TYPE_TOP_FIELD = 0x2, 173cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj MSM_VIDC_USERDATA_TYPE_BOTTOM_FIELD = 0x3, 174cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj}; 175cd369140fd7fbed4ea06e15beb5ec45cbbfdd0ffNaveen Ramaraj#endif 176