• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright (C) 2022 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 /**
22 *******************************************************************************
23 * @file
24 *  isvce_interface_structs.h
25 *
26 * @brief
27 *  Contains struct definition used for interface objects such as input,
28 *  output, and rec
29 *
30 * @author
31 *  ittiam
32 *
33 * @remarks
34 *  None
35 *
36 *******************************************************************************
37 */
38 
39 #ifndef _ISVCE_INTERFACE_STRUCTS_H_
40 #define _ISVCE_INTERFACE_STRUCTS_H_
41 
42 #include "isvc_structs.h"
43 
44 typedef struct isvce_raw_inp_buf_t
45 {
46     /** Descriptor of raw buffer                                     */
47     iv_raw_buf_t s_raw_buf;
48 
49     /** Lower 32bits of time stamp corresponding to the above buffer */
50     UWORD32 u4_timestamp_low;
51 
52     /** Upper 32bits of time stamp corresponding to the above buffer */
53     UWORD32 u4_timestamp_high;
54 
55     /** Flag to indicate if the current buffer is last buffer */
56     UWORD32 u4_is_last;
57 
58     /** Flag to indicate if mb info is sent along with input buffer     */
59     UWORD32 u4_mb_info_type;
60 
61     /** Flag to indicate the size of mb info structure                  */
62     UWORD32 u4_mb_info_size;
63 
64     /** Buffer containing mb info if isvce_mb_info_type is non-zero           */
65     void *pv_mb_info;
66 
67     /** Flag to indicate if pic info is sent along with input buffer     */
68     UWORD32 u4_pic_info_type;
69 
70     /** Buffer containing pic info if isvce_mb_info_type is non-zero           */
71     void *pv_pic_info;
72 
73     /** SEI CCV params flag                                              */
74     UWORD8 u1_sei_ccv_params_present_flag;
75 
76     /** SEI CCV params info                                              */
77     sei_ccv_params_t s_sei_ccv;
78 
79 } isvce_raw_inp_buf_t;
80 
81 typedef struct
82 {
83     /** Descriptor of bitstream buffer                                     */
84     iv_bits_buf_t as_bits_buf[MAX_NUM_SPATIAL_LAYERS];
85 
86     /** Lower 32bits of time stamp corresponding to the above buffer */
87     UWORD32 u4_timestamp_low;
88 
89     /** Upper 32bits of time stamp corresponding to the above buffer */
90     UWORD32 u4_timestamp_high;
91 
92     /** Flag to indicate if the current buffer is last buffer */
93     UWORD32 u4_is_last;
94 
95 } isvce_out_buf_t;
96 
97 typedef struct
98 {
99     /** Descriptor of picture buffer                                     */
100     svc_au_buf_t s_pic_buf;
101 
102     /** Lower 32bits of time stamp corresponding to the above buffer */
103     UWORD32 u4_timestamp_low;
104 
105     /** Upper 32bits of time stamp corresponding to the above buffer */
106     UWORD32 u4_timestamp_high;
107 
108     /** Flag to indicate if the current buffer is last buffer */
109     UWORD32 u4_is_last;
110 
111     /** Picture count corresponding to current picture */
112     WORD32 i4_pic_cnt;
113 
114 } isvce_rec_buf_t;
115 
116 #endif
117