1 /**************************************************************************** 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 *** 10 *** 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 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef __MSM_VIDC_UTILS_H__ 20 #define __MSM_VIDC_UTILS_H__ 21 #include <linux/types.h> 22 #define MSM_VIDC_HAL_INTERLACE_COLOR_FORMAT_NV12 0x2 23 #define MSM_VIDC_HAL_INTERLACE_COLOR_FORMAT_NV12_UBWC 0x8002 24 #define MSM_VIDC_EXTRADATA_FRAME_QP_ADV 0x1 25 struct msm_vidc_extradata_header { 26 unsigned int size; 27 unsigned int : 32; 28 unsigned int : 32; 29 unsigned int type; 30 unsigned int data_size; 31 unsigned char data[1]; 32 }; 33 struct msm_vidc_interlace_payload { 34 unsigned int format; 35 unsigned int color_format; 36 }; 37 struct msm_vidc_framerate_payload { 38 unsigned int frame_rate; 39 }; 40 struct msm_vidc_ts_payload { 41 unsigned int timestamp_lo; 42 unsigned int timestamp_hi; 43 }; 44 struct msm_vidc_concealmb_payload { 45 unsigned int num_mbs; 46 }; 47 struct msm_vidc_recoverysei_payload { 48 unsigned int flags; 49 }; 50 struct msm_vidc_aspect_ratio_payload { 51 unsigned int size; 52 unsigned int version; 53 unsigned int port_index; 54 unsigned int aspect_width; 55 unsigned int aspect_height; 56 }; 57 struct msm_vidc_mpeg2_seqdisp_payload { 58 unsigned int video_format; 59 unsigned int color_descp; 60 unsigned int color_primaries; 61 unsigned int transfer_char; 62 unsigned int matrix_coeffs; 63 unsigned int disp_width; 64 unsigned int disp_height; 65 }; 66 struct msm_vidc_input_crop_payload { 67 unsigned int size; 68 unsigned int version; 69 unsigned int port_index; 70 unsigned int left; 71 unsigned int top; 72 unsigned int width; 73 unsigned int height; 74 }; 75 struct msm_vidc_misr_info { 76 unsigned int misr_set; 77 unsigned int misr_dpb_luma[8]; 78 unsigned int misr_dpb_chroma[8]; 79 unsigned int misr_opb_luma[8]; 80 unsigned int misr_opb_chroma[8]; 81 }; 82 struct msm_vidc_output_crop_payload { 83 unsigned int size; 84 unsigned int version; 85 unsigned int port_index; 86 unsigned int left; 87 unsigned int top; 88 unsigned int display_width; 89 unsigned int display_height; 90 unsigned int width; 91 unsigned int height; 92 unsigned int frame_num; 93 unsigned int bit_depth_y; 94 unsigned int bit_depth_c; 95 struct msm_vidc_misr_info misr_info[2]; 96 }; 97 struct msm_vidc_extradata_index { 98 unsigned int type; 99 union { 100 struct msm_vidc_input_crop_payload input_crop; 101 struct msm_vidc_aspect_ratio_payload aspect_ratio; 102 }; 103 }; 104 struct msm_vidc_panscan_window { 105 unsigned int panscan_height_offset; 106 unsigned int panscan_width_offset; 107 unsigned int panscan_window_width; 108 unsigned int panscan_window_height; 109 }; 110 struct msm_vidc_panscan_window_payload { 111 unsigned int num_panscan_windows; 112 struct msm_vidc_panscan_window wnd[1]; 113 }; 114 struct msm_vidc_stream_userdata_payload { 115 unsigned int type; 116 unsigned int data[1]; 117 }; 118 struct msm_vidc_frame_qp_payload { 119 unsigned int frame_qp; 120 unsigned int qp_sum; 121 unsigned int skip_qp_sum; 122 unsigned int skip_num_blocks; 123 unsigned int total_num_blocks; 124 }; 125 struct msm_vidc_dts_payload { 126 unsigned int timestamp_hi; 127 unsigned int timestamp_lo; 128 }; 129 struct msm_vidc_frame_bits_info_payload { 130 unsigned int frame_bits; 131 unsigned int header_bits; 132 }; 133 struct msm_vidc_s3d_frame_packing_payload { 134 unsigned int fpa_id; 135 unsigned int cancel_flag; 136 unsigned int fpa_type; 137 unsigned int quin_cunx_flag; 138 unsigned int content_interprtation_type; 139 unsigned int spatial_flipping_flag; 140 unsigned int frame0_flipped_flag; 141 unsigned int field_views_flag; 142 unsigned int current_frame_is_frame0_flag; 143 unsigned int frame0_self_contained_flag; 144 unsigned int frame1_self_contained_flag; 145 unsigned int frame0_graid_pos_x; 146 unsigned int frame0_graid_pos_y; 147 unsigned int frame1_graid_pos_x; 148 unsigned int frame1_graid_pos_y; 149 unsigned int fpa_reserved_byte; 150 unsigned int fpa_repetition_period; 151 unsigned int fpa_extension_flag; 152 }; 153 struct msm_vidc_ubwc_cr_stats_info { 154 unsigned int stats_tile_32; 155 unsigned int stats_tile_64; 156 unsigned int stats_tile_96; 157 unsigned int stats_tile_128; 158 unsigned int stats_tile_160; 159 unsigned int stats_tile_192; 160 unsigned int stats_tile_256; 161 }; 162 struct msm_vidc_yuv_stats_payload { 163 unsigned int frame_qp; 164 unsigned int texture; 165 unsigned int luma_in_q16; 166 unsigned int frame_difference; 167 }; 168 struct msm_vidc_vpx_colorspace_payload { 169 unsigned int color_space; 170 unsigned int yuv_range_flag; 171 unsigned int sumsampling_x; 172 unsigned int sumsampling_y; 173 }; 174 struct msm_vidc_roi_qp_payload { 175 int upper_qp_offset; 176 int lower_qp_offset; 177 unsigned int b_roi_info; 178 int mbi_info_size; 179 unsigned int data[1]; 180 }; 181 #define MSM_VIDC_EXTRADATA_ROI_DELTAQP 0x1 182 struct msm_vidc_roi_deltaqp_payload { 183 unsigned int b_roi_info; 184 int mbi_info_size; 185 unsigned int data[1]; 186 }; 187 struct msm_vidc_hdr10plus_metadata_payload { 188 unsigned int size; 189 unsigned int data[1]; 190 }; 191 struct msm_vidc_mastering_display_colour_sei_payload { 192 unsigned int nDisplayPrimariesX[3]; 193 unsigned int nDisplayPrimariesY[3]; 194 unsigned int nWhitePointX; 195 unsigned int nWhitePointY; 196 unsigned int nMaxDisplayMasteringLuminance; 197 unsigned int nMinDisplayMasteringLuminance; 198 }; 199 struct msm_vidc_content_light_level_sei_payload { 200 unsigned int nMaxContentLight; 201 unsigned int nMaxPicAverageLight; 202 }; 203 struct msm_vidc_vui_display_info_payload { 204 unsigned int video_signal_present_flag; 205 unsigned int video_format; 206 unsigned int bit_depth_y; 207 unsigned int bit_depth_c; 208 unsigned int video_full_range_flag; 209 unsigned int color_description_present_flag; 210 unsigned int color_primaries; 211 unsigned int transfer_characteristics; 212 unsigned int matrix_coefficients; 213 unsigned int chroma_location_info_present_flag; 214 unsigned int chroma_format_idc; 215 unsigned int separate_color_plane_flag; 216 unsigned int chroma_sample_loc_type_top_field; 217 unsigned int chroma_sample_loc_type_bottom_field; 218 }; 219 #define MSM_VIDC_EXTRADATA_NONE 0x00000000 220 #define MSM_VIDC_EXTRADATA_MB_QUANTIZATION 0x00000001 221 #define MSM_VIDC_EXTRADATA_INTERLACE_VIDEO 0x00000002 222 #define MSM_VIDC_EXTRADATA_TIMESTAMP 0x00000005 223 #define MSM_VIDC_EXTRADATA_S3D_FRAME_PACKING 0x00000006 224 #define MSM_VIDC_EXTRADATA_FRAME_RATE 0x00000007 225 #define MSM_VIDC_EXTRADATA_PANSCAN_WINDOW 0x00000008 226 #define MSM_VIDC_EXTRADATA_RECOVERY_POINT_SEI 0x00000009 227 #define MSM_VIDC_EXTRADATA_MPEG2_SEQDISP 0x0000000D 228 #define MSM_VIDC_EXTRADATA_STREAM_USERDATA 0x0000000E 229 #define MSM_VIDC_EXTRADATA_FRAME_QP 0x0000000F 230 #define MSM_VIDC_EXTRADATA_FRAME_BITS_INFO 0x00000010 231 #define MSM_VIDC_EXTRADATA_ROI_QP 0x00000013 232 #define MSM_VIDC_EXTRADATA_VPX_COLORSPACE_INFO 0x00000014 233 #define MSM_VIDC_EXTRADATA_MASTERING_DISPLAY_COLOUR_SEI 0x00000015 234 #define MSM_VIDC_EXTRADATA_CONTENT_LIGHT_LEVEL_SEI 0x00000016 235 #define MSM_VIDC_EXTRADATA_PQ_INFO 0x00000017 236 #define MSM_VIDC_EXTRADATA_COLOUR_REMAPPING_INFO_SEI 0x00000018 237 #define MSM_VIDC_EXTRADATA_UBWC_CR_STAT_INFO 0x00000019 238 #define MSM_VIDC_EXTRADATA_HDR10PLUS_METADATA 0x0000001A 239 #define MSM_VIDC_EXTRADATA_INPUT_CROP 0x0700000E 240 #define MSM_VIDC_EXTRADATA_OUTPUT_CROP 0x0700000F 241 #define MSM_VIDC_EXTRADATA_MULTISLICE_INFO 0x7F100000 242 #define MSM_VIDC_EXTRADATA_NUM_CONCEALED_MB 0x7F100001 243 #define MSM_VIDC_EXTRADATA_INDEX 0x7F100002 244 #define MSM_VIDC_EXTRADATA_ASPECT_RATIO 0x7F100003 245 #define MSM_VIDC_EXTRADATA_METADATA_LTR 0x7F100004 246 #define MSM_VIDC_EXTRADATA_METADATA_MBI 0x7F100005 247 #define MSM_VIDC_EXTRADATA_VUI_DISPLAY_INFO 0x7F100006 248 #define MSM_VIDC_EXTRADATA_ENC_DTS_INFO 0x7F100008 249 #define MSM_VIDC_INTERLACE_FRAME_PROGRESSIVE 0x01 250 #define MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST 0x02 251 #define MSM_VIDC_INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST 0x04 252 #define MSM_VIDC_INTERLACE_FRAME_TOPFIELDFIRST 0x08 253 #define MSM_VIDC_INTERLACE_FRAME_BOTTOMFIELDFIRST 0x10 254 #define MSM_VIDC_INTERLACE_FRAME_MBAFF 0x20 255 #define MSM_VIDC_FRAMEPACK_CHECKERBOARD 0x00 256 #define MSM_VIDC_FRAMEPACK_COLUMN_INTERLEAVE 0x01 257 #define MSM_VIDC_FRAMEPACK_ROW_INTERLEAVE 0x02 258 #define MSM_VIDC_FRAMEPACK_SIDE_BY_SIDE 0x03 259 #define MSM_VIDC_FRAMEPACK_TOP_BOTTOM 0x04 260 #define MSM_VIDC_FRAMEPACK_TEMPORAL_INTERLEAVE 0x05 261 #define MSM_VIDC_FRAME_RECONSTRUCTION_INCORRECT 0x0 262 #define MSM_VIDC_FRAME_RECONSTRUCTION_CORRECT 0x01 263 #define MSM_VIDC_FRAME_RECONSTRUCTION_APPROXIMATELY_CORRECT 0x02 264 #define MSM_VIDC_USERDATA_TYPE_FRAME 0x1 265 #define MSM_VIDC_USERDATA_TYPE_TOP_FIELD 0x2 266 #define MSM_VIDC_USERDATA_TYPE_BOTTOM_FIELD 0x3 267 #define MSM_VIDC_RESERVED_1 0 268 #define MSM_VIDC_BT709_5 1 269 #define MSM_VIDC_UNSPECIFIED 2 270 #define MSM_VIDC_RESERVED_2 3 271 #define MSM_VIDC_BT470_6_M 4 272 #define MSM_VIDC_BT601_6_625 5 273 #define MSM_VIDC_BT470_6_BG MSM_VIDC_BT601_6_625 274 #define MSM_VIDC_BT601_6_525 6 275 #define MSM_VIDC_SMPTE_240M 7 276 #define MSM_VIDC_GENERIC_FILM 8 277 #define MSM_VIDC_BT2020 9 278 #define MSM_VIDC_CS_UNKNOWN 0 279 #define MSM_VIDC_CS_BT_601 1 280 #define MSM_VIDC_CS_BT_709 2 281 #define MSM_VIDC_CS_SMPTE_170 3 282 #define MSM_VIDC_CS_SMPTE_240 4 283 #define MSM_VIDC_CS_BT_2020 5 284 #define MSM_VIDC_CS_RESERVED 6 285 #define MSM_VIDC_CS_RGB 7 286 #define MSM_VIDC_MATRIX_RGB 0 287 #define MSM_VIDC_MATRIX_BT_709_5 1 288 #define MSM_VIDC_MATRIX_UNSPECIFIED 2 289 #define MSM_VIDC_MATRIX_RESERVED 3 290 #define MSM_VIDC_MATRIX_FCC_47 4 291 #define MSM_VIDC_MATRIX_601_6_625 5 292 #define MSM_VIDC_MATRIX_BT470_BG MSM_VIDC_MATRIX_601_6_625 293 #define MSM_VIDC_MATRIX_601_6_525 6 294 #define MSM_VIDC_MATRIX_SMPTE_170M MSM_VIDC_MATRIX_601_6_525 295 #define MSM_VIDC_MATRIX_SMPTE_240M 7 296 #define MSM_VIDC_MATRIX_Y_CG_CO 8 297 #define MSM_VIDC_MATRIX_BT_2020 9 298 #define MSM_VIDC_MATRIX_BT_2020_CONST 10 299 #define MSM_VIDC_TRANSFER_RESERVED_1 0 300 #define MSM_VIDC_TRANSFER_BT709_5 1 301 #define MSM_VIDC_TRANSFER_UNSPECIFIED 2 302 #define MSM_VIDC_TRANSFER_RESERVED_2 3 303 #define MSM_VIDC_TRANSFER_BT_470_6_M 4 304 #define MSM_VIDC_TRANSFER_BT_470_6_BG 5 305 #define MSM_VIDC_TRANSFER_601_6_625 6 306 #define MSM_VIDC_TRANSFER_601_6_525 MSM_VIDC_TRANSFER_601_6_625 307 #define MSM_VIDC_TRANSFER_SMPTE_240M 7 308 #define MSM_VIDC_TRANSFER_LINEAR 8 309 #define MSM_VIDC_TRANSFER_LOG_100_1 9 310 #define MSM_VIDC_TRANSFER_LOG_100_SQRT10_1 10 311 #define MSM_VIDC_TRANSFER_IEC_61966 11 312 #define MSM_VIDC_TRANSFER_BT_1361 12 313 #define MSM_VIDC_TRANSFER_SRGB 13 314 #define MSM_VIDC_TRANSFER_BT_2020_10 14 315 #define MSM_VIDC_TRANSFER_BT_2020_12 15 316 #define MSM_VIDC_TRANSFER_SMPTE_ST2084 16 317 #define MSM_VIDC_TRANSFER_SMPTE_ST428_1 17 318 #define MSM_VIDC_TRANSFER_HLG 18 319 #define MSM_VIDC_BIT_DEPTH_8 0 320 #define MSM_VIDC_BIT_DEPTH_10 1 321 #define MSM_VIDC_BIT_DEPTH_UNSUPPORTED 0XFFFFFFFF 322 #define MSM_VIDC_COMPONENT 0 323 #define MSM_VIDC_PAL 1 324 #define MSM_VIDC_NTSC 2 325 #define MSM_VIDC_SECAM 3 326 #define MSM_VIDC_MAC 4 327 #define MSM_VIDC_UNSPECIFIED_FORMAT 5 328 #define MSM_VIDC_RESERVED_1_FORMAT 6 329 #define MSM_VIDC_RESERVED_2_FORMAT 7 330 #define MSM_VIDC_COLOR_DESC_NOT_PRESENT 0 331 #define MSM_VIDC_COLOR_DESC_PRESENT 1 332 #define MSM_VIDC_PIC_STRUCT_MAYBE_INTERLACED 0x0 333 #define MSM_VIDC_PIC_STRUCT_PROGRESSIVE 0x1 334 #define MSM_VIDC_ALL_LAYER_ID 0xFF 335 #endif 336