1 /****************************************************************************** 2 * 3 * Copyright (C) 2021 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 21 #ifndef _IMVC_DEFS_H_ 22 #define _IMVC_DEFS_H_ 23 24 #define MAX_NUM_VIEWS 6 25 26 #define LOG2_MAX_NUM_VIEWS 3 27 28 #define MAX_NUM_IVP_REFS MAX_NUM_VIEWS 29 30 #define MAX_NUM_LEVEL_VALUES_SIGNALLED 1 31 32 #define MAX_NUM_OPERATING_POINTS 1 33 34 #define MULTIVIEW_HIGH_PROFILE_IDC 118 35 36 #define NUM_OF_ZERO_BYTES_BEFORE_START_CODE 2 37 38 #define EMULATION_PREVENTION_BYTE 0x03 39 40 #define MIN_H264_QP 0 41 42 #define MAX_H264_QP 51 43 44 #define NUM_SP_COMPONENTS 2 45 46 #define NUM_COMPONENTS 3 47 48 #define FORCEINLINE __attribute__((always_inline)) inline 49 50 typedef void *FT_ALIGNED_ALLOC(void *pv_mem_ctxt, WORD32 i4_alignment, WORD32 i4_size); 51 52 typedef void FT_ALIGNED_FREE(void *pv_mem_ctxt, void *pv_buf); 53 54 typedef enum COMPONENT_TYPES_T 55 { 56 Y = 0, 57 UV = 1, 58 U = 1, 59 V = 2, 60 } COMPONENT_TYPES_T; 61 62 typedef enum AVC_EXT_NALU_ID_T 63 { 64 UNSPEC_0 = 0, 65 66 SLICE_NON_IDR = 1, 67 68 SLICE_DPA = 2, 69 70 SLICE_DPB = 3, 71 72 SLICE_DPC = 4, 73 74 SLICE_IDR = 5, 75 76 SEI = 6, 77 78 SPS = 7, 79 80 PPS = 8, 81 82 AUD = 9, 83 84 EOSEQ = 10, 85 86 EOSTR = 11, 87 88 FILLER = 12, 89 90 SPSE = 13, 91 92 PREFIX_NAL = 14, 93 94 SUBSET_SPS = 15, 95 96 AUX_PIC = 19, 97 98 CODED_SLICE_EXTENSION = 20, 99 100 UNSPEC_31 = 24 101 102 } AVC_EXT_NALU_ID_T; 103 104 typedef enum SLICE_TYPES_T 105 { 106 PSLICE = 0, 107 BSLICE = 1, 108 ISLICE = 2, 109 SPSLICE = 3, 110 SISLICE = 4, 111 MAXSLICE_TYPE, 112 } SLICE_TYPES_T; 113 114 #endif 115