diff options
Diffstat (limited to 'media/libstagefright/codecs/aacdec/set_mc_info.cpp')
-rw-r--r-- | media/libstagefright/codecs/aacdec/set_mc_info.cpp | 309 |
1 files changed, 0 insertions, 309 deletions
diff --git a/media/libstagefright/codecs/aacdec/set_mc_info.cpp b/media/libstagefright/codecs/aacdec/set_mc_info.cpp deleted file mode 100644 index 5a11941..0000000 --- a/media/libstagefright/codecs/aacdec/set_mc_info.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/* ------------------------------------------------------------------ - * Copyright (C) 1998-2009 PacketVideo - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. - * See the License for the specific language governing permissions - * and limitations under the License. - * ------------------------------------------------------------------- - */ -/* - - Pathname: ./src/set_mc_info.c - ------------------------------------------------------------------------------- - REVISION HISTORY - - Description: Modified per review comments - - Description: Change audioObjectType from Int to enum types - - Who: Date: - Description: - ------------------------------------------------------------------------------- - INPUT AND OUTPUT DEFINITIONS - - Inputs: - pMC_Info = pointer to structure MC_Info that holds information of - multiple channels' configurations - Data type pointer to MC_Info - - objectType = variable that holds the Audio Object Type of current - file/bitstream. - Data type Int - - sampling_rate_idx = variable that indicates the sampling rate of the - source file being encoded - Data Type Int - - tag = variable that stores the element instance tag of the - first (front) channel element. - Data type Int - - is_cpe = variable that indicates if a Channel Pair Element (CPE) - or a Single Channel Element (SCE) is used. - Data type Int (maybe Boolean) - - pWinSeqInfo = array of pointers that points to structures holding - frame information of long and short window sequences. - Data type FrameInfo - - pSfbwidth128 = array that will store the scalefactor bandwidth of - short window sequence frame. - Data type Int array - - Local Stores/Buffers/Pointers Needed: - None - - Global Stores/Buffers/Pointers Needed: - None - - Outputs: - return SUCCESS - - Pointers and Buffers Modified: - pMC_Info->nch contains the number of channels depending - upon if CPE or SCE is used - pMC_Info->objectType contents updated with the decoded Audio - Object Type - - pMC_Info->ch_info.tag contents updated with the value of decoded - channel element tag - - PMC_Info->ch_info.cpe contents updated depending upon if CPE or - SCE is used - - pWinSeqInfo contents updated by calling infoinit if - sampling_rate_idx is different from - previous value - - pSfbWidth128 contents updated by calling infoinit if - sampling_rate_idx is different from - previous value - - Local Stores Modified: - None - - Global Stores Modified: - None - ------------------------------------------------------------------------------- - FUNCTION DESCRIPTION - - This function initializes the channel configuration information. The - structure MC_Info stores the number of channels, channel element tag. - If sampling rate index is different from the previous value, - The frame information will be updated by calling infoinit.c - ------------------------------------------------------------------------------- - REQUIREMENTS - - This function shall update the relevant information on channel configs - ------------------------------------------------------------------------------- - REFERENCES - - (1) MPEG-2 NBC Audio Decoder - "This software module was originally developed by AT&T, Dolby - Laboratories, Fraunhofer Gesellschaft IIS in the course of development - of the MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, 14496-1,2 and - 3. This software module is an implementation of a part of one or more - MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4 - Audio standard. ISO/IEC gives users of the MPEG-2 NBC/MPEG-4 Audio - standards free license to this software module or modifications thereof - for use in hardware or software products claiming conformance to the - MPEG-2 NBC/MPEG-4 Audio standards. Those intending to use this software - module in hardware or software products are advised that this use may - infringe existing patents. The original developer of this software - module and his/her company, the subsequent editors and their companies, - and ISO/IEC have no liability for use of this software module or - modifications thereof in an implementation. Copyright is not released - for non MPEG-2 NBC/MPEG-4 Audio conforming products.The original - developer retains full right to use the code for his/her own purpose, - assign or donate the code to a third party and to inhibit third party - from using the code for non MPEG-2 NBC/MPEG-4 Audio conforming products. - This copyright notice must be included in all copies or derivative - works." - Copyright(c)1996. - - (2) ISO/IEC 14496-3: 1999(E) - Subpart 1 p20 Table 1.6.3 - Subpart 4 p30 5.1.2.1 - Subpart 4 p31 4.5.2.1.1 - ------------------------------------------------------------------------------- - PSEUDO-CODE - - pMC_Info->nch = 0; - - pMC_Info->profile = objectType; - - IF (pMC_Info->sampling_rate_idx != sampling_rate_idx) - THEN - pMC_Info->sampling_rate_idx = sampling_rate_idx; - - CALL infoinit( - samp_rate_idx = sampling_rate_idx - ppWin_seq_info= pWinSeqInfo - pSfbwidth128 = pSfbwidth128) - MODIFYING(pWinSeqInfo, pSfbwidth128) - RETURNING(None) - ENDIF - - pCh_Info = &pMC_Info->ch_info[0]; - pCh_Info->tag = tag; - - IF (is_cpe == FALSE) - THEN - pCh_Info->cpe = FALSE; - - pMC_Info->nch = 1; - - ELSE - pCh_Info->cpe = TRUE; - pCh_Info = &pMC_Info->ch_info[1]; - pCh_Info->tag = tag; - pCh_Info->cpe = TRUE; - - pMC_Info->nch = 2; - - ENDIF - - RETURN(SUCCESS) - ------------------------------------------------------------------------------- - RESOURCES USED - When the code is written for a specific target processor the - the resources used should be documented below. - - STACK USAGE: [stack count for this module] + [variable to represent - stack usage for each subroutine called] - - where: [stack usage variable] = stack usage for [subroutine - name] (see [filename].ext) - - DATA MEMORY USED: x words - - PROGRAM MEMORY USED: x words - - CLOCK CYCLES: [cycle count equation for this module] + [variable - used to represent cycle count for each subroutine - called] - - where: [cycle count variable] = cycle count for [subroutine - name] (see [filename].ext) - ------------------------------------------------------------------------------- -*/ - - -/*---------------------------------------------------------------------------- -; INCLUDES -----------------------------------------------------------------------------*/ -#include "pv_audio_type_defs.h" -#include "set_mc_info.h" -#include "huffman.h" -#include "s_ch_info.h" - -/*---------------------------------------------------------------------------- -; MACROS -; Define module specific macros here -----------------------------------------------------------------------------*/ - - -/*---------------------------------------------------------------------------- -; DEFINES -; Include all pre-processor statements here. Include conditional -; compile variables also. -----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- -; LOCAL FUNCTION DEFINITIONS -; Function Prototype declaration -----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- -; LOCAL STORE/BUFFER/POINTER DEFINITIONS -; Variable declaration - defined here and used outside this module -----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- -; EXTERNAL FUNCTION REFERENCES -; Declare functions defined elsewhere and referenced in this module -----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- -; EXTERNAL GLOBAL STORE/BUFFER/POINTER REFERENCES -; Declare variables used in this module but defined elsewhere -----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- -; FUNCTION CODE -----------------------------------------------------------------------------*/ -Int set_mc_info( - MC_Info *pMC_Info, - const tMP4AudioObjectType audioObjectType, /* used to be profile */ - const Int sampling_rate_idx, - const Int tag, /* always pass-in last element's value */ - const Int is_cpe, - FrameInfo *pWinSeqInfo[], - Int sfbwidth128[] -) -{ - Ch_Info *pCh_Info; /*optional task: eliminate this structure */ - - /* - * audioObjectType and sampling rate - * re-configure if new sampling rate - * - */ - pMC_Info->audioObjectType = audioObjectType; - - if (pMC_Info->sampling_rate_idx != sampling_rate_idx) - { - pMC_Info->sampling_rate_idx = sampling_rate_idx; - - Int status; - status = infoinit(sampling_rate_idx, - pWinSeqInfo, - sfbwidth128); - if (SUCCESS != status) - { - return 1; - } - } - - /* - * first setup values for mono config, Single Channel Element (SCE) - * then if stereo, go inside if(is_cpe != FALSE) branch to setup - * values for stereo. - * set the channel counts - * save tag for left channel - */ - pMC_Info->nch = 1 + is_cpe; - - pCh_Info = &pMC_Info->ch_info[0]; - pCh_Info->tag = tag; - pCh_Info->cpe = is_cpe; - - /* This if branch maybe deleted in the future */ - if (is_cpe != FALSE) - { - /* Channel Pair Element (CPE) */ - /* right channel*/ - pCh_Info = &pMC_Info->ch_info[1]; - pCh_Info->cpe = TRUE; - - } - - return(SUCCESS); /* possible future error checkings */ -} |