xref: /aosp_15_r20/external/libxaac/encoder/ixheaace_sbr_header.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1 /******************************************************************************
2  *                                                                            *
3  * Copyright (C) 2023 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 #pragma once
22 
23 typedef enum { IXHEAACE_SBR_AMP_RES_1_5 = 0, IXHEAACE_SBR_AMP_RES_3_0 } ixheaace_amp_res;
24 
25 typedef enum { IXHEAACE_SINGLE_RATE, IXHEAACE_DUAL_RATE, IXHEAACE_QUAD_RATE } ixheaace_sr_mode;
26 
27 typedef struct ixheaace_str_sbr_hdr_data {
28   WORD32 protocol_version;
29   ixheaace_amp_res sbr_amp_res;
30   WORD32 sbr_start_freq;
31   WORD32 sbr_stop_freq;
32   WORD32 sbr_xover_band;
33   WORD32 sbr_noise_bands;
34   WORD32 sbr_data_extra;
35   WORD32 header_extra_1;
36   WORD32 header_extra_2;
37   WORD32 sbr_limiter_bands;
38   WORD32 sbr_limiter_gains;
39   WORD32 sbr_interpol_freq;
40   WORD32 sbr_smoothing_length;
41   WORD32 alter_scale;
42   WORD32 freq_scale;
43 
44   WORD32 sbr_pre_proc;
45   WORD32 sbr_pvc_active;
46   WORD32 sbr_pvc_mode;
47   WORD32 sbr_harmonic;
48   WORD32 sbr_inter_tes_active;
49   WORD32 hq_esbr;
50 
51   ixheaace_sr_mode sample_rate_mode;
52 
53   WORD32 coupling;
54   WORD32 prev_coupling;
55 } ixheaace_str_sbr_hdr_data, *ixheaace_pstr_sbr_hdr_data;
56