xref: /aosp_15_r20/external/libxaac/encoder/ixheaace_sbr_crc.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 #define CRC_POLYNOMIAL_SBR (0x0233)
23 #define CRC_MASK_SBR (0x0200)
24 #define CRC_RANGE_SBR (0x03FF)
25 #define CRC_MAXREGS_SBR (1)
26 #define CRCINIT_SBR (0x0)
27 
28 #define SI_FIL_SBR (13)
29 #define SI_FIL_CRC_SBR (14)
30 
31 #define SI_CRC_ENABLE_BITS_SBR (0)
32 #define SI_CRC_BITS_SBR (10)
33 
34 #define SI_ID_BITS_AAC (3)
35 #define SI_FILL_COUNT_BITS (4)
36 #define SI_FILL_ESC_COUNT_BITS (8)
37 #define SI_FILL_EXTENTION_BITS (4)
38 #define ID_FIL (6)
39 
40 struct ixheaace_str_common_data;
41 
42 VOID ixheaace_init_sbr_bitstream(ixheaace_pstr_common_data pstr_cmon_data,
43                                  UWORD8 *ptr_memory_base, WORD32 memory_size, WORD32 crc_active,
44                                  ixheaace_sbr_codec_type sbr_codec);
45 
46 VOID ixheaace_assemble_sbr_bitstream(ixheaace_pstr_common_data pstr_cmon_data,
47                                      ixheaace_sbr_codec_type sbr_codec);
48