From 203e3f28fbebec7011342017fafc2a0bda0ce530 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Fri, 8 Apr 2016 12:05:12 -0700 Subject: [PATCH] AAC/SBR decoder improvements and bugfixes * AAC-Decoder - Add support for AOT 20 (ER-AAC scalable) (base layer only) - Add support for AAC as used in Digital Radio Mondiale (DRM30/DRM+) Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp libFDK/src/FDK_core.cpp libFDK/src/FDK_tools_rom.cpp libMpegTPDec/src/tpdec_asc.cpp libMpegTPDec/src/tpdec_lib.cpp libMpegTPDec/src/version libSBRdec/include/sbrdecoder.h libSBRdec/src/env_extr.h libSBRdec/src/sbrdecoder.cpp Added file(s): libMpegTPDec/src/tpdec_drm.cpp libMpegTPDec/src/tpdec_drm.h - Fix sanity check in HCR module that was performed at the wrong point in time. Modified file(s): libAACdec/src/aacdecoder_lib.cpp libAACdec/src/block.cpp - Extend core sampling rate support up to 96 kHz. Modified file(s): libAACdec/src/aac_rom.cpp libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp - Return correct audio output channel description according number of output channels. Modified file(s): libAACdec/src/aacdecoder_lib.cpp - Indroduce decoder intern output buffer. This change allows to use framework output buffer with the actual size of the deocder output channels. Modified file(s): libAACdec/include/aacdecoder_lib.h libAACdec/src/aacdecoder.h libAACdec/src/aacdecoder_lib.cpp * SBR-Decoder - Increase robustness for erroneous input data. - Improve error concealment performance. - Fix handling of lowest sub-band for LD-SBR Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp libSBRdec/src/env_calc.cpp libSBRdec/src/env_dec.cpp libSBRdec/src/env_extr.cpp libSBRdec/src/env_extr.h libSBRdec/src/sbr_dec.cpp libSBRdec/src/sbr_rom.cpp libSBRdec/src/sbr_rom.h libSBRdec/src/sbrdecoder.cpp - Add QMF delay compensation for ELD v2 streams decoded with the complex low delay filter-bank. Modified file(s): libSBRdec/src/sbr_dec.cpp libSBRdec/src/sbr_dec.h libSBRdec/src/sbrdecoder.cpp - Introduce a different handling of frames to be flushed dependent on whether there are delayed frames available or not. Modified file(s): libSBRdec/src/sbr_ram.h libSBRdec/src/sbrdecoder.cpp - Calculate the correct number of samples for dual-mono copy in case of no available PS data. Modified file(s): libSBRdec/src/sbrdecoder.cpp * SYS-Library - Change include order of genericStds.h to prevent conflict with definitions which are also used in math.h. Modified file(s): libSYS/src/genericStds.cpp Change-Id: I3ecffbad85f39b056213107955cfadbeb3f4b6e1 --- documentation/aacDecoder.pdf | Bin 505567 -> 387906 bytes libAACdec/include/aacdecoder_lib.h | 3 +- libAACdec/src/aac_rom.cpp | 85 ++++++++++-- libAACdec/src/aacdecoder.cpp | 37 +++++- libAACdec/src/aacdecoder.h | 4 +- libAACdec/src/aacdecoder_lib.cpp | 43 ++++-- libAACdec/src/block.cpp | 6 +- libFDK/src/FDK_core.cpp | 2 +- libFDK/src/FDK_tools_rom.cpp | 198 +++++++++++++++++++++++++++- libMpegTPDec/src/tpdec_asc.cpp | 135 ++++++++++++++++++- libMpegTPDec/src/tpdec_drm.cpp | 146 +++++++++++++++++++++ libMpegTPDec/src/tpdec_drm.h | 194 +++++++++++++++++++++++++++ libMpegTPDec/src/tpdec_lib.cpp | 27 ++++ libMpegTPDec/src/version | 2 +- libSBRdec/include/sbrdecoder.h | 3 +- libSBRdec/src/env_calc.cpp | 204 +++++++++++++++++++++-------- libSBRdec/src/env_dec.cpp | 4 +- libSBRdec/src/env_extr.cpp | 4 +- libSBRdec/src/env_extr.h | 12 +- libSBRdec/src/sbr_dec.cpp | 62 ++++++++- libSBRdec/src/sbr_dec.h | 8 +- libSBRdec/src/sbr_ram.h | 3 +- libSBRdec/src/sbr_rom.cpp | 11 +- libSBRdec/src/sbr_rom.h | 3 +- libSBRdec/src/sbrdecoder.cpp | 177 ++++++++++++++++++++++--- libSYS/src/genericStds.cpp | 6 +- 26 files changed, 1237 insertions(+), 142 deletions(-) create mode 100644 libMpegTPDec/src/tpdec_drm.cpp create mode 100644 libMpegTPDec/src/tpdec_drm.h diff --git a/documentation/aacDecoder.pdf b/documentation/aacDecoder.pdf index d3885761ff2c43280b7cd7bfde779a9d03c29eca..458fda1a98a103f7e3ed04f2afbf331287afd575 100644 GIT binary patch delta 184402 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

G`Jp}HO~j*&fAwmHc7Gw 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 delta 303644 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

d-yQ!GQr-g8&wH1M10TM7`<{R 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 & AC_INDEP ); - /* Enable SBR for implicit SBR signalling. */ - if (sbrError == SBRDEC_OK) { + /* Enable SBR for implicit SBR signalling but only if no severe error happend. */ + if ( (sbrError == SBRDEC_OK) + || (sbrError == SBRDEC_PARSE_ERROR) ) { self->sbrEnabled = 1; } } else { @@ -553,7 +555,7 @@ AAC_DECODER_ERROR CAacDecoder_ExtPayloadParse (HANDLE_AACDECODER self, FDKpushBiDirectional(hBs, *count); *count = 0; } else { - /* If this is not a fill element with a known length, we are screwed an no further parsing makes sense. */ + /* If this is not a fill element with a known length, we are screwed and further parsing makes no sense. */ if (sbrError != SBRDEC_OK) { self->frameOK = 0; } @@ -832,12 +834,18 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_Init(HANDLE_AACDECODER self, const CS switch (asc->m_aot) { case AOT_AAC_LC: self->streamInfo.profile = 1; - break; + + case AOT_ER_AAC_SCAL: + if (asc->m_sc.m_gaSpecificConfig.m_layer > 0) { + /* aac_scalable_extension_element() currently not supported. */ + return AAC_DEC_UNSUPPORTED_FORMAT; + } case AOT_SBR: case AOT_PS: case AOT_ER_AAC_LD: case AOT_ER_AAC_ELD: + case AOT_DRM_AAC: break; default: @@ -957,11 +965,20 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_Init(HANDLE_AACDECODER self, const CS if (asc->m_aot == AOT_ER_AAC_ELD) { self->flags |= AC_ELD; + self->flags |= (asc->m_sbrPresentFlag) ? AC_SBR_PRESENT : 0; /* Need to set the SBR flag for backward-compatibility + reasons. Even if SBR is not supported. */ self->flags |= (asc->m_sc.m_eldSpecificConfig.m_sbrCrcFlag) ? AC_SBRCRC : 0; self->flags |= (asc->m_sc.m_eldSpecificConfig.m_useLdQmfTimeAlign) ? AC_LD_MPS : 0; } self->flags |= (asc->m_aot == AOT_ER_AAC_LD) ? AC_LD : 0; self->flags |= (asc->m_epConfig >= 0) ? AC_ER : 0; + if ( asc->m_aot == AOT_DRM_AAC ) { + self->flags |= AC_DRM|AC_SBRCRC|AC_SCALABLE; + } + if ( (asc->m_aot == AOT_AAC_SCAL) + || (asc->m_aot == AOT_ER_AAC_SCAL) ) { + self->flags |= AC_SCALABLE; + } if (asc->m_sbrPresentFlag) { @@ -1147,6 +1164,9 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_DecodeFrame( /* Check sampling frequency */ switch ( self->streamInfo.aacSampleRate ) { + case 96000: + case 88200: + case 64000: case 16000: case 12000: case 11025: @@ -1475,7 +1495,7 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_DecodeFrame( /* get the remaining bits of this frame */ bitCnt = transportDec_GetAuBitsRemaining(self->hInput, 0); - if ( (bitCnt > 0) && (self->flags & AC_SBR_PRESENT) && (self->flags & (AC_USAC|AC_RSVD50|AC_ELD)) ) + if ( (bitCnt > 0) && (self->flags & AC_SBR_PRESENT) && (self->flags & (AC_USAC|AC_RSVD50|AC_ELD|AC_DRM)) ) { SBR_ERROR err = SBRDEC_OK; int elIdx, numChElements = el_cnt[ID_SCE] + el_cnt[ID_CPE]; @@ -1513,6 +1533,13 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_DecodeFrame( } + if (self->flags & AC_DRM) + { + if ((bitCnt = (INT)FDKgetValidBits(bs)) != 0) { + FDKpushBiDirectional(bs, bitCnt); + } + } + if ( ! (self->flags & (AC_USAC|AC_RSVD50|AC_DRM)) ) { while ( bitCnt > 7 ) { diff --git a/libAACdec/src/aacdecoder.h b/libAACdec/src/aacdecoder.h index 3541773..25bc35d 100644 --- a/libAACdec/src/aacdecoder.h +++ b/libAACdec/src/aacdecoder.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -226,6 +226,8 @@ struct AAC_DECODER_INSTANCE { FIXP_DBL extGain[1]; /*!< Gain that must be applied to the output signal. */ UINT extGainDelay; /*!< Delay that must be accounted for extGain. */ + INT_PCM pcmOutputBuffer[(8)*(2048)]; + }; diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp index b501eb9..8863da5 100644 --- a/libAACdec/src/aacdecoder_lib.cpp +++ b/libAACdec/src/aacdecoder_lib.cpp @@ -110,7 +110,7 @@ amm-info@iis.fraunhofer.de /* Decoder library info */ #define AACDECODER_LIB_VL0 2 #define AACDECODER_LIB_VL1 5 -#define AACDECODER_LIB_VL2 11 +#define AACDECODER_LIB_VL2 17 #define AACDECODER_LIB_TITLE "AAC Decoder Lib" #ifdef __ANDROID__ #define AACDECODER_LIB_BUILD_DATE "" @@ -181,8 +181,9 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_ConfigRaw ( break; } /* if baselayer is OK we continue decoding */ - if(layer >= 1){ + if(layer >= 1){ self->nrOfLayers = layer; + err = AAC_DEC_OK; } break; } @@ -785,8 +786,8 @@ static INT aacDecoder_EstimateNumberOfLostFrames(HANDLE_AACDECODER self) LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame( HANDLE_AACDECODER self, - INT_PCM *pTimeData, - const INT timeDataSize, + INT_PCM *pTimeData_extern, + const INT timeDataSize_extern, const UINT flags) { AAC_DECODER_ERROR ErrorStatus; @@ -796,12 +797,17 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame( HANDLE_FDK_BITSTREAM hBs; int fTpInterruption = 0; /* Transport originated interruption detection. */ int fTpConceal = 0; /* Transport originated concealment. */ + INT_PCM *pTimeData = NULL; + INT timeDataSize = 0; if (self == NULL) { return AAC_DEC_INVALID_HANDLE; } + pTimeData = self->pcmOutputBuffer; + timeDataSize = sizeof(self->pcmOutputBuffer)/sizeof(*self->pcmOutputBuffer); + if (flags & AACDEC_INTR) { self->streamInfo.numLostAccessUnits = 0; } @@ -918,7 +924,8 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame( if (self->sbrEnabled) { SBR_ERROR sbrError = SBRDEC_OK; - int chOutMapIdx = ((self->chMapIndex==0) && (self->streamInfo.numChannels<7)) ? self->streamInfo.numChannels : self->chMapIndex; + int chIdx, numCoreChannel = self->streamInfo.numChannels; + int chOutMapIdx = ((self->chMapIndex==0) && (numCoreChannel<7)) ? numCoreChannel : self->chMapIndex; /* set params */ sbrDecoder_SetParam ( self->hSbrDecoder, @@ -978,10 +985,10 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame( if (self->psPossible) { self->flags |= AC_PS_PRESENT; - self->channelType[0] = ACT_FRONT; - self->channelType[1] = ACT_FRONT; - self->channelIndices[0] = 0; - self->channelIndices[1] = 1; + } + for (chIdx = numCoreChannel; chIdx < self->streamInfo.numChannels; chIdx+=1) { + self->channelType[chIdx] = ACT_FRONT; + self->channelIndices[chIdx] = chIdx; } } } @@ -1006,7 +1013,8 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_DecodeFrame( self->channelOutputMapping, (self->limiterEnableCurr) ? &pcmLimiterScale : NULL ); - if (dmxErr == PCMDMX_INVALID_MODE) { + if ( (ErrorStatus == AAC_DEC_OK) + && (dmxErr == PCMDMX_INVALID_MODE) ) { /* Announce the framework that the current combination of channel configuration and downmix * settings are not know to produce a predictable behavior and thus maybe produce strange output. */ ErrorStatus = AAC_DEC_DECODE_FRAME_ERROR; @@ -1051,6 +1059,19 @@ bail: /* Update Statistics */ aacDecoder_UpdateBitStreamCounters(&self->streamInfo, hBs, nBits, ErrorStatus); + /* Check whether external output buffer is large enough. */ + if (timeDataSize_extern < self->streamInfo.numChannels*self->streamInfo.frameSize) { + ErrorStatus = AAC_DEC_OUTPUT_BUFFER_TOO_SMALL; + } + + /* Update external output buffer. */ + if ( IS_OUTPUT_VALID(ErrorStatus) ) { + FDKmemcpy(pTimeData_extern, pTimeData, self->streamInfo.numChannels*self->streamInfo.frameSize*sizeof(*pTimeData)); + } + else { + FDKmemclear(pTimeData_extern, timeDataSize_extern*sizeof(*pTimeData_extern)); + } + return ErrorStatus; } @@ -1120,6 +1141,7 @@ LINKSPEC_CPP INT aacDecoder_GetLibInfo ( LIB_INFO *info ) /* Set flags */ info->flags = 0 | CAPF_AAC_LC + | CAPF_ER_AAC_SCAL | CAPF_AAC_VCB11 | CAPF_AAC_HCR | CAPF_AAC_RVLC @@ -1130,6 +1152,7 @@ LINKSPEC_CPP INT aacDecoder_GetLibInfo ( LIB_INFO *info ) | CAPF_AAC_MPEG4 + | CAPF_AAC_DRM_BSFORMAT | CAPF_AAC_1024 | CAPF_AAC_960 diff --git a/libAACdec/src/block.cpp b/libAACdec/src/block.cpp index 9d703cc..2965fa6 100644 --- a/libAACdec/src/block.cpp +++ b/libAACdec/src/block.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -324,11 +324,11 @@ AAC_DECODER_ERROR CBlock_ReadSectionData(HANDLE_FDK_BITSTREAM bs, if (flags & AC_ER_HCR) { /* HCR input (long) -- collecting sideinfo (for HCR-_long_ only) */ - pNumLinesInSec[numLinesInSecIdx] = BandOffsets[top] - BandOffsets[band]; - numLinesInSecIdx++; if (numLinesInSecIdx >= MAX_SFB_HCR) { return AAC_DEC_PARSE_ERROR; } + pNumLinesInSec[numLinesInSecIdx] = BandOffsets[top] - BandOffsets[band]; + numLinesInSecIdx++; if ( (sect_cb == BOOKSCL) ) { diff --git a/libFDK/src/FDK_core.cpp b/libFDK/src/FDK_core.cpp index f4b510d..1d8ac7b 100644 --- a/libFDK/src/FDK_core.cpp +++ b/libFDK/src/FDK_core.cpp @@ -93,7 +93,7 @@ amm-info@iis.fraunhofer.de /* FDK tools library info */ #define FDK_TOOLS_LIB_VL0 2 #define FDK_TOOLS_LIB_VL1 3 -#define FDK_TOOLS_LIB_VL2 5 +#define FDK_TOOLS_LIB_VL2 6 #define FDK_TOOLS_LIB_TITLE "FDK Tools" #ifdef __ANDROID__ #define FDK_TOOLS_LIB_BUILD_DATE "" diff --git a/libFDK/src/FDK_tools_rom.cpp b/libFDK/src/FDK_tools_rom.cpp index 49f0ee1..29e37f2 100644 --- a/libFDK/src/FDK_tools_rom.cpp +++ b/libFDK/src/FDK_tools_rom.cpp @@ -2236,7 +2236,7 @@ static const rbd_id_t el_aac_cpe1_epc1[] = { ics_info, ms, ltp_data_present, - ltp_data, + /* ltp_data, */ global_gain, section_data, scale_factor_data, @@ -2247,7 +2247,7 @@ static const rbd_id_t el_aac_cpe1_epc1[] = { next_channel, ltp_data_present, - ltp_data, + /* ltp_data, */ global_gain, section_data, scale_factor_data, @@ -2290,7 +2290,178 @@ static const element_list_t node_aac_cpe_epc1 = { { &node_aac_cpe0_epc1, &node_aac_cpe1_epc1 } }; +/* + * AOT = 20 + * epConfig = 0 + */ +static const rbd_id_t el_scal_sce_epc0[] = { + ics_info, /* ESC 1 */ + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + esc2_rvlc, /* ESC 2 */ + tns_data, /* ESC 3 */ + spectral_data, /* ESC 4 */ + end_of_sequence +}; +static const struct element_list node_scal_sce_epc0 = { + el_scal_sce_epc0, + { NULL, NULL } +}; + +static const rbd_id_t el_scal_cpe_epc0[] = { + ics_info, /* ESC 0 */ + ms, + tns_data_present, /* ESC 1 (ch 0) */ + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + esc2_rvlc, /* ESC 2 (ch 0) */ + tns_data, /* ESC 3 (ch 0) */ + spectral_data, /* ESC 4 (ch 0) */ + next_channel, + tns_data_present, /* ESC 1 (ch 1) */ + ltp_data_present, + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + esc2_rvlc, /* ESC 2 (ch 1) */ + tns_data, /* ESC 3 (ch 1) */ + spectral_data, /* ESC 4 (ch 1) */ + end_of_sequence +}; + +static const struct element_list node_scal_cpe_epc0 = { + el_scal_cpe_epc0, + { NULL, NULL } +}; + +/* + * AOT = 20 + * epConfig = 1 + */ +static const rbd_id_t el_scal_sce_epc1[] = { + ics_info, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + tns_data, + spectral_data, + end_of_sequence +}; + +static const struct element_list node_scal_sce_epc1 = { + el_scal_sce_epc1, + { NULL, NULL } +}; + +static const rbd_id_t el_scal_cpe_epc1[] = { + ics_info, + ms, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + next_channel, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + next_channel, + tns_data, + next_channel, + tns_data, + next_channel, + spectral_data, + next_channel, + spectral_data, + end_of_sequence +}; + +static const struct element_list node_scal_cpe_epc1 = { + el_scal_cpe_epc1, + { NULL, NULL } +}; + +/* + * Pseudo AOT for DRM/DRM+ (similar to AOT 20) + * Derived from epConfig = 1 + */ +static const rbd_id_t el_drm_sce[] = { + drmcrc_start_reg, + ics_info, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + tns_data, + drmcrc_end_reg, + spectral_data, + end_of_sequence +}; + +static const struct element_list node_drm_sce = { + el_drm_sce, + { NULL, NULL } +}; + +static const rbd_id_t el_drm_cpe[] = { + drmcrc_start_reg, + ics_info, + ms, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + next_channel, + tns_data_present, + ltp_data_present, + /* ltp_data, */ + global_gain, + section_data, + scale_factor_data, + esc1_hcr, + next_channel, + tns_data, + next_channel, + tns_data, + drmcrc_end_reg, + next_channel, + spectral_data, + next_channel, + spectral_data, + end_of_sequence +}; + +static const struct element_list node_drm_cpe = { + el_drm_cpe, + { NULL, NULL } +}; /* * AOT = 39 @@ -2405,6 +2576,19 @@ const element_list_t * getBitstreamElementList(AUDIO_OBJECT_TYPE aot, SCHAR epCo return &node_aac_cpe_epc1; } break; + case AOT_ER_AAC_SCAL: + if (nChannels == 1) { + if (epConfig <= 0) + return &node_scal_sce_epc0; + else + return &node_scal_sce_epc1; + } else { + if (epConfig <= 0) + return &node_scal_cpe_epc0; + else + return &node_scal_cpe_epc1; + } + break; case AOT_ER_AAC_ELD: if (nChannels == 1) { if (epConfig <= 0) @@ -2417,6 +2601,16 @@ const element_list_t * getBitstreamElementList(AUDIO_OBJECT_TYPE aot, SCHAR epCo else return &node_eld_cpe_epc1; } + case AOT_DRM_AAC: + case AOT_DRM_SBR: + case AOT_DRM_MPEG_PS: + FDK_ASSERT(epConfig == 1); + if (nChannels == 1) { + return &node_drm_sce; + } else { + return &node_drm_cpe; + } + break; default: break; } diff --git a/libMpegTPDec/src/tpdec_asc.cpp b/libMpegTPDec/src/tpdec_asc.cpp index bae271e..96a1b35 100644 --- a/libMpegTPDec/src/tpdec_asc.cpp +++ b/libMpegTPDec/src/tpdec_asc.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -1126,6 +1126,8 @@ TRANSPORTDEC_ERROR EldSpecificConfig_Parse( if ( 0 != ld_sbr_header(asc, hBs, cb) ) { return TRANSPORTDEC_PARSE_ERROR; } + } else { + return TRANSPORTDEC_UNSUPPORTED_FORMAT; } } esc->m_useLdQmfTimeAlign = 0; @@ -1146,7 +1148,7 @@ TRANSPORTDEC_ERROR EldSpecificConfig_Parse( switch (eldExtType) { default: - for(cnt=0; cntm_samplingFrequencyIndex = sfIdx; + self->m_samplingFrequency = SamplingRateTable[sfIdx]; + + if ( sbrFlag ) { + UINT i; + int tmp = -1; + self->m_sbrPresentFlag = 1; + self->m_extensionAudioObjectType = AOT_SBR; + self->m_extensionSamplingFrequency = self->m_samplingFrequency << 1; + for (i=0; i<(sizeof(SamplingRateTable)/sizeof(SamplingRateTable[0])); i++){ + if (SamplingRateTable[i] == self->m_extensionSamplingFrequency){ + tmp = i; + break; + } + } + self->m_extensionSamplingFrequencyIndex = tmp; + } + + switch (audioCoding) { + case 0: /* AAC */ + self->m_aot = AOT_DRM_AAC ; /* Set pseudo AOT for Drm AAC */ + + switch (audioMode) { + case 1: /* parametric stereo */ + self->m_psPresentFlag = 1; + case 0: /* mono */ + self->m_channelConfiguration = 1; + break; + case 2: /* stereo */ + self->m_channelConfiguration = 2; + break; + default: + ErrorStatus = TRANSPORTDEC_PARSE_ERROR; + goto bail; + } + self->m_vcb11Flag = 1; + self->m_hcrFlag = 1; + self->m_samplesPerFrame = 960; + self->m_epConfig = 1; + break; + case 1: /* CELP */ + self->m_aot = AOT_ER_CELP; + self->m_channelConfiguration = 1; + break; + case 2: /* HVXC */ + self->m_aot = AOT_ER_HVXC; + self->m_channelConfiguration = 1; + break; + case 3: /* reserved */ + default: + ErrorStatus = TRANSPORTDEC_PARSE_ERROR; + self->m_aot = AOT_NONE; + break; + } + + if (self->m_psPresentFlag && !self->m_sbrPresentFlag) { + ErrorStatus = TRANSPORTDEC_PARSE_ERROR; + goto bail; + } + } + +bail: + return (ErrorStatus); +} diff --git a/libMpegTPDec/src/tpdec_drm.cpp b/libMpegTPDec/src/tpdec_drm.cpp new file mode 100644 index 0000000..df319e5 --- /dev/null +++ b/libMpegTPDec/src/tpdec_drm.cpp @@ -0,0 +1,146 @@ + +/* ----------------------------------------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. + All rights reserved. + + 1. INTRODUCTION +The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements +the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio. +This FDK AAC Codec software is intended to be used on a wide variety of Android devices. + +AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual +audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by +independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part +of the MPEG specifications. + +Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer) +may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners +individually for the purpose of encoding or decoding bit streams in products that are compliant with +the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license +these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec +software may already be covered under those patent licenses when it is used for those licensed purposes only. + +Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality, +are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional +applications information and documentation. + +2. COPYRIGHT LICENSE + +Redistribution and use in source and binary forms, with or without modification, are permitted without +payment of copyright license fees provided that you satisfy the following conditions: + +You must retain the complete text of this software license in redistributions of the FDK AAC Codec or +your modifications thereto in source code form. + +You must retain the complete text of this software license in the documentation and/or other materials +provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form. +You must make available free of charge copies of the complete source code of the FDK AAC Codec and your +modifications thereto to recipients of copies in binary form. + +The name of Fraunhofer may not be used to endorse or promote products derived from this library without +prior written permission. + +You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec +software or your modifications thereto. + +Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software +and the date of any change. For modified versions of the FDK AAC Codec, the term +"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term +"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android." + +3. NO PATENT LICENSE + +NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer, +ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with +respect to this software. + +You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized +by appropriate patent licenses. + +4. DISCLAIMER + +This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors +"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties +of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages, +including but not limited to procurement of substitute goods or services; loss of use, data, or profits, +or business interruption, however caused and on any theory of liability, whether in contract, strict +liability, or tort (including negligence), arising in any way out of the use of this software, even if +advised of the possibility of such damage. + +5. CONTACT INFORMATION + +Fraunhofer Institute for Integrated Circuits IIS +Attention: Audio and Multimedia Departments - FDK AAC LL +Am Wolfsmantel 33 +91058 Erlangen, Germany + +www.iis.fraunhofer.de/amm +amm-info@iis.fraunhofer.de +----------------------------------------------------------------------------------------------------------- */ + +/***************************** MPEG-4 AAC Decoder ************************** + + Author(s): Christian Griebel + Description: DRM transport stuff + +******************************************************************************/ + +#include "tpdec_drm.h" + + +#include "FDK_bitstream.h" + + + +void drmRead_CrcInit(HANDLE_DRM pDrm) /*!< pointer to drm crc info stucture */ +{ + FDK_ASSERT(pDrm != NULL); + + FDKcrcInit(&pDrm->crcInfo, 0x001d, 0xFFFF, 8); +} + +int drmRead_CrcStartReg( + HANDLE_DRM pDrm, /*!< pointer to drm stucture */ + HANDLE_FDK_BITSTREAM hBs, /*!< handle to current bit buffer structure */ + int mBits /*!< number of bits in crc region */ + ) +{ + FDK_ASSERT(pDrm != NULL); + + FDKcrcReset(&pDrm->crcInfo); + + pDrm->crcReadValue = FDKreadBits(hBs, 8); + + return ( FDKcrcStartReg(&pDrm->crcInfo, hBs, mBits) ); + +} + +void drmRead_CrcEndReg( + HANDLE_DRM pDrm, /*!< pointer to drm crc info stucture */ + HANDLE_FDK_BITSTREAM hBs, /*!< handle to current bit buffer structure */ + int reg /*!< crc region */ + ) +{ + FDK_ASSERT(pDrm != NULL); + + FDKcrcEndReg(&pDrm->crcInfo, hBs, reg); +} + +TRANSPORTDEC_ERROR drmRead_CrcCheck( HANDLE_DRM pDrm ) +{ + TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK; + USHORT crc; + + crc = FDKcrcGetCRC(&pDrm->crcInfo) ^ 0xFF; + if (crc != pDrm->crcReadValue) + { + return (TRANSPORTDEC_CRC_ERROR); + } + + return (ErrorStatus); +} + + diff --git a/libMpegTPDec/src/tpdec_drm.h b/libMpegTPDec/src/tpdec_drm.h new file mode 100644 index 0000000..2161b4c --- /dev/null +++ b/libMpegTPDec/src/tpdec_drm.h @@ -0,0 +1,194 @@ + +/* ----------------------------------------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. + All rights reserved. + + 1. INTRODUCTION +The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements +the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio. +This FDK AAC Codec software is intended to be used on a wide variety of Android devices. + +AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual +audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by +independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part +of the MPEG specifications. + +Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer) +may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners +individually for the purpose of encoding or decoding bit streams in products that are compliant with +the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license +these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec +software may already be covered under those patent licenses when it is used for those licensed purposes only. + +Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality, +are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional +applications information and documentation. + +2. COPYRIGHT LICENSE + +Redistribution and use in source and binary forms, with or without modification, are permitted without +payment of copyright license fees provided that you satisfy the following conditions: + +You must retain the complete text of this software license in redistributions of the FDK AAC Codec or +your modifications thereto in source code form. + +You must retain the complete text of this software license in the documentation and/or other materials +provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form. +You must make available free of charge copies of the complete source code of the FDK AAC Codec and your +modifications thereto to recipients of copies in binary form. + +The name of Fraunhofer may not be used to endorse or promote products derived from this library without +prior written permission. + +You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec +software or your modifications thereto. + +Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software +and the date of any change. For modified versions of the FDK AAC Codec, the term +"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term +"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android." + +3. NO PATENT LICENSE + +NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer, +ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with +respect to this software. + +You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized +by appropriate patent licenses. + +4. DISCLAIMER + +This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors +"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties +of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages, +including but not limited to procurement of substitute goods or services; loss of use, data, or profits, +or business interruption, however caused and on any theory of liability, whether in contract, strict +liability, or tort (including negligence), arising in any way out of the use of this software, even if +advised of the possibility of such damage. + +5. CONTACT INFORMATION + +Fraunhofer Institute for Integrated Circuits IIS +Attention: Audio and Multimedia Departments - FDK AAC LL +Am Wolfsmantel 33 +91058 Erlangen, Germany + +www.iis.fraunhofer.de/amm +amm-info@iis.fraunhofer.de +----------------------------------------------------------------------------------------------------------- */ + +/***************************** MPEG-4 AAC Decoder ************************** + + Author(s): Josef Hoepfl + Description: DRM interface + +******************************************************************************/ + +#ifndef TPDEC_DRM_H +#define TPDEC_DRM_H + +#include "tpdec_lib.h" + + +#include "FDK_crc.h" + +typedef struct { + + FDK_CRCINFO crcInfo; /* CRC state info */ + USHORT crcReadValue; /* CRC value read from bitstream data */ + +} STRUCT_DRM; + +typedef STRUCT_DRM *HANDLE_DRM; + +/*! + \brief Initialize DRM CRC + + The function initialzes the crc buffer and the crc lookup table. + + \return none +*/ +void drmRead_CrcInit( HANDLE_DRM pDrm ); + +/** + * \brief Starts CRC region with a maximum number of bits + * If mBits is positive zero padding will be used for CRC calculation, if there + * are less than mBits bits available. + * If mBits is negative no zero padding is done. + * If mBits is zero the memory for the buffer is allocated dynamically, the + * number of bits is not limited. + * + * \param pDrm DRM data handle + * \param hBs bitstream handle, on which the CRC region referes to + * \param mBits max number of bits in crc region to be considered + * + * \return ID for the created region, -1 in case of an error + */ +int drmRead_CrcStartReg( + HANDLE_DRM pDrm, + HANDLE_FDK_BITSTREAM hBs, + int mBits + ); + +/** + * \brief Ends CRC region identified by reg + * + * \param pDrm DRM data handle + * \param hBs bitstream handle, on which the CRC region referes to + * \param reg CRC regions ID returned by drmRead_CrcStartReg() + * + * \return none + */ +void drmRead_CrcEndReg( + HANDLE_DRM pDrm, + HANDLE_FDK_BITSTREAM hBs, + int reg + ); + +/** + * \brief Check CRC + * + * Checks if the currently calculated CRC matches the CRC field read from the bitstream + * Deletes all CRC regions. + * + * \param pDrm DRM data handle + * + * \return Returns 0 if they are identical otherwise 1 + */ +TRANSPORTDEC_ERROR drmRead_CrcCheck( HANDLE_DRM pDrm ); + +/** + * \brief Check if we have a valid DRM frame at the current bitbuffer position + * + * This function assumes enough bits in buffer for the current frame. + * It reads out the header bits to prepare the bitbuffer for the decode loop. + * In case the header bits show an invalid bitstream/frame, the whole frame is skipped. + * + * \param pDrm DRM data handle which is filled with parsed DRM header data + * \param bs handle of bitstream from whom the DRM header is read + * + * \return error status + */ +TRANSPORTDEC_ERROR drmRead_DecodeHeader( + HANDLE_DRM pDrm, + HANDLE_FDK_BITSTREAM bs + ); + +/** + * \brief Parse a Drm specific SDC audio config from a given bitstream handle. + * + * \param pAsc A pointer to an allocated CSAudioSpecificConfig struct. + * \param hBs Bitstream handle. + * + * \return Total element count including all SCE, CPE and LFE. + */ +TRANSPORTDEC_ERROR DrmRawSdcAudioConfig_Parse( CSAudioSpecificConfig *pAsc, + HANDLE_FDK_BITSTREAM hBs ); + + + +#endif /* TPDEC_DRM_H */ diff --git a/libMpegTPDec/src/tpdec_lib.cpp b/libMpegTPDec/src/tpdec_lib.cpp index 950af64..24f755b 100644 --- a/libMpegTPDec/src/tpdec_lib.cpp +++ b/libMpegTPDec/src/tpdec_lib.cpp @@ -102,6 +102,7 @@ amm-info@iis.fraunhofer.de #include "tpdec_latm.h" +#include "tpdec_drm.h" #define MODULE_NAME "transportDec" @@ -113,6 +114,7 @@ typedef union { CLatmDemux latm; + STRUCT_DRM drm; } transportdec_parser_t; @@ -182,6 +184,9 @@ HANDLE_TRANSPORTDEC transportDec_Open( const TRANSPORT_TYPE transportFmt, const hInput->numberOfRawDataBlocks = 0; break; + case TT_DRM: + drmRead_CrcInit(&hInput->parser.drm); + break; case TT_MP4_LATM_MCP0: case TT_MP4_LATM_MCP1: @@ -253,6 +258,18 @@ TRANSPORTDEC_ERROR transportDec_OutOfBandConfig(HANDLE_TRANSPORTDEC hTp, UCHAR * } } break; + case TT_DRM: + fConfigFound = 1; + err = DrmRawSdcAudioConfig_Parse(&hTp->asc[layer], hBs); + if (err == TRANSPORTDEC_OK) { + int errC; + + errC = hTp->callbacks.cbUpdateConfig(hTp->callbacks.cbUpdateConfigData, &hTp->asc[layer]); + if (errC != 0) { + err = TRANSPORTDEC_PARSE_ERROR; + } + } + break; } if (err == TRANSPORTDEC_OK && fConfigFound) { @@ -1083,6 +1100,7 @@ TRANSPORTDEC_ERROR transportDec_ReadAccessUnit( const HANDLE_TRANSPORTDEC hTp, c break; case TT_MP4_RAW: + case TT_DRM: /* One Access Unit was filled into buffer. So get the length out of the buffer. */ hTp->auLength[layer] = FDKgetValidBits(hBs); @@ -1283,6 +1301,7 @@ TRANSPORTDEC_ERROR transportDec_GetLibInfo( LIB_INFO *info ) | CAPF_LATM | CAPF_LOAS | CAPF_RAWPACKETS + | CAPF_DRM ; return TRANSPORTDEC_OK; /* FDKERR_NOERROR; */ @@ -1294,6 +1313,8 @@ int transportDec_CrcStartReg(HANDLE_TRANSPORTDEC pTp, INT mBits) switch (pTp->transportFmt) { case TT_MP4_ADTS: return adtsRead_CrcStartReg(&pTp->parser.adts, &pTp->bitStream[0], mBits); + case TT_DRM: + return drmRead_CrcStartReg(&pTp->parser.drm, &pTp->bitStream[0], mBits); default: return 0; } @@ -1305,6 +1326,9 @@ void transportDec_CrcEndReg(HANDLE_TRANSPORTDEC pTp, INT reg) case TT_MP4_ADTS: adtsRead_CrcEndReg(&pTp->parser.adts, &pTp->bitStream[0], reg); break; + case TT_DRM: + drmRead_CrcEndReg(&pTp->parser.drm, &pTp->bitStream[0], reg); + break; default: break; } @@ -1321,6 +1345,9 @@ TRANSPORTDEC_ERROR transportDec_CrcCheck(HANDLE_TRANSPORTDEC pTp) transportDec_AdjustEndOfAccessUnit(pTp); } return adtsRead_CrcCheck(&pTp->parser.adts); + case TT_DRM: + return drmRead_CrcCheck(&pTp->parser.drm); + break; default: return TRANSPORTDEC_OK; } diff --git a/libMpegTPDec/src/version b/libMpegTPDec/src/version index 18fc9ba..75e22c9 100644 --- a/libMpegTPDec/src/version +++ b/libMpegTPDec/src/version @@ -2,7 +2,7 @@ /* library info */ #define TP_LIB_VL0 2 #define TP_LIB_VL1 3 -#define TP_LIB_VL2 5 +#define TP_LIB_VL2 7 #define TP_LIB_TITLE "MPEG Transport" #ifdef __ANDROID__ #define TP_LIB_BUILD_DATE "" diff --git a/libSBRdec/include/sbrdecoder.h b/libSBRdec/include/sbrdecoder.h index 174fb5c..3bb9ba3 100644 --- a/libSBRdec/include/sbrdecoder.h +++ b/libSBRdec/include/sbrdecoder.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -262,6 +262,7 @@ void sbrDecoder_drcDisable ( HANDLE_SBRDECODER self, * into *count if a payload length is given (byPayLen > 0). If no SBR payload length is * given (bsPayLen < 0) then the bit stream position on return will be random after this * function call in case of errors, and any further decoding will be completely pointless. + * This function accepts either normal ordered SBR data or reverse ordered DRM SBR data. * * \param self SBR decoder handle. * \param hBs Bit stream handle as data source. diff --git a/libSBRdec/src/env_calc.cpp b/libSBRdec/src/env_calc.cpp index ade57fc..fa5330a 100644 --- a/libSBRdec/src/env_calc.cpp +++ b/libSBRdec/src/env_calc.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -151,13 +151,13 @@ typedef struct } ENV_CALC_NRGS; -/*static*/ void equalizeFiltBufferExp(FIXP_DBL *filtBuffer, +static void equalizeFiltBufferExp(FIXP_DBL *filtBuffer, SCHAR *filtBuffer_e, FIXP_DBL *NrgGain, SCHAR *NrgGain_e, int subbands); -/*static*/ void calcNrgPerSubband(FIXP_DBL **analysBufferReal, +static void calcNrgPerSubband(FIXP_DBL **analysBufferReal, FIXP_DBL **analysBufferImag, int lowSubband, int highSubband, int start_pos, int next_pos, @@ -165,7 +165,7 @@ ENV_CALC_NRGS; FIXP_DBL *nrgEst, SCHAR *nrgEst_e ); -/*static*/ void calcNrgPerSfb(FIXP_DBL **analysBufferReal, +static void calcNrgPerSfb(FIXP_DBL **analysBufferReal, FIXP_DBL **analysBufferImag, int nSfb, UCHAR *freqBandTable, @@ -174,13 +174,13 @@ ENV_CALC_NRGS; FIXP_DBL *nrg_est, SCHAR *nrg_est_e ); -/*static*/ void calcSubbandGain(FIXP_DBL nrgRef, SCHAR nrgRef_e, ENV_CALC_NRGS* nrgs, int c, +static void calcSubbandGain(FIXP_DBL nrgRef, SCHAR nrgRef_e, ENV_CALC_NRGS* nrgs, int c, FIXP_DBL tmpNoise, SCHAR tmpNoise_e, UCHAR sinePresentFlag, UCHAR sineMapped, int noNoiseFlag); -/*static*/ void calcAvgGain(ENV_CALC_NRGS* nrgs, +static void calcAvgGain(ENV_CALC_NRGS* nrgs, int lowSubband, int highSubband, FIXP_DBL *sumRef_m, @@ -188,7 +188,7 @@ ENV_CALC_NRGS; FIXP_DBL *ptrAvgGain_m, SCHAR *ptrAvgGain_e); -/*static*/ void adjustTimeSlotLC(FIXP_DBL *ptrReal, +static void adjustTimeSlot_EldGrid(FIXP_DBL *ptrReal, ENV_CALC_NRGS* nrgs, UCHAR *ptrHarmIndex, int lowSubbands, @@ -196,8 +196,17 @@ ENV_CALC_NRGS; int scale_change, int noNoiseFlag, int *ptrPhaseIndex, - int fCldfb); -/*static*/ void adjustTimeSlotHQ(FIXP_DBL *ptrReal, + int scale_diff_low); + +static void adjustTimeSlotLC(FIXP_DBL *ptrReal, + ENV_CALC_NRGS* nrgs, + UCHAR *ptrHarmIndex, + int lowSubbands, + int noSubbands, + int scale_change, + int noNoiseFlag, + int *ptrPhaseIndex); +static void adjustTimeSlotHQ(FIXP_DBL *ptrReal, FIXP_DBL *ptrImag, HANDLE_SBR_CALCULATE_ENVELOPE h_sbr_cal_env, ENV_CALC_NRGS* nrgs, @@ -224,7 +233,7 @@ ENV_CALC_NRGS; Additionally, the flags in harmFlagsPrev are being updated by this function for the next frame. */ -/*static*/ void mapSineFlags(UCHAR *freqBandTable, /*!< Band borders (there's only 1 flag per band) */ +static void mapSineFlags(UCHAR *freqBandTable, /*!< Band borders (there's only 1 flag per band) */ int nSfb, /*!< Number of bands in the table */ UCHAR *addHarmonics, /*!< vector with 1 flag per sfb */ int *harmFlagsPrev, /*!< Packed 'addHarmonics' */ @@ -990,7 +999,6 @@ calculateSbrEnvelope (QMF_SCALE_FACTOR *sbrScaleFactor, /*!< Scaling /* Prevent the smoothing filter from running on constant levels */ if (j-start_pos < smooth_length) smooth_ratio = FDK_sbrDecoder_sbr_smoothFilter[j-start_pos]; - else smooth_ratio = FL2FXCONST_SGL(0.0f); @@ -1007,7 +1015,8 @@ calculateSbrEnvelope (QMF_SCALE_FACTOR *sbrScaleFactor, /*!< Scaling } else { - adjustTimeSlotLC(&analysBufferReal[j][lowSubband], + if (flags & SBRDEC_ELD_GRID) { + adjustTimeSlot_EldGrid(&analysBufferReal[j][lowSubband], pNrgs, &h_sbr_cal_env->harmIndex, lowSubband, @@ -1015,7 +1024,18 @@ calculateSbrEnvelope (QMF_SCALE_FACTOR *sbrScaleFactor, /*!< Scaling scale_change, noNoiseFlag, &h_sbr_cal_env->phaseIndex, - (flags & SBRDEC_ELD_GRID)); + EXP2SCALE(adj_e) - sbrScaleFactor->lb_scale); + } else + { + adjustTimeSlotLC(&analysBufferReal[j][lowSubband], + pNrgs, + &h_sbr_cal_env->harmIndex, + lowSubband, + noSubbands, + scale_change, + noNoiseFlag, + &h_sbr_cal_env->phaseIndex); + } } } // for @@ -1176,7 +1196,7 @@ resetSbrEnvelopeCalc (HANDLE_SBR_CALCULATE_ENVELOPE hCalEnv) /*!< pointer to env can be performed. This function is called once for each envelope before adjusting. */ -/*static*/ void equalizeFiltBufferExp(FIXP_DBL *filtBuffer, /*!< bufferd gains */ +static void equalizeFiltBufferExp(FIXP_DBL *filtBuffer, /*!< bufferd gains */ SCHAR *filtBuffer_e, /*!< exponents of bufferd gains */ FIXP_DBL *nrgGain, /*!< gains for current envelope */ SCHAR *nrgGain_e, /*!< exponents of gains for current envelope */ @@ -1331,7 +1351,7 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output This function is used when interpolFreq is true. */ -/*static*/ void calcNrgPerSubband(FIXP_DBL **analysBufferReal, /*!< Real part of subband samples */ +static void calcNrgPerSubband(FIXP_DBL **analysBufferReal, /*!< Real part of subband samples */ FIXP_DBL **analysBufferImag, /*!< Imaginary part of subband samples */ int lowSubband, /*!< Begin of the SBR frequency range */ int highSubband, /*!< High end of the SBR frequency range */ @@ -1452,7 +1472,7 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output This function is used when interpolFreq is false. */ -/*static*/ void calcNrgPerSfb(FIXP_DBL **analysBufferReal, /*!< Real part of subband samples */ +static void calcNrgPerSfb(FIXP_DBL **analysBufferReal, /*!< Real part of subband samples */ FIXP_DBL **analysBufferImag, /*!< Imaginary part of subband samples */ int nSfb, /*!< Number of scale factor bands */ UCHAR *freqBandTable, /*!< First Subband for each Sfb */ @@ -1585,7 +1605,7 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output The resulting energy gain is given by mantissa and exponent. */ -/*static*/ void calcSubbandGain(FIXP_DBL nrgRef, /*!< Reference Energy according to envelope data */ +static void calcSubbandGain(FIXP_DBL nrgRef, /*!< Reference Energy according to envelope data */ SCHAR nrgRef_e, /*!< Reference Energy according to envelope data (exponent) */ ENV_CALC_NRGS* nrgs, int i, @@ -1689,7 +1709,7 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output The result is used as a relative limit for all gains within the current "limiter band" (a certain frequency range). */ -/*static*/ void calcAvgGain(ENV_CALC_NRGS* nrgs, +static void calcAvgGain(ENV_CALC_NRGS* nrgs, int lowSubband, /*!< Begin of the limiter band */ int highSubband, /*!< High end of the limiter band */ FIXP_DBL *ptrSumRef, @@ -1728,21 +1748,101 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output *ptrSumRef_e = sumRef_e; } +static void adjustTimeSlot_EldGrid( + FIXP_DBL *ptrReal, /*!< Subband samples to be adjusted, real part */ + ENV_CALC_NRGS* nrgs, + UCHAR *ptrHarmIndex, /*!< Harmonic index */ + int lowSubband, /*!< Lowest QMF-channel in the currently used SBR range. */ + int noSubbands, /*!< Number of QMF subbands */ + int scale_change, /*!< Number of bits to shift adjusted samples */ + int noNoiseFlag, /*!< Flag to suppress noise addition */ + int *ptrPhaseIndex, /*!< Start index to random number array */ + int scale_diff_low) /*!< */ +{ + int k; + FIXP_DBL signalReal, sbNoise; + int tone_count = 0; + + FIXP_DBL *pGain = nrgs->nrgGain; /*!< Gains of current envelope */ + FIXP_DBL *pNoiseLevel = nrgs->noiseLevel; /*!< Noise levels of current envelope */ + FIXP_DBL *pSineLevel = nrgs->nrgSine; /*!< Sine levels */ + + int phaseIndex = *ptrPhaseIndex; + UCHAR harmIndex = *ptrHarmIndex; + + static const INT harmonicPhase [2][4] = { + { 1, 0, -1, 0}, + { 0, 1, 0, -1} + }; + + static const FIXP_DBL harmonicPhaseX [2][4] = { + { FL2FXCONST_DBL(2.0*1.245183154539139e-001), FL2FXCONST_DBL(2.0*-1.123767859325028e-001), FL2FXCONST_DBL(2.0*-1.245183154539139e-001), FL2FXCONST_DBL(2.0* 1.123767859325028e-001) }, + { FL2FXCONST_DBL(2.0*1.245183154539139e-001), FL2FXCONST_DBL(2.0* 1.123767859325028e-001), FL2FXCONST_DBL(2.0*-1.245183154539139e-001), FL2FXCONST_DBL(2.0*-1.123767859325028e-001) } + }; + + for (k=0; k < noSubbands; k++) { + + phaseIndex = (phaseIndex + 1) & (SBR_NF_NO_RANDOM_VAL - 1); + + if( (pSineLevel[0] != FL2FXCONST_DBL(0.0f)) || (noNoiseFlag == 1) ){ + sbNoise = FL2FXCONST_DBL(0.0f); + } else { + sbNoise = pNoiseLevel[0]; + } + + signalReal = fMultDiv2(*ptrReal,*pGain) << ((int)scale_change); + + signalReal += (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[phaseIndex][0], sbNoise)<<4); + + signalReal += pSineLevel[0] * harmonicPhase[0][harmIndex]; + + *ptrReal = signalReal; + + if (k == 0) { + *(ptrReal-1) += scaleValue(fMultDiv2(harmonicPhaseX[lowSubband&1][harmIndex], pSineLevel[0]), -scale_diff_low) ; + if (k < noSubbands - 1) { + *(ptrReal) += fMultDiv2(pSineLevel[1], harmonicPhaseX[(lowSubband+1)&1][harmIndex]); + } + } + if (k > 0 && k < noSubbands - 1 && tone_count < 16) { + *(ptrReal) += fMultDiv2(pSineLevel[- 1], harmonicPhaseX [(lowSubband+k)&1] [harmIndex]); + *(ptrReal) += fMultDiv2(pSineLevel[+ 1], harmonicPhaseX [(lowSubband+k+1)&1][harmIndex]); + } + if (k == noSubbands - 1 && tone_count < 16) { + if (k > 0) { + *(ptrReal) += fMultDiv2(pSineLevel[- 1], harmonicPhaseX [(lowSubband+k)&1][harmIndex]); + } + if (k + lowSubband + 1< 63) { + *(ptrReal+1) += fMultDiv2(pSineLevel[0], harmonicPhaseX[(lowSubband+k+1)&1][harmIndex]); + } + } + + if(pSineLevel[0] != FL2FXCONST_DBL(0.0f)){ + tone_count++; + } + ptrReal++; + pNoiseLevel++; + pGain++; + pSineLevel++; + } + + *ptrHarmIndex = (harmIndex + 1) & 3; + *ptrPhaseIndex = phaseIndex & (SBR_NF_NO_RANDOM_VAL - 1); +} /*! \brief Amplify one timeslot of the signal with the calculated gains and add the noisefloor. */ -/*static*/ void adjustTimeSlotLC(FIXP_DBL *ptrReal, /*!< Subband samples to be adjusted, real part */ +static void adjustTimeSlotLC(FIXP_DBL *ptrReal, /*!< Subband samples to be adjusted, real part */ ENV_CALC_NRGS* nrgs, UCHAR *ptrHarmIndex, /*!< Harmonic index */ int lowSubband, /*!< Lowest QMF-channel in the currently used SBR range. */ int noSubbands, /*!< Number of QMF subbands */ int scale_change, /*!< Number of bits to shift adjusted samples */ int noNoiseFlag, /*!< Flag to suppress noise addition */ - int *ptrPhaseIndex, /*!< Start index to random number array */ - int fCldfb) /*!< CLDFB 80 flag */ + int *ptrPhaseIndex) /*!< Start index to random number array */ { FIXP_DBL *pGain = nrgs->nrgGain; /*!< Gains of current envelope */ FIXP_DBL *pNoiseLevel = nrgs->noiseLevel; /*!< Noise levels of current envelope */ @@ -1775,41 +1875,10 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output sineLevelNext = (noSubbands > 1) ? pSineLevel[0] : FL2FXCONST_DBL(0.0f); if (sineLevel!=FL2FXCONST_DBL(0.0f)) tone_count++; - else if (!noNoiseFlag) /* Add noisefloor to the amplified signal */ signalReal += (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0])<<4); - if (fCldfb) { - - if (!(harmIndex&0x1)) { - /* harmIndex 0,2 */ - signalReal += (harmIndex&0x2) ? -sineLevel : sineLevel; - *ptrReal++ = signalReal; - } - else { - /* harmIndex 1,3 in combination with freqInvFlag */ - int shift = (int) (scale_change+1); - shift = (shift>=0) ? fixMin(DFRACT_BITS-1,shift) : fixMax(-(DFRACT_BITS-1),shift); - - FIXP_DBL tmp1 = scaleValue( fMultDiv2(C1_CLDFB, sineLevel), -shift ); - - FIXP_DBL tmp2 = fMultDiv2(C1_CLDFB, sineLevelNext); - - - /* save switch and compare operations and reduce to XOR statement */ - if ( ((harmIndex>>1)&0x1)^freqInvFlag) { - *(ptrReal-1) += tmp1; - signalReal -= tmp2; - } else { - *(ptrReal-1) -= tmp1; - signalReal += tmp2; - } - *ptrReal++ = signalReal; - freqInvFlag = !freqInvFlag; - } - - } else { if (!(harmIndex&0x1)) { /* harmIndex 0,2 */ @@ -1933,8 +2002,9 @@ FIXP_DBL maxSubbandSample( FIXP_DBL ** re, /*!< Real part of input and output *ptrHarmIndex = (harmIndex + 1) & 3; *ptrPhaseIndex = index & (SBR_NF_NO_RANDOM_VAL - 1); } -void adjustTimeSlotHQ(FIXP_DBL *RESTRICT ptrReal, /*!< Subband samples to be adjusted, real part */ - FIXP_DBL *RESTRICT ptrImag, /*!< Subband samples to be adjusted, imag part */ +static void adjustTimeSlotHQ( + FIXP_DBL *RESTRICT ptrReal, /*!< Subband samples to be adjusted, real part */ + FIXP_DBL *RESTRICT ptrImag, /*!< Subband samples to be adjusted, imag part */ HANDLE_SBR_CALCULATE_ENVELOPE h_sbr_cal_env, ENV_CALC_NRGS* nrgs, int lowSubband, /*!< Lowest QMF-channel in the currently used SBR range. */ @@ -2137,7 +2207,6 @@ ResetLimiterBands ( UCHAR *limiterBandTable, /*!< Resulting band borders in QM UCHAR workLimiterBandTable[MAX_FREQ_COEFFS / 2 + MAX_NUM_PATCHES + 1]; int patchBorders[MAX_NUM_PATCHES + 1]; int kx, k2; - FIXP_DBL temp; int lowSubband = freqBandTable[0]; int highSubband = freqBandTable[noFreqBands]; @@ -2169,13 +2238,32 @@ ResetLimiterBands ( UCHAR *limiterBandTable, /*!< Resulting band borders in QM while (hiLimIndex <= tempNoLim) { + FIXP_DBL div_m, oct_m, temp; + INT div_e = 0, oct_e = 0, temp_e = 0; + k2 = workLimiterBandTable[hiLimIndex] + lowSubband; kx = workLimiterBandTable[loLimIndex] + lowSubband; - temp = FX_SGL2FX_DBL(FDK_getNumOctavesDiv8(kx,k2)); /* Number of octaves */ - temp = fMult(temp, FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4[limiterBands]); + div_m = fDivNorm(k2, kx, &div_e); + + /* calculate number of octaves */ + oct_m = fLog2(div_m, div_e, &oct_e); + + /* multiply with limiterbands per octave */ + /* values 1, 1.2, 2, 3 -> scale factor of 2 */ + temp = fMultNorm(oct_m, FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4_DBL[limiterBands], &temp_e); + + /* overall scale factor of temp ist addition of scalefactors from log2 calculation, + limiter bands scalefactor (2) and limiter bands multiplication */ + temp_e += oct_e + 2; + + /* div can be a maximum of 64 (k2 = 64 and kx = 1) + -> oct can be a maximum of 6 + -> temp can be a maximum of 18 (as limiterBandsPerOctoave is a maximum factor of 3) + -> we need a scale factor of 5 for comparisson + */ + if (temp >> (5 - temp_e) < FL2FXCONST_DBL (0.49f) >> 5) { - if (temp < FL2FXCONST_DBL (0.49f)>>5) { if (workLimiterBandTable[hiLimIndex] == workLimiterBandTable[loLimIndex]) { workLimiterBandTable[hiLimIndex] = highSubband; nBands--; diff --git a/libSBRdec/src/env_dec.cpp b/libSBRdec/src/env_dec.cpp index 24b2d3b..c65c169 100644 --- a/libSBRdec/src/env_dec.cpp +++ b/libSBRdec/src/env_dec.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -369,7 +369,7 @@ leanSbrConcealment(HANDLE_SBR_HEADER_DATA hHeaderData, /*!< Static control d FIXP_SGL step; /* speed of fade */ int i; - int currentStartPos = h_prev_data->stopPos - hHeaderData->numberTimeSlots; + int currentStartPos = FDKmax(0, h_prev_data->stopPos - hHeaderData->numberTimeSlots); int currentStopPos = hHeaderData->numberTimeSlots; diff --git a/libSBRdec/src/env_extr.cpp b/libSBRdec/src/env_extr.cpp index 6cb0b99..dacd951 100644 --- a/libSBRdec/src/env_extr.cpp +++ b/libSBRdec/src/env_extr.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -327,7 +327,7 @@ sbrGetHeaderData (HANDLE_SBR_HEADER_DATA hHeaderData, } /* Look for new settings. IEC 14496-3, 4.6.18.3.1 */ - if(hHeaderData->syncState != SBR_ACTIVE || + if(hHeaderData->syncState < SBR_HEADER || lastHeader.startFreq != pBsData->startFreq || lastHeader.stopFreq != pBsData->stopFreq || lastHeader.freqScale != pBsData->freqScale || diff --git a/libSBRdec/src/env_extr.h b/libSBRdec/src/env_extr.h index ab6b704..0518ea9 100644 --- a/libSBRdec/src/env_extr.h +++ b/libSBRdec/src/env_extr.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -125,6 +125,7 @@ amm-info@iis.fraunhofer.de typedef enum { HEADER_NOT_PRESENT, + HEADER_ERROR, HEADER_OK, HEADER_RESET } @@ -132,10 +133,10 @@ SBR_HEADER_STATUS; typedef enum { - SBR_NOT_INITIALIZED, - UPSAMPLING, - SBR_HEADER, - SBR_ACTIVE + SBR_NOT_INITIALIZED = 0, + UPSAMPLING = 1, + SBR_HEADER = 2, + SBR_ACTIVE = 3 } SBR_SYNC_STATE; @@ -179,6 +180,7 @@ typedef FREQ_BAND_DATA *HANDLE_FREQ_BAND_DATA; #define SBRDEC_LOW_POWER 16 /* Flag indicating that Low Power QMF mode shall be used. */ #define SBRDEC_PS_DECODED 32 /* Flag indicating that PS was decoded and rendered. */ #define SBRDEC_LD_MPS_QMF 512 /* Flag indicating that the LD-MPS QMF shall be used. */ +#define SBRDEC_SYNTAX_DRM 2048 /* Flag indicating that DRM30/DRM+ reverse syntax is being used. */ #define SBRDEC_DOWNSAMPLE 8192 /* Flag indicating that the downsampling mode is used. */ #define SBRDEC_FLUSH 16384 /* Flag is used to flush all elements in use. */ #define SBRDEC_FORCE_RESET 32768 /* Flag is used to force a reset of all elements in use. */ diff --git a/libSBRdec/src/sbr_dec.cpp b/libSBRdec/src/sbr_dec.cpp index 1282338..0864348 100644 --- a/libSBRdec/src/sbr_dec.cpp +++ b/libSBRdec/src/sbr_dec.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -225,7 +225,14 @@ static void changeQmfType( HANDLE_SBR_DEC hSbrDec, /*!< hand } if (resetAnaQmf) { - int qmfErr = qmfInitAnalysisFilterBank ( + QMF_FILTER_BANK prvAnaQmf; + int qmfErr; + + /* Store current configuration */ + FDKmemcpy(&prvAnaQmf, &hSbrDec->AnalysiscQMF, sizeof(QMF_FILTER_BANK)); + + /* Reset analysis QMF */ + qmfErr = qmfInitAnalysisFilterBank ( &hSbrDec->AnalysiscQMF, hSbrDec->anaQmfStates, hSbrDec->AnalysiscQMF.no_col, @@ -234,13 +241,22 @@ static void changeQmfType( HANDLE_SBR_DEC hSbrDec, /*!< hand hSbrDec->AnalysiscQMF.no_channels, anaQmfFlags | QMF_FLAG_KEEP_STATES ); + if (qmfErr != 0) { - FDK_ASSERT(0); + /* Restore old configuration of analysis QMF */ + FDKmemcpy(&hSbrDec->AnalysiscQMF, &prvAnaQmf, sizeof(QMF_FILTER_BANK)); } } if (resetSynQmf) { - int qmfErr = qmfInitSynthesisFilterBank ( + QMF_FILTER_BANK prvSynQmf; + int qmfErr; + + /* Store current configuration */ + FDKmemcpy(&prvSynQmf, &hSbrDec->SynthesisQMF, sizeof(QMF_FILTER_BANK)); + + /* Reset synthesis QMF */ + qmfErr = qmfInitSynthesisFilterBank ( &hSbrDec->SynthesisQMF, hSbrDec->pSynQmfStates, hSbrDec->SynthesisQMF.no_col, @@ -251,7 +267,8 @@ static void changeQmfType( HANDLE_SBR_DEC hSbrDec, /*!< hand ); if (qmfErr != 0) { - FDK_ASSERT(0); + /* Restore old configuration of synthesis QMF */ + FDKmemcpy(&hSbrDec->SynthesisQMF, &prvSynQmf, sizeof(QMF_FILTER_BANK)); } } } @@ -321,7 +338,8 @@ sbr_dec ( HANDLE_SBR_DEC hSbrDec, /*!< handle to Decoder channel */ HANDLE_SBR_PREV_FRAME_DATA hPrevFrameData, /*!< Some control data of last frame */ const int applyProcessing, /*!< Flag for SBR operation */ HANDLE_PS_DEC h_ps_d, - const UINT flags + const UINT flags, + const int codecFrameSize ) { int i, slot, reserve; @@ -348,6 +366,33 @@ sbr_dec ( HANDLE_SBR_DEC hSbrDec, /*!< handle to Decoder channel */ if (flags & SBRDEC_ELD_GRID) { /* Choose the right low delay filter bank */ changeQmfType( hSbrDec, (flags & SBRDEC_LD_MPS_QMF) ? 1 : 0 ); + + /* If the LD-MPS QMF is not available delay the signal by (96-48*ldSbrSamplingRate) + * samples according to ISO/IEC 14496-3:2009/FDAM 2:2010(E) chapter 4.5.2.13. */ + if ( (flags & SBRDEC_LD_MPS_QMF) + && (hSbrDec->AnalysiscQMF.flags & QMF_FLAG_CLDFB) ) + { + INT_PCM *pDlyBuf = hSbrDec->coreDelayBuf; /* DLYBUF */ + int smpl, delay = 96 >> (!(flags & SBRDEC_DOWNSAMPLE) ? 1 : 0); + /* Create TMPBUF */ + C_AALLOC_SCRATCH_START(pcmTemp, INT_PCM, (96)); + /* Copy delay samples from INBUF to TMPBUF */ + for (smpl = 0; smpl < delay; smpl += 1) { + pcmTemp[smpl] = timeIn[(codecFrameSize-delay+smpl)*strideIn]; + } + /* Move input signal remainder to the very end of INBUF */ + for (smpl = (codecFrameSize-delay-1)*strideIn; smpl >= 0; smpl -= strideIn) { + timeIn[smpl+delay] = timeIn[smpl]; + } + /* Copy delayed samples from last frame from DLYBUF to the very beginning of INBUF */ + for (smpl = 0; smpl < delay; smpl += 1) { + timeIn[smpl*strideIn] = pDlyBuf[smpl]; + } + /* Copy TMPBUF to DLYBUF */ + FDKmemcpy(pDlyBuf, pcmTemp, delay*sizeof(INT_PCM)); + /* Destory TMPBUF */ + C_AALLOC_SCRATCH_END(pcmTemp, INT_PCM, (96)); + } } /* @@ -761,7 +806,7 @@ createSbrDec (SBR_CHANNEL * hSbrChannel, { int qmfErr; /* Adapted QMF analysis post-twiddles for down-sampled HQ SBR */ - const UINT downSampledFlag = (downsampleFac==2) ? QMF_FLAG_DOWNSAMPLED : 0; + const UINT downSampledFlag = (flags & SBRDEC_DOWNSAMPLE) ? QMF_FLAG_DOWNSAMPLED : 0; qmfErr = qmfInitAnalysisFilterBank ( &hs->AnalysiscQMF, @@ -836,6 +881,9 @@ createSbrDec (SBR_CHANNEL * hSbrChannel, } } + /* Clear input delay line */ + FDKmemclear(hs->coreDelayBuf, (96)*sizeof(INT_PCM)); + /* assign qmf time slots */ assignTimeSlots( &hSbrChannel->SbrDec, hHeaderData->numberTimeSlots * hHeaderData->timeStep, qmfFlags & QMF_FLAG_LP); diff --git a/libSBRdec/src/sbr_dec.h b/libSBRdec/src/sbr_dec.h index 175e7b2..edde637 100644 --- a/libSBRdec/src/sbr_dec.h +++ b/libSBRdec/src/sbr_dec.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -118,6 +118,9 @@ typedef struct FIXP_DBL * WorkBuffer1; FIXP_DBL * WorkBuffer2; + /* Delayed time input signal needed to align CLDFD with LD-MPS QMF. */ + INT_PCM coreDelayBuf[(96)]; + /* QMF filter states */ FIXP_QAS anaQmfStates[(320)]; FIXP_QSS * pSynQmfStates; @@ -182,7 +185,8 @@ sbr_dec (HANDLE_SBR_DEC hSbrDec, /*!< handle to Decoder channel */ HANDLE_SBR_PREV_FRAME_DATA hPrevFrameData, /*!< Some control data of last frame */ const int applyProcessing, /*!< Flag for SBR operation */ HANDLE_PS_DEC h_ps_d, - const UINT flags + const UINT flags, + const int codecFrameSize ); diff --git a/libSBRdec/src/sbr_ram.h b/libSBRdec/src/sbr_ram.h index f12631d..7ab5044 100644 --- a/libSBRdec/src/sbr_ram.h +++ b/libSBRdec/src/sbr_ram.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -135,6 +135,7 @@ struct SBR_DECODER_INSTANCE USHORT codecFrameSize; UCHAR synDownsampleFac; UCHAR numDelayFrames; /* The current number of additional delay frames used for processing. */ + UCHAR numFlushedFrames; /* The variable counts the number of frames which are flushed consecutively. */ UINT flags; diff --git a/libSBRdec/src/sbr_rom.cpp b/libSBRdec/src/sbr_rom.cpp index e84c3cd..c48ce35 100644 --- a/libSBRdec/src/sbr_rom.cpp +++ b/libSBRdec/src/sbr_rom.cpp @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -189,6 +189,15 @@ const FIXP_SGL FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4[4] = FL2FXCONST_SGL(3.0f / 4.0f) }; +/*! Constants for calculating the number of limiter bands */ +const FIXP_DBL FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4_DBL[4] = +{ + FL2FXCONST_DBL(1.0f / 4.0f), + FL2FXCONST_DBL(1.2f / 4.0f), + FL2FXCONST_DBL(2.0f / 4.0f), + FL2FXCONST_DBL(3.0f / 4.0f) +}; + /*! Ratio of old gains and noise levels for the first 4 timeslots of an envelope */ const FIXP_SGL FDK_sbrDecoder_sbr_smoothFilter[4] = { FL2FXCONST_SGL(0.66666666666666f), diff --git a/libSBRdec/src/sbr_rom.h b/libSBRdec/src/sbr_rom.h index c318870..1f800bc 100644 --- a/libSBRdec/src/sbr_rom.h +++ b/libSBRdec/src/sbr_rom.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -124,6 +124,7 @@ extern const FIXP_DBL FDK_sbrDecoder_sbr_whFactorsTable[NUM_WHFACTOR_TABLE_ENTRI extern const FIXP_SGL FDK_sbrDecoder_sbr_limGains_m[4]; extern const UCHAR FDK_sbrDecoder_sbr_limGains_e[4]; extern const FIXP_SGL FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4[4]; +extern const FIXP_DBL FDK_sbrDecoder_sbr_limiterBandsPerOctaveDiv4_DBL[4]; extern const FIXP_SGL FDK_sbrDecoder_sbr_smoothFilter[4]; extern const FIXP_SGL FDK_sbrDecoder_sbr_randomPhase[SBR_NF_NO_RANDOM_VAL][2]; extern const FIXP_SGL harmonicPhaseX [2][4]; diff --git a/libSBRdec/src/sbrdecoder.cpp b/libSBRdec/src/sbrdecoder.cpp index e15145a..f9ded54 100644 --- a/libSBRdec/src/sbrdecoder.cpp +++ b/libSBRdec/src/sbrdecoder.cpp @@ -128,6 +128,7 @@ amm-info@iis.fraunhofer.de #include "lpp_tran.h" #include "transcendent.h" +#include "FDK_crc.h" #include "sbrdec_drc.h" @@ -137,7 +138,7 @@ amm-info@iis.fraunhofer.de /* Decoder library info */ #define SBRDECODER_LIB_VL0 2 #define SBRDECODER_LIB_VL1 2 -#define SBRDECODER_LIB_VL2 7 +#define SBRDECODER_LIB_VL2 12 #define SBRDECODER_LIB_TITLE "SBR Decoder" #ifdef __ANDROID__ #define SBRDECODER_LIB_BUILD_DATE "" @@ -194,6 +195,33 @@ static void copySbrHeader( HANDLE_SBR_HEADER_DATA hDst, const HANDLE_SBR_HEADER_ hDst->freqBandData.freqBandTable[1] = hDst->freqBandData.freqBandTableHi; } +static int compareSbrHeader( const HANDLE_SBR_HEADER_DATA hHdr1, const HANDLE_SBR_HEADER_DATA hHdr2 ) +{ + int result = 0; + + /* compare basic data */ + result |= (hHdr1->syncState != hHdr2->syncState) ? 1 : 0; + result |= (hHdr1->status != hHdr2->status) ? 1 : 0; + result |= (hHdr1->frameErrorFlag != hHdr2->frameErrorFlag) ? 1 : 0; + result |= (hHdr1->numberTimeSlots != hHdr2->numberTimeSlots) ? 1 : 0; + result |= (hHdr1->numberOfAnalysisBands != hHdr2->numberOfAnalysisBands) ? 1 : 0; + result |= (hHdr1->timeStep != hHdr2->timeStep) ? 1 : 0; + result |= (hHdr1->sbrProcSmplRate != hHdr2->sbrProcSmplRate) ? 1 : 0; + + /* compare bitstream data */ + result |= FDKmemcmp( &hHdr1->bs_data, &hHdr2->bs_data, sizeof(SBR_HEADER_DATA_BS) ); + result |= FDKmemcmp( &hHdr1->bs_info, &hHdr2->bs_info, sizeof(SBR_HEADER_DATA_BS_INFO) ); + + /* compare frequency band data */ + result |= FDKmemcmp( &hHdr1->freqBandData, &hHdr2->freqBandData, (8+MAX_NUM_LIMITERS+1)*sizeof(UCHAR) ); + result |= FDKmemcmp( hHdr1->freqBandData.freqBandTableLo, hHdr2->freqBandData.freqBandTableLo, (MAX_FREQ_COEFFS/2+1)*sizeof(UCHAR) ); + result |= FDKmemcmp( hHdr1->freqBandData.freqBandTableHi, hHdr2->freqBandData.freqBandTableHi, (MAX_FREQ_COEFFS+1)*sizeof(UCHAR) ); + result |= FDKmemcmp( hHdr1->freqBandData.freqBandTableNoise, hHdr2->freqBandData.freqBandTableNoise, (MAX_NOISE_COEFFS+1)*sizeof(UCHAR) ); + result |= FDKmemcmp( hHdr1->freqBandData.v_k_master, hHdr2->freqBandData.v_k_master, (MAX_FREQ_COEFFS+1)*sizeof(UCHAR) ); + + return result; +} + /*! \brief Reset SBR decoder. @@ -391,6 +419,7 @@ int sbrDecoder_isCoreCodecValid(AUDIO_OBJECT_TYPE coreCodec) case AOT_PS: case AOT_ER_AAC_SCAL: case AOT_ER_AAC_ELD: + case AOT_DRM_AAC: return 1; default: return 0; @@ -463,6 +492,8 @@ SBR_ERROR sbrDecoder_InitElement ( self->flags = 0; self->flags |= (coreCodec == AOT_ER_AAC_ELD) ? SBRDEC_ELD_GRID : 0; + self->flags |= (coreCodec == AOT_ER_AAC_SCAL) ? SBRDEC_SYNTAX_SCAL : 0; + self->flags |= (coreCodec == AOT_DRM_AAC) ? SBRDEC_SYNTAX_SCAL|SBRDEC_SYNTAX_DRM : 0; /* Init SBR elements */ { @@ -928,24 +959,73 @@ SBR_ERROR sbrDecoder_Parse( ) { SBR_DECODER_ELEMENT *hSbrElement; - HANDLE_SBR_HEADER_DATA hSbrHeader; + HANDLE_SBR_HEADER_DATA hSbrHeader = NULL; HANDLE_SBR_CHANNEL *pSbrChannel; SBR_FRAME_DATA *hFrameDataLeft; SBR_FRAME_DATA *hFrameDataRight; SBR_ERROR errorStatus = SBRDEC_OK; - SBR_SYNC_STATE initialSyncState; SBR_HEADER_STATUS headerStatus = HEADER_NOT_PRESENT; INT startPos; INT CRCLen = 0; + HANDLE_FDK_BITSTREAM hBsOriginal = hBs; + FDK_CRCINFO crcInfo; /* shall be used for all other CRCs in the future (TBD) */ + INT crcReg = 0; + USHORT drmSbrCrc = 0; int stereo; int fDoDecodeSbrData = 1; int lastSlot, lastHdrSlot = 0, thisHdrSlot; + /* Reverse bits of DRM SBR payload */ + if ( (self->flags & SBRDEC_SYNTAX_DRM) && *count > 0 ) + { + UCHAR *bsBufferDrm = (UCHAR*)self->workBuffer1; + HANDLE_FDK_BITSTREAM hBsBwd = (HANDLE_FDK_BITSTREAM) (bsBufferDrm + (512)); + int dataBytes, dataBits; + + dataBits = *count; + + if (dataBits > ((512)*8)) { + /* do not flip more data than needed */ + dataBits = (512)*8; + } + + dataBytes = (dataBits+7)>>3; + + int j; + + if ((j = (int)FDKgetValidBits(hBs)) != 8) { + FDKpushBiDirectional(hBs, (j-8)); + } + + j = 0; + for ( ; dataBytes > 0; dataBytes--) + { + int i; + UCHAR tmpByte; + UCHAR buffer = 0x00; + + tmpByte = (UCHAR) FDKreadBits(hBs, 8); + for (i = 0; i < 4; i++) { + int shift = 2 * i + 1; + buffer |= (tmpByte & (0x08>>i)) << shift; + buffer |= (tmpByte & (0x10<> shift; + } + bsBufferDrm[j++] = buffer; + FDKpushBack(hBs, 16); + } + + FDKinitBitStream(hBsBwd, bsBufferDrm, (512), dataBits, BS_READER); + + /* Use reversed data */ + hBs = hBsBwd; + bsPayLen = *count; + } + /* Remember start position of SBR element */ startPos = FDKgetValidBits(hBs); @@ -970,7 +1050,6 @@ SBR_ERROR sbrDecoder_Parse( hFrameDataLeft = &self->pSbrElement[elementIndex]->pSbrChannel[0]->frameData[hSbrElement->useFrameSlot]; hFrameDataRight = &self->pSbrElement[elementIndex]->pSbrChannel[1]->frameData[hSbrElement->useFrameSlot]; - initialSyncState = hSbrHeader->syncState; /* reset PS flag; will be set after PS was found */ self->flags &= ~SBRDEC_PS_DECODED; @@ -1006,12 +1085,19 @@ SBR_ERROR sbrDecoder_Parse( */ if (fDoDecodeSbrData) { - if (crcFlag == 1) { + if (crcFlag) { switch (self->coreCodec) { case AOT_ER_AAC_ELD: FDKpushFor (hBs, 10); /* check sbrcrc later: we don't know the payload length now */ break; + case AOT_DRM_AAC: + drmSbrCrc = (USHORT)FDKreadBits(hBs, 8); + /* Setup CRC decoder */ + FDKcrcInit(&crcInfo, 0x001d, 0xFFFF, 8); + /* Start CRC region */ + crcReg = FDKcrcStartReg(&crcInfo, hBs, 0); + break; default: CRCLen = bsPayLen - 10; /* change: 0 => i */ if (CRCLen < 0) { @@ -1056,6 +1142,7 @@ SBR_ERROR sbrDecoder_Parse( hSbrHeader->syncState = SBR_HEADER; } else { hSbrHeader->syncState = SBR_NOT_INITIALIZED; + headerStatus = HEADER_ERROR; } } @@ -1105,7 +1192,7 @@ SBR_ERROR sbrDecoder_Parse( valBits = (INT)FDKgetValidBits(hBs); } - if ( crcFlag == 1 ) { + if ( crcFlag ) { switch (self->coreCodec) { case AOT_ER_AAC_ELD: { @@ -1117,6 +1204,14 @@ SBR_ERROR sbrDecoder_Parse( FDKpushFor(hBs, crcLen); } break; + case AOT_DRM_AAC: + /* End CRC region */ + FDKcrcEndReg(&crcInfo, hBs, crcReg); + /* Check CRC */ + if ((FDKcrcGetCRC(&crcInfo)^0xFF) != drmSbrCrc) { + fDoDecodeSbrData = 0; + } + break; default: break; } @@ -1167,8 +1262,25 @@ SBR_ERROR sbrDecoder_Parse( } bail: - if (errorStatus == SBRDEC_OK) { - if (headerStatus == HEADER_NOT_PRESENT) { + + if ( self->flags & SBRDEC_SYNTAX_DRM ) + { + hBs = hBsOriginal; + } + + if ( (errorStatus == SBRDEC_OK) + || ( (errorStatus == SBRDEC_PARSE_ERROR) + && (headerStatus != HEADER_ERROR) ) ) + { + int useOldHdr = ( (headerStatus == HEADER_NOT_PRESENT) + || (headerStatus == HEADER_ERROR) ) ? 1 : 0; + + if (!useOldHdr && (thisHdrSlot != lastHdrSlot)) { + useOldHdr |= ( compareSbrHeader( hSbrHeader, + &self->sbrHeader[elementIndex][lastHdrSlot] ) == 0 ) ? 1 : 0; + } + + if (useOldHdr != 0) { /* Use the old header for this frame */ hSbrElement->useHeaderSlot[hSbrElement->useFrameSlot] = lastHdrSlot; } else { @@ -1229,12 +1341,21 @@ sbrDecoder_DecodeElement ( int numElementChannels = hSbrElement->nChannels; /* Number of channels of the current SBR element */ if (self->flags & SBRDEC_FLUSH) { - /* Move frame pointer to the next slot which is up to be decoded/applied next */ - hSbrElement->useFrameSlot = (hSbrElement->useFrameSlot+1) % (self->numDelayFrames+1); - /* Update header and frame data pointer because they have already been set */ - hSbrHeader = &self->sbrHeader[elementIndex][hSbrElement->useHeaderSlot[hSbrElement->useFrameSlot]]; - hFrameDataLeft = &hSbrElement->pSbrChannel[0]->frameData[hSbrElement->useFrameSlot]; - hFrameDataRight = &hSbrElement->pSbrChannel[1]->frameData[hSbrElement->useFrameSlot]; + if ( self->numFlushedFrames > self->numDelayFrames ) { + int hdrIdx; + /* No valid SBR payload available, hence switch to upsampling (in all headers) */ + for (hdrIdx = 0; hdrIdx < ((1)+1); hdrIdx += 1) { + self->sbrHeader[elementIndex][hdrIdx].syncState = UPSAMPLING; + } + } + else { + /* Move frame pointer to the next slot which is up to be decoded/applied next */ + hSbrElement->useFrameSlot = (hSbrElement->useFrameSlot+1) % (self->numDelayFrames+1); + /* Update header and frame data pointer because they have already been set */ + hSbrHeader = &self->sbrHeader[elementIndex][hSbrElement->useHeaderSlot[hSbrElement->useFrameSlot]]; + hFrameDataLeft = &hSbrElement->pSbrChannel[0]->frameData[hSbrElement->useFrameSlot]; + hFrameDataRight = &hSbrElement->pSbrChannel[1]->frameData[hSbrElement->useFrameSlot]; + } } /* Update the header error flag */ @@ -1354,7 +1475,8 @@ sbrDecoder_DecodeElement ( &pSbrChannel[0]->prevFrameData, (hSbrHeader->syncState == SBR_ACTIVE), h_ps_d, - self->flags + self->flags, + codecFrameSize ); if (stereo) { @@ -1371,7 +1493,8 @@ sbrDecoder_DecodeElement ( &pSbrChannel[1]->prevFrameData, (hSbrHeader->syncState == SBR_ACTIVE), NULL, - self->flags + self->flags, + codecFrameSize ); } @@ -1387,20 +1510,21 @@ sbrDecoder_DecodeElement ( if ( !(self->flags & SBRDEC_PS_DECODED) ) { /* A decoder which is able to decode PS has to produce a stereo output even if no PS data is availble. */ /* So copy left channel to right channel. */ + int copyFrameSize = codecFrameSize * 2 / self->synDownsampleFac; if (interleaved) { INT_PCM *ptr; INT i; FDK_ASSERT(strideOut == 2); ptr = timeData; - for (i = codecFrameSize; i--; ) + for (i = copyFrameSize>>1; i--; ) { INT_PCM tmp; /* This temporal variable is required because some compilers can't do *ptr++ = *ptr++ correctly. */ tmp = *ptr++; *ptr++ = tmp; tmp = *ptr++; *ptr++ = tmp; } } else { - FDKmemcpy( timeData+2*codecFrameSize, timeData, 2*codecFrameSize*sizeof(INT_PCM) ); + FDKmemcpy( timeData+copyFrameSize, timeData, copyFrameSize*sizeof(INT_PCM) ); } } *numOutChannels = 2; /* Output minimum two channels when PS is enabled. */ @@ -1464,14 +1588,23 @@ SBR_ERROR sbrDecoder_Apply ( HANDLE_SBRDECODER self, self->flags &= ~SBRDEC_PS_DECODED; } + if ( self->flags & SBRDEC_FLUSH ) { + /* flushing is signalized, hence increment the flush frame counter */ + self->numFlushedFrames++; + } + else { + /* no flushing is signalized, hence reset the flush frame counter */ + self->numFlushedFrames = 0; + } + /* Loop over SBR elements */ for (sbrElementNum = 0; sbrElementNumnumSbrElements; sbrElementNum++) { int numElementChan; if (psPossible && self->pSbrElement[sbrElementNum]->pSbrChannel[1] == NULL) { - errorStatus = SBRDEC_UNSUPPORTED_CONFIG; - goto bail; + /* Disable PS and try decoding SBR mono. */ + psPossible = 0; } numElementChan = (self->pSbrElement[sbrElementNum]->elementID == ID_CPE) ? 2 : 1; @@ -1579,6 +1712,7 @@ INT sbrDecoder_GetLibInfo( LIB_INFO *info ) | CAPF_SBR_HQ | CAPF_SBR_LP | CAPF_SBR_PS_MPEG + | CAPF_SBR_DRM_BS | CAPF_SBR_CONCEALMENT | CAPF_SBR_DRC ; @@ -1607,6 +1741,9 @@ UINT sbrDecoder_GetDelay( const HANDLE_SBRDECODER self ) /* Low delay SBR: */ { outputDelay += (flags & SBRDEC_DOWNSAMPLE) ? 32 : 64; /* QMF synthesis */ + if (flags & SBRDEC_LD_MPS_QMF) { + outputDelay += 32; + } } } else if (!IS_USAC(self->coreCodec)) { diff --git a/libSYS/src/genericStds.cpp b/libSYS/src/genericStds.cpp index 53abe06..89c422c 100644 --- a/libSYS/src/genericStds.cpp +++ b/libSYS/src/genericStds.cpp @@ -92,14 +92,14 @@ amm-info@iis.fraunhofer.de #define _CRT_SECURE_NO_WARNINGS -#include "genericStds.h" - #include +#include "genericStds.h" + /* library info */ #define SYS_LIB_VL0 1 #define SYS_LIB_VL1 3 -#define SYS_LIB_VL2 7 +#define SYS_LIB_VL2 8 #define SYS_LIB_TITLE "System Integration Library" #ifdef __ANDROID__ #define SYS_LIB_BUILD_DATE ""