Lines Matching refs:hAacEncoder
759 * \hAacEncoder Internal encoder config which is to be updated
764 AACENC_ERROR FDKaacEnc_AdjustEncSettings(HANDLE_AACENCODER hAacEncoder,
770 HANDLE_AACENC_CONFIG hAacConfig = &hAacEncoder->aacConfig;
966 if ( (hAacConfig->nChannels > hAacEncoder->nMaxAacChannels)
967 || ( (FDKaacEnc_GetChannelModeConfiguration(hAacConfig->channelMode)->nChannelsEff > hAacEncoder->nMaxSbrChannels) &&
981 hAacEncoder->metaDataAllowed = 1;
988 hAacEncoder->metaDataAllowed = 0;
1006 HANDLE_AACENCODER hAacEncoder = (HANDLE_AACENCODER)self;
1008 sbrEncoder_GetHeader(hAacEncoder->hEnvEnc, hBs, elementIndex, 0);
1013 static AACENC_ERROR aacEncInit(HANDLE_AACENCODER hAacEncoder,
1020 HANDLE_SBR_ENCODER *hSbrEncoder = &hAacEncoder->hEnvEnc;
1021 HANDLE_AACENC_CONFIG hAacConfig = &hAacEncoder->aacConfig;
1023 hAacEncoder->nZerosAppended = 0; /* count appended zeros */
1032 if ( (err=FDKaacEnc_AdjustEncSettings(hAacEncoder, config)) != AACENC_OK ) {
1045 FDKmemclear(hAacEncoder->inputBuffer, sizeof(INT_PCM)*hAacEncoder->nMaxAacChannels*INPUTBUFFER_SIZE);
1052 hAacEncoder->nDelay = DELAY_AACELD(hAacConfig->framelength);
1055 hAacEncoder->nDelay = DELAY_AAC(hAacConfig->framelength); /* AAC encoder delay */
1089 hAacEncoder->inputBuffer,
1097 &hAacEncoder->nDelay,
1131 &hAacEncoder->coderConfig,
1141 FDKmemclear(hAacEncoder->outBuffer, hAacEncoder->outBufferInBytes*sizeof(UCHAR));
1144 if ( transportEnc_Init(hAacEncoder->hTpEnc, hAacEncoder->outBuffer, hAacEncoder->outBufferInBytes, config->userTpType, &hAacEncoder->coderConfig, flags) != 0) {
1157 err = FDKaacEnc_Initialize(hAacEncoder->hAacEnc,
1159 hAacEncoder->hTpEnc,
1171 if ( hAacEncoder->hMetadataEnc && (hAacEncoder->metaDataAllowed!=0) &&
1180 if ( FDK_MetadataEnc_Init(hAacEncoder->hMetadataEnc,
1193 hAacEncoder->nDelay += FDK_MetadataEnc_GetDelay(hAacEncoder->hMetadataEnc);
1201 hAacEncoder->inputBufferOffset = aacBufferOffset;
1203 hAacEncoder->nSamplesToRead = frameLength * config->nChannels;
1206 hAacEncoder->nDelay *= config->nChannels;
1221 HANDLE_AACENCODER hAacEncoder = NULL;
1229 hAacEncoder = Get_AacEncoder();
1231 if (hAacEncoder == NULL) {
1236 FDKmemclear(hAacEncoder, sizeof(AACENCODER));
1240 hAacEncoder->encoder_modis = ENC_MODE_FLAG_AAC;
1241 hAacEncoder->encoder_modis |= ENC_MODE_FLAG_SBR;
1242 hAacEncoder->encoder_modis |= ENC_MODE_FLAG_PS;
1243 hAacEncoder->encoder_modis |= ENC_MODE_FLAG_META;
1247 hAacEncoder->encoder_modis = encModules;
1252 hAacEncoder->nMaxAacChannels = (8);
1253 hAacEncoder->nMaxSbrChannels = (8);
1256 hAacEncoder->nMaxAacChannels = (maxChannels&0x00FF);
1257 if ( (hAacEncoder->encoder_modis&ENC_MODE_FLAG_SBR) ) {
1258 hAacEncoder->nMaxSbrChannels = (maxChannels&0xFF00) ? (maxChannels>>8) : hAacEncoder->nMaxAacChannels;
1261 if ( (hAacEncoder->nMaxAacChannels>(8)) || (hAacEncoder->nMaxSbrChannels>(8)) ) {
1268 hAacEncoder->nMaxAacElements = fixMin((8), hAacEncoder->nMaxAacChannels);
1269 hAacEncoder->nMaxSbrElements = fixMin((8), hAacEncoder->nMaxSbrChannels);
1270 hAacEncoder->nMaxSubFrames = (1);
1275 hAacEncoder->inputBuffer = (INT_PCM*)FDKcalloc(hAacEncoder->nMaxAacChannels*INPUTBUFFER_SIZE, sizeof(INT_PCM));
1278 if (hAacEncoder->encoder_modis&ENC_MODE_FLAG_SBR) {
1279 if ( sbrEncoder_Open(&hAacEncoder->hEnvEnc,
1280 hAacEncoder->nMaxSbrElements,
1281 hAacEncoder->nMaxSbrChannels,
1282 (hAacEncoder->encoder_modis&ENC_MODE_FLAG_PS) ? 1 : 0 ) )
1291 if ( FDKaacEnc_Open(&hAacEncoder->hAacEnc,
1292 hAacEncoder->nMaxAacElements,
1293 hAacEncoder->nMaxAacChannels,
1302 for (ld_M=1; (UINT)(1<<ld_M) < (hAacEncoder->nMaxSubFrames*hAacEncoder->nMaxAacChannels*6144)>>3; ld_M++) ;
1303 hAacEncoder->outBufferInBytes = (1<<ld_M); /* buffer has to be 2^n */
1305 hAacEncoder->outBuffer = GetRam_bsOutbuffer();
1306 if (OUTPUTBUFFER_SIZE < hAacEncoder->outBufferInBytes ) {
1312 if (hAacEncoder->encoder_modis&ENC_MODE_FLAG_META) {
1313 if ( FDK_MetadataEnc_Open(&hAacEncoder->hMetadataEnc) )
1321 if ( transportEnc_Open(&hAacEncoder->hTpEnc) != 0 )
1333 hAacEncoder->CAPF_tpEnc = FDKlibInfo_getCapabilities( pLibInfo, FDK_TPENC);
1337 if ( transportEnc_RegisterSbrCallback(hAacEncoder->hTpEnc, aacenc_SbrCallback, hAacEncoder) != 0 ) {
1343 aacEncDefaultConfig(&hAacEncoder->aacConfig, &hAacEncoder->extParam);
1346 hAacEncoder->coderConfig.headerPeriod = hAacEncoder->extParam.userTpHeaderPeriod;
1349 hAacEncoder->InitFlags = AACENC_INIT_ALL;
1352 hAacEncoder;
1357 aacEncClose(&hAacEncoder);
1374 HANDLE_AACENCODER hAacEncoder = *phAacEncoder;
1377 if (hAacEncoder->inputBuffer!=NULL) {
1378 FDKfree(hAacEncoder->inputBuffer);
1379 hAacEncoder->inputBuffer = NULL;
1382 if (hAacEncoder->outBuffer) {
1383 FreeRam_bsOutbuffer(&hAacEncoder->outBuffer);
1386 if (hAacEncoder->hEnvEnc) {
1387 sbrEncoder_Close (&hAacEncoder->hEnvEnc);
1389 if (hAacEncoder->hAacEnc) {
1390 FDKaacEnc_Close (&hAacEncoder->hAacEnc);
1393 transportEnc_Close(&hAacEncoder->hTpEnc);
1395 if (hAacEncoder->hMetadataEnc) {
1396 FDK_MetadataEnc_Close (&hAacEncoder->hMetadataEnc);
1407 const HANDLE_AACENCODER hAacEncoder,
1421 if (hAacEncoder==NULL) {
1430 if (hAacEncoder->InitFlags!=0) {
1432 err = aacEncInit(hAacEncoder,
1433 hAacEncoder->InitFlags,
1434 &hAacEncoder->extParam);
1440 hAacEncoder->InitFlags = AACENC_INIT_NONE;
1458 if ( (hAacEncoder!=NULL) & (inBufDesc==NULL) && (outBufDesc==NULL) && (inargs==NULL) && (outargs==NULL) ) {
1463 FDKmemclear(outBytes, hAacEncoder->aacConfig.nSubFrames*sizeof(INT));
1472 INT newSamples = fixMax(0,fixMin(inargs->numInSamples, hAacEncoder->nSamplesToRead-hAacEncoder->nSamplesRead));
1473 INT_PCM *pIn = hAacEncoder->inputBuffer+hAacEncoder->inputBufferOffset+hAacEncoder->nSamplesRead;
1489 hAacEncoder->nSamplesRead += newSamples;
1496 if (hAacEncoder->nSamplesRead < hAacEncoder->nSamplesToRead)
1502 if ( (hAacEncoder->nZerosAppended < hAacEncoder->nDelay)
1505 int nZeros = hAacEncoder->nSamplesToRead - hAacEncoder->nSamplesRead;
1511 FDKmemclear(hAacEncoder->inputBuffer+hAacEncoder->inputBufferOffset+hAacEncoder->nSamplesRead, sizeof(INT_PCM)*nZeros );
1512 hAacEncoder->nZerosAppended += nZeros;
1513 hAacEncoder->nSamplesRead = hAacEncoder->nSamplesToRead;
1527 FDKmemclear(hAacEncoder->extPayload, sizeof(AACENC_EXT_PAYLOAD) * MAX_TOTAL_EXT_PAYLOADS);
1529 hAacEncoder->extPayload[i].associatedChElement = -1;
1531 FDKmemclear(hAacEncoder->extPayloadData, sizeof(hAacEncoder->extPayloadData));
1532 FDKmemclear(hAacEncoder->extPayloadSize, sizeof(hAacEncoder->extPayloadSize));
1538 if ( (hAacEncoder->hMetadataEnc!=NULL) && (hAacEncoder->metaDataAllowed!=0) ) {
1550 FDK_MetadataEnc_Process(hAacEncoder->hMetadataEnc,
1551 hAacEncoder->inputBuffer+hAacEncoder->inputBufferOffset,
1552 hAacEncoder->nSamplesRead,
1560 hAacEncoder->extPayload[nExtensions++] = pMetaDataExtPayload[i];
1564 && ((hAacEncoder->extParam.userChannelMode==MODE_1_2_2)||(hAacEncoder->extParam.userChannelMode==MODE_1_2_2_1)) )
1568 if (hAacEncoder->extParam.userPceAdditions != pceValue) {
1569 hAacEncoder->extParam.userPceAdditions = pceValue;
1570 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1576 if ( isSbrActive(&hAacEncoder->aacConfig) ) {
1583 if (sbrEncoder_EncodeFrame(hAacEncoder->hEnvEnc,
1584 hAacEncoder->inputBuffer,
1585 hAacEncoder->extParam.nChannels,
1586 hAacEncoder->extPayloadSize[nPayload],
1587 hAacEncoder->extPayloadData[nPayload]
1589 ,hAacEncoder->hAacEnc->clearOutput
1599 if (hAacEncoder->extPayloadSize[nPayload][i] > 0) {
1600 hAacEncoder->extPayload[nExtensions].pData = hAacEncoder->extPayloadData[nPayload][i];
1602 hAacEncoder->extPayload[nExtensions].dataSize = hAacEncoder->extPayloadSize[nPayload][i];
1603 hAacEncoder->extPayload[nExtensions].associatedChElement = i;
1605 hAacEncoder->extPayload[nExtensions].dataType = EXT_SBR_DATA; /* Once SBR Encoder supports SBR CRC set EXT_SBR_DATA_CRC */
1616 hAacEncoder->extPayload[nExtensions].dataSize = inargs->numAncBytes * 8;
1617 hAacEncoder->extPayload[nExtensions].pData = (UCHAR*)inBufDesc->bufs[idx];
1618 hAacEncoder->extPayload[nExtensions].dataType = EXT_DATA_ELEMENT;
1619 hAacEncoder->extPayload[nExtensions].associatedChElement = -1;
1627 if ( FDKaacEnc_EncodeFrame( hAacEncoder->hAacEnc,
1628 hAacEncoder->hTpEnc,
1629 hAacEncoder->inputBuffer,
1631 hAacEncoder->extPayload
1639 outargs->numAncBytes = inargs->numAncBytes - (hAacEncoder->extPayload[ancDataExtIdx].dataSize>>3);
1643 hAacEncoder->nSamplesRead -= hAacEncoder->nSamplesToRead;
1648 if (isSbrActive(&hAacEncoder->aacConfig)) {
1649 sbrEncoder_UpdateBuffers(hAacEncoder->hEnvEnc, hAacEncoder->inputBuffer);
1660 for (i=0,nBsBytes=0; i<hAacEncoder->aacConfig.nSubFrames; i++) {
1669 FDKmemcpy(outBufDesc->bufs[bsIdx], hAacEncoder->outBuffer, sizeof(UCHAR)*nBsBytes);
1682 hAacEncoder->InitFlags = AACENC_INIT_ALL;
1689 AAC_ENCODER_ERROR aacEncGetConf(HANDLE_AACENCODER hAacEncoder,
1702 err = transportEnc_GetConf(hAacEncoder->hTpEnc, &hAacEncoder->coderConfig, &tmpConf, &confType);
1761 const HANDLE_AACENCODER hAacEncoder,
1767 USER_PARAM *settings = &hAacEncoder->extParam;
1770 if (hAacEncoder == NULL) {
1784 if (!(hAacEncoder->encoder_modis & (ENC_MODE_FLAG_PS))) {
1790 if (!(hAacEncoder->encoder_modis & (ENC_MODE_FLAG_SBR))) {
1798 if (!(hAacEncoder->encoder_modis & (ENC_MODE_FLAG_AAC))) {
1808 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_STATES | AACENC_INIT_TRANSPORT;
1814 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_TRANSPORT;
1823 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_TRANSPORT;
1840 hAacEncoder->nSamplesRead = 0; /* reset internal inputbuffer */
1841 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_STATES | AACENC_INIT_TRANSPORT;
1851 if ( (pConfig->nElements > hAacEncoder->nMaxAacElements)
1852 || (pConfig->nChannelsEff > hAacEncoder->nMaxAacChannels)
1862 hAacEncoder->nSamplesRead = 0; /* reset internal inputbuffer */
1863 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_TRANSPORT;
1869 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG;
1873 if (hAacEncoder->aacConfig.channelOrder != (CHANNEL_ORDER)value) {
1878 hAacEncoder->aacConfig.channelOrder = (CHANNEL_ORDER)value;
1879 hAacEncoder->nSamplesRead = 0; /* reset internal inputbuffer */
1880 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_STATES | AACENC_INIT_TRANSPORT;
1890 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG;
1900 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_TRANSPORT;
1915 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_STATES | AACENC_INIT_TRANSPORT;
1921 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG | AACENC_INIT_STATES | AACENC_INIT_TRANSPORT;
1928 UINT flags = hAacEncoder->CAPF_tpEnc;
1942 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1952 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1962 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1968 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1978 hAacEncoder->InitFlags |= AACENC_INIT_TRANSPORT;
1987 if (hAacEncoder->InitFlags != value) {
1989 hAacEncoder->nSamplesRead = 0;
1991 hAacEncoder->InitFlags = value;
2001 hAacEncoder->InitFlags |= AACENC_INIT_CONFIG;
2014 const HANDLE_AACENCODER hAacEncoder,
2019 USER_PARAM *settings = &hAacEncoder->extParam;
2022 if (hAacEncoder == NULL) {
2030 value = (UINT)hAacEncoder->aacConfig.audioObjectType;
2033 value = (UINT)((hAacEncoder->aacConfig.bitrateMode==AACENC_BR_MODE_CBR) ? hAacEncoder->aacConfig.bitRate : -1);
2036 value = (UINT)hAacEncoder->aacConfig.bitrateMode;
2039 value = (UINT)hAacEncoder->coderConfig.extSamplingRate;
2042 value = (UINT)hAacEncoder->aacConfig.channelMode;
2045 value = (UINT)hAacEncoder->aacConfig.bandWidth;
2048 value = (UINT)hAacEncoder->aacConfig.channelOrder;
2051 value = (UINT)hAacEncoder->aacConfig.useRequant;
2054 value = (UINT)hAacEncoder->aacConfig.framelength;
2057 value = isSbrActive(&hAacEncoder->aacConfig) ? hAacEncoder->aacConfig.sbrRatio : 0;
2060 value = (UINT) (hAacEncoder->aacConfig.syntaxFlags & AC_SBR_PRESENT) ? 1 : 0;
2066 value = (UINT)getSbrSignalingMode(hAacEncoder->aacConfig.audioObjectType, settings->userTpType, settings->userTpSignaling, hAacEncoder->aacConfig.sbrRatio);
2072 value = (UINT)hAacEncoder->coderConfig.headerPeriod;
2078 value = (UINT)hAacEncoder->aacConfig.anc_Rate;
2081 value = (UINT)hAacEncoder->InitFlags;
2084 value = (hAacEncoder->metaDataAllowed==0) ? 0 : (UINT)settings->userMetaDataMode;
2096 const HANDLE_AACENCODER hAacEncoder,
2105 pInfo->maxOutBufBytes = ((hAacEncoder->nMaxAacChannels*6144)+7)>>3;
2106 pInfo->maxAncBytes = hAacEncoder->aacConfig.maxAncBytesPerAU;
2107 pInfo->inBufFillLevel = hAacEncoder->nSamplesRead/hAacEncoder->extParam.nChannels;
2108 pInfo->inputChannels = hAacEncoder->extParam.nChannels;
2109 pInfo->frameLength = hAacEncoder->nSamplesToRead/hAacEncoder->extParam.nChannels;
2110 pInfo->encoderDelay = hAacEncoder->nDelay/hAacEncoder->extParam.nChannels;
2113 if ( aacEncGetConf(hAacEncoder, &pInfo->confSize, &pInfo->confBuf[0]) != AAC_ENC_OK) {