1f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/* ------------------------------------------------------------------ 2f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Copyright (C) 1998-2009 PacketVideo 3f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * 4f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * you may not use this file except in compliance with the License. 6f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * You may obtain a copy of the License at 7f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * 8f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * 10f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Unless required by applicable law or agreed to in writing, software 11f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * express or implied. 14f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * See the License for the specific language governing permissions 15f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * and limitations under the License. 16f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * ------------------------------------------------------------------- 17f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber */ 18f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/* 19f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 20f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Pathname: get_ele_list.c 21f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 22f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 23f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber REVISION HISTORY 24f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 25f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Modified from original shareware code 26f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 27f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Modified to pass variables by reference to eliminate use 28f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber of global variables. 29f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 30f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Change to PacketVideo standard, rename variables. 31f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 32f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Add own header file, make pInputStream second param for speed. 33f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 34f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Changes per code review: 35f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 1) Include header file 36f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 2) Convert to count down 37f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 3) Add return (not in review) 38f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 39f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: 40f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber (1) Updated copyright header 41f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber (2) Replaced include of "interface.h" with "e_ProgConfig.h" 42f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 43f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: Replace some instances of getbits to get9_n_lessbits 44f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber when the number of bits read is 9 or less and get1bits 45f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber when only 1 bit is read. 46f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 47f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Who: Date: 48f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description: 49f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 50f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber INPUT AND OUTPUT DEFINITIONS 51f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 52f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Inputs: 53f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pElementList = pointer to an EleList structure - only the field num_ele 54f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber needs to be set. Data type pointer to EleList. 55f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 56f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pInputStream = pointer to a BITS structure, used by the function getbits 57f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber to provide data. Data type pointer to BITS 58f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 59f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber enableCPE = boolean value indicating the area to be read contains 60f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber a channel pair element field. Data type Bool 61f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 62f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 63f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Local Stores/Buffers/Pointers Needed: None 64f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 65f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Global Stores/Buffers/Pointers Needed: None 66f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 67f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Outputs: None 68f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 69f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Pointers and Buffers Modified: 70f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pElementList contents are updated with information pertaining to channel 71f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber configuration. 72f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 73f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pInputBuffer contents are updated to the next location to be read from 74f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber the input stream. 75f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 76f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Local Stores Modified: None 77f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 78f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Global Stores Modified: None 79f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 80f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 81f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber FUNCTION DESCRIPTION 82f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 83f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber This function is called several times by get_prog_config() to read in part of 84f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber the program configuration data related to channel setup. 85f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 86f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 87f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber REQUIREMENTS 88f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 89f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber This function shall not have static or global variables. 90f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 91f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 92f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber REFERENCES 93f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 94f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber (1) ISO/IEC 13818-7:1997 Titled "Information technology - Generic coding 95f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber of moving pictures and associated audio information - Part 7: Advanced 96f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Audio Coding (AAC)", Table 6.21 - Syntax of program_config_element(), 97f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber page 16, and section 8.5 "Program Config Element (PCE)", page 30. 98f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 99f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber (2) MPEG-2 NBC Audio Decoder 100f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber "This software module was originally developed by AT&T, Dolby 101f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Laboratories, Fraunhofer Gesellschaft IIS in the course of development 102f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber of the MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, 14496-1,2 and 103f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 3. This software module is an implementation of a part of one or more 104f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4 105f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Audio standard. ISO/IEC gives users of the MPEG-2 NBC/MPEG-4 Audio 106f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber standards free license to this software module or modifications thereof 107f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber for use in hardware or software products claiming conformance to the 108f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber MPEG-2 NBC/MPEG-4 Audio standards. Those intending to use this software 109f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber module in hardware or software products are advised that this use may 110f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber infringe existing patents. The original developer of this software 111f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber module and his/her company, the subsequent editors and their companies, 112f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber and ISO/IEC have no liability for use of this software module or 113f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber modifications thereof in an implementation. Copyright is not released 114f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber for non MPEG-2 NBC/MPEG-4 Audio conforming products.The original 115f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber developer retains full right to use the code for his/her own purpose, 116f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber assign or donate the code to a third party and to inhibit third party 117f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber from using the code for non MPEG-2 NBC/MPEG-4 Audio conforming products. 118f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber This copyright notice must be included in all copies or derivative 119f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber works." 120f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Copyright(c)1996. 121f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 122f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 123f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 124f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber PSEUDO-CODE 125f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 126f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber elementCount = pElementList->num_ele; 127f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 128f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber FOR (index = 0; index < elementCount; index++) 129f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber IF (enableCPE != FALSE) THEN 130f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pElementList->ele_is_cpe[index] = 131f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber getbits(LEN_ELE_IS_CPE, pInputStream); 132f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber ELSE 133f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pElementList->ele_is_cpe[index] = 0; 134f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber END IF 135f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 136f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pElementList->ele_tag[index] = getbits(LEN_TAG, pInputStream); 137f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 138f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber END FOR 139f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 140f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber RETURNS nothing 141f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 142f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 143f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber RESOURCES USED 144f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber When the code is written for a specific target processor the 145f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber the resources used should be documented below. 146f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 147f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber STACK USAGE: [stack count for this module] + [variable to represent 148f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber stack usage for each subroutine called] 149f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 150f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber where: [stack usage variable] = stack usage for [subroutine 151f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber name] (see [filename].ext) 152f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 153f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber DATA MEMORY USED: x words 154f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 155f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber PROGRAM MEMORY USED: x words 156f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 157f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber CLOCK CYCLES: [cycle count equation for this module] + [variable 158f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber used to represent cycle count for each subroutine 159f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber called] 160f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 161f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber where: [cycle count variable] = cycle count for [subroutine 162f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber name] (see [filename].ext) 163f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 164f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------ 165f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber*/ 166f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 167f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 168f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 169f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 170f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; INCLUDES 171f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 172f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "pv_audio_type_defs.h" 173f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "s_elelist.h" 174f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "s_bits.h" 175f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "e_progconfigconst.h" 176f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "ibstream.h" 177f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include "get_ele_list.h" 178f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 179f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 180f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; MACROS 181f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define module specific macros here 182f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 183f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 184f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 185f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; DEFINES 186f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Include all pre-processor statements here. Include conditional 187f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; compile variables also. 188f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 189f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 190f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 191f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; LOCAL FUNCTION DEFINITIONS 192f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Function Prototype declaration 193f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 194f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 195f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 196f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; LOCAL STORE/BUFFER/POINTER DEFINITIONS 197f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Variable declaration - defined here and used outside this module 198f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 199f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 200f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 201f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; EXTERNAL FUNCTION REFERENCES 202f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Declare functions defined elsewhere and referenced in this module 203f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 204f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 205f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 206f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; EXTERNAL GLOBAL STORE/BUFFER/POINTER REFERENCES 207f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Declare variables used in this module but defined elsewhere 208f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 209f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 210f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*---------------------------------------------------------------------------- 211f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; FUNCTION CODE 212f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/ 213f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubervoid get_ele_list( 214f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber EleList *pElementList, 215f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber BITS *pInputStream, 216f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber const Bool enableCPE) 217f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber{ 218f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Int index; 219f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Int *pEleIsCPE; 220f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Int *pEleTag; 221f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 222f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pEleIsCPE = &pElementList->ele_is_cpe[0]; 223f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber pEleTag = &pElementList->ele_tag[0]; 224f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 225f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber for (index = pElementList->num_ele; index > 0; index--) 226f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber { 227f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber if (enableCPE != FALSE) 228f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber { 229f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *pEleIsCPE++ = get1bits(/*LEN_ELE_IS_CPE, */pInputStream); 230f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber } 231f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber else 232f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber { 233f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *pEleIsCPE++ = FALSE; 234f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber } 235f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 236f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *pEleTag++ = get9_n_lessbits(LEN_TAG, pInputStream); 237f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 238f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber } /* end for (index) */ 239f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 240f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber return; 241f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 242f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber} /* end get_ele_list */ 243f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber 244