xref: /aosp_15_r20/external/libavc/encoder/svc/isvce_interface_structs.h (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Worker /******************************************************************************
2*495ae853SAndroid Build Coastguard Worker  *
3*495ae853SAndroid Build Coastguard Worker  * Copyright (C) 2022 The Android Open Source Project
4*495ae853SAndroid Build Coastguard Worker  *
5*495ae853SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*495ae853SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*495ae853SAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*495ae853SAndroid Build Coastguard Worker  *
9*495ae853SAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*495ae853SAndroid Build Coastguard Worker  *
11*495ae853SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*495ae853SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*495ae853SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*495ae853SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*495ae853SAndroid Build Coastguard Worker  * limitations under the License.
16*495ae853SAndroid Build Coastguard Worker  *
17*495ae853SAndroid Build Coastguard Worker  *****************************************************************************
18*495ae853SAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*495ae853SAndroid Build Coastguard Worker  */
20*495ae853SAndroid Build Coastguard Worker 
21*495ae853SAndroid Build Coastguard Worker /**
22*495ae853SAndroid Build Coastguard Worker *******************************************************************************
23*495ae853SAndroid Build Coastguard Worker * @file
24*495ae853SAndroid Build Coastguard Worker *  isvce_interface_structs.h
25*495ae853SAndroid Build Coastguard Worker *
26*495ae853SAndroid Build Coastguard Worker * @brief
27*495ae853SAndroid Build Coastguard Worker *  Contains struct definition used for interface objects such as input,
28*495ae853SAndroid Build Coastguard Worker *  output, and rec
29*495ae853SAndroid Build Coastguard Worker *
30*495ae853SAndroid Build Coastguard Worker * @author
31*495ae853SAndroid Build Coastguard Worker *  ittiam
32*495ae853SAndroid Build Coastguard Worker *
33*495ae853SAndroid Build Coastguard Worker * @remarks
34*495ae853SAndroid Build Coastguard Worker *  None
35*495ae853SAndroid Build Coastguard Worker *
36*495ae853SAndroid Build Coastguard Worker *******************************************************************************
37*495ae853SAndroid Build Coastguard Worker */
38*495ae853SAndroid Build Coastguard Worker 
39*495ae853SAndroid Build Coastguard Worker #ifndef _ISVCE_INTERFACE_STRUCTS_H_
40*495ae853SAndroid Build Coastguard Worker #define _ISVCE_INTERFACE_STRUCTS_H_
41*495ae853SAndroid Build Coastguard Worker 
42*495ae853SAndroid Build Coastguard Worker #include "isvc_structs.h"
43*495ae853SAndroid Build Coastguard Worker 
44*495ae853SAndroid Build Coastguard Worker typedef struct isvce_raw_inp_buf_t
45*495ae853SAndroid Build Coastguard Worker {
46*495ae853SAndroid Build Coastguard Worker     /** Descriptor of raw buffer                                     */
47*495ae853SAndroid Build Coastguard Worker     iv_raw_buf_t s_raw_buf;
48*495ae853SAndroid Build Coastguard Worker 
49*495ae853SAndroid Build Coastguard Worker     /** Lower 32bits of time stamp corresponding to the above buffer */
50*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_low;
51*495ae853SAndroid Build Coastguard Worker 
52*495ae853SAndroid Build Coastguard Worker     /** Upper 32bits of time stamp corresponding to the above buffer */
53*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_high;
54*495ae853SAndroid Build Coastguard Worker 
55*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate if the current buffer is last buffer */
56*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_is_last;
57*495ae853SAndroid Build Coastguard Worker 
58*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate if mb info is sent along with input buffer     */
59*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_mb_info_type;
60*495ae853SAndroid Build Coastguard Worker 
61*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate the size of mb info structure                  */
62*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_mb_info_size;
63*495ae853SAndroid Build Coastguard Worker 
64*495ae853SAndroid Build Coastguard Worker     /** Buffer containing mb info if isvce_mb_info_type is non-zero           */
65*495ae853SAndroid Build Coastguard Worker     void *pv_mb_info;
66*495ae853SAndroid Build Coastguard Worker 
67*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate if pic info is sent along with input buffer     */
68*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_pic_info_type;
69*495ae853SAndroid Build Coastguard Worker 
70*495ae853SAndroid Build Coastguard Worker     /** Buffer containing pic info if isvce_mb_info_type is non-zero           */
71*495ae853SAndroid Build Coastguard Worker     void *pv_pic_info;
72*495ae853SAndroid Build Coastguard Worker 
73*495ae853SAndroid Build Coastguard Worker     /** SEI CCV params flag                                              */
74*495ae853SAndroid Build Coastguard Worker     UWORD8 u1_sei_ccv_params_present_flag;
75*495ae853SAndroid Build Coastguard Worker 
76*495ae853SAndroid Build Coastguard Worker     /** SEI CCV params info                                              */
77*495ae853SAndroid Build Coastguard Worker     sei_ccv_params_t s_sei_ccv;
78*495ae853SAndroid Build Coastguard Worker 
79*495ae853SAndroid Build Coastguard Worker } isvce_raw_inp_buf_t;
80*495ae853SAndroid Build Coastguard Worker 
81*495ae853SAndroid Build Coastguard Worker typedef struct
82*495ae853SAndroid Build Coastguard Worker {
83*495ae853SAndroid Build Coastguard Worker     /** Descriptor of bitstream buffer                                     */
84*495ae853SAndroid Build Coastguard Worker     iv_bits_buf_t as_bits_buf[MAX_NUM_SPATIAL_LAYERS];
85*495ae853SAndroid Build Coastguard Worker 
86*495ae853SAndroid Build Coastguard Worker     /** Lower 32bits of time stamp corresponding to the above buffer */
87*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_low;
88*495ae853SAndroid Build Coastguard Worker 
89*495ae853SAndroid Build Coastguard Worker     /** Upper 32bits of time stamp corresponding to the above buffer */
90*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_high;
91*495ae853SAndroid Build Coastguard Worker 
92*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate if the current buffer is last buffer */
93*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_is_last;
94*495ae853SAndroid Build Coastguard Worker 
95*495ae853SAndroid Build Coastguard Worker } isvce_out_buf_t;
96*495ae853SAndroid Build Coastguard Worker 
97*495ae853SAndroid Build Coastguard Worker typedef struct
98*495ae853SAndroid Build Coastguard Worker {
99*495ae853SAndroid Build Coastguard Worker     /** Descriptor of picture buffer                                     */
100*495ae853SAndroid Build Coastguard Worker     svc_au_buf_t s_pic_buf;
101*495ae853SAndroid Build Coastguard Worker 
102*495ae853SAndroid Build Coastguard Worker     /** Lower 32bits of time stamp corresponding to the above buffer */
103*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_low;
104*495ae853SAndroid Build Coastguard Worker 
105*495ae853SAndroid Build Coastguard Worker     /** Upper 32bits of time stamp corresponding to the above buffer */
106*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_timestamp_high;
107*495ae853SAndroid Build Coastguard Worker 
108*495ae853SAndroid Build Coastguard Worker     /** Flag to indicate if the current buffer is last buffer */
109*495ae853SAndroid Build Coastguard Worker     UWORD32 u4_is_last;
110*495ae853SAndroid Build Coastguard Worker 
111*495ae853SAndroid Build Coastguard Worker     /** Picture count corresponding to current picture */
112*495ae853SAndroid Build Coastguard Worker     WORD32 i4_pic_cnt;
113*495ae853SAndroid Build Coastguard Worker 
114*495ae853SAndroid Build Coastguard Worker } isvce_rec_buf_t;
115*495ae853SAndroid Build Coastguard Worker 
116*495ae853SAndroid Build Coastguard Worker #endif
117