#include #include #include "fdk-aac/aacenc_lib.h" uintptr_t inline_c_Data_MediaBus_FdkAac_EncoderFdkWrapper_0_e88399b3eaf706673efe095f84ff92194fa12ff2(int * aacEncoderCfgErrorP_inline_c_0, unsigned configChannelMode_inline_c_1, unsigned configModules_inline_c_2, unsigned configChannels_inline_c_3, int * aacEncoderCfgErrorP_inline_c_4, unsigned configAot_inline_c_5, int * aacEncoderCfgErrorP_inline_c_6, unsigned configSbrMode_inline_c_7, int * aacEncoderCfgErrorP_inline_c_8, unsigned configSampleRate_inline_c_9, int * aacEncoderCfgErrorP_inline_c_10, int * aacEncoderCfgErrorP_inline_c_11, unsigned configBitRateMode_inline_c_12, int * aacEncoderCfgErrorP_inline_c_13, unsigned configBitRate_inline_c_14, int * aacEncoderCfgErrorP_inline_c_15, unsigned configBandwidth_inline_c_16, unsigned configBandwidth_inline_c_17, int * aacEncoderCfgErrorP_inline_c_18, int * aacEncoderCfgErrorP_inline_c_19, unsigned configSignallingMode_inline_c_20, int * aacEncoderCfgErrorP_inline_c_21, unsigned configAfterburner_inline_c_22, int * aacEncoderCfgErrorP_inline_c_23, int * aacEncoderCfgErrorP_inline_c_24, int * aacEncoderCfgErrorP_inline_c_25, unsigned confBufMaxLen_inline_c_26, unsigned char * confBufP_inline_c_27, unsigned * confBufSizeP_inline_c_28, unsigned * encDelayP_inline_c_29, unsigned * frameSizeP_inline_c_30, int * errorCodeP_inline_c_31) { AACENC_ERROR e = AACENC_OK; HANDLE_AACENCODER phAacEncoder; AACENC_InfoStruct pInfo; CHANNEL_MODE channelMode; *(aacEncoderCfgErrorP_inline_c_0) = 13; switch (configChannelMode_inline_c_1) { case 1: channelMode = MODE_1; break; case 2: channelMode = MODE_2; break; case 3: channelMode = MODE_1_2; break; case 4: channelMode = MODE_1_2_1; break; case 5: channelMode = MODE_1_2_2; break; case 6: channelMode = MODE_1_2_2_1; break; default: channelMode = 0; break; } e = aacEncOpen(&phAacEncoder, configModules_inline_c_2, configChannels_inline_c_3); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_4) = 0; goto e0; } e = aacEncoder_SetParam(phAacEncoder, AACENC_AOT, (const UINT) configAot_inline_c_5); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_6) = 1; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_SBR_MODE, (const UINT) configSbrMode_inline_c_7); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_8) = 2; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_SAMPLERATE, (const UINT) configSampleRate_inline_c_9); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_10) = 3; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_CHANNELMODE, channelMode); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_11) = 4; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_BITRATEMODE, (const UINT) configBitRateMode_inline_c_12); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_13) = 5; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_BITRATE, (const UINT) configBitRate_inline_c_14); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_15) = 6; goto e1; } if ((const UINT) configBandwidth_inline_c_16 != 0) { e = aacEncoder_SetParam(phAacEncoder, AACENC_BANDWIDTH, (const UINT) configBandwidth_inline_c_17); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_18) = 7; goto e1; } } e = aacEncoder_SetParam(phAacEncoder, AACENC_TRANSMUX, TT_MP4_RAW); // TODO extract from TRANSPORT_TYPE in FDK_audio.h if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_19) = 8; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_SIGNALING_MODE, (const UINT) configSignallingMode_inline_c_20); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_21) = 9; goto e1; } e = aacEncoder_SetParam(phAacEncoder, AACENC_AFTERBURNER, (const UINT) configAfterburner_inline_c_22); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_23) = 10; goto e1; } e = aacEncEncode(phAacEncoder, NULL, NULL, NULL, NULL); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_24) = 11; goto e1; } e = aacEncInfo(phAacEncoder, &pInfo); if (e != AACENC_OK) { *(aacEncoderCfgErrorP_inline_c_25) = 12; goto e1; } for (unsigned int i = 0; i < pInfo.confSize && i < confBufMaxLen_inline_c_26; ++i) { *(confBufP_inline_c_27 + i) = pInfo.confBuf[i]; } *(confBufSizeP_inline_c_28) = pInfo.confSize; *(encDelayP_inline_c_29) = pInfo.encoderDelay; *(frameSizeP_inline_c_30) = pInfo.frameLength; return ((uintptr_t) phAacEncoder); e1: if (AACENC_OK != aacEncClose(&phAacEncoder)) { printf("Failed to free the AAC Encoder.\n"); } e0: *(errorCodeP_inline_c_31) = e; return (uintptr_t)NULL; } int inline_c_Data_MediaBus_FdkAac_EncoderFdkWrapper_1_922d89f2c2b9a2bb7dbc4bbc946440f71a320f2a(uintptr_t encoderHandle_inline_c_0, long vec_inline_c_1, short * vec_inline_c_2, long vec_inline_c_3, long unsafeOutBuffer_inline_c_4, unsigned char * unsafeOutBuffer_inline_c_5, int * numOutBytesP_inline_c_6, int * numInSamplesP_inline_c_7, int * numAncBytesP_inline_c_8) { AACENC_ERROR e; HANDLE_AACENCODER phAacEncoder = (HANDLE_AACENCODER) encoderHandle_inline_c_0; AACENC_BufDesc inBuffDesc; INT inBuffIds[1] = {IN_AUDIO_DATA}; INT inBuffSizes[1] = {vec_inline_c_1 * 2}; INT inBuffElSizes[1] = {2}; void* inBuffBuffers[1] = {vec_inline_c_2}; inBuffDesc.numBufs = 1; inBuffDesc.bufs = inBuffBuffers; inBuffDesc.bufferIdentifiers = inBuffIds; inBuffDesc.bufSizes = inBuffSizes; inBuffDesc.bufElSizes = inBuffElSizes; AACENC_InArgs inArgs = { .numInSamples = vec_inline_c_3 , .numAncBytes = 0 }; AACENC_BufDesc outBuffDesc; INT outBuffIds[1] = {OUT_BITSTREAM_DATA}; INT outBuffSizes[1] = {unsafeOutBuffer_inline_c_4}; INT outBuffElSizes[1] = {1}; void* outBuffBuffers[1] = {unsafeOutBuffer_inline_c_5}; outBuffDesc.numBufs = 1; outBuffDesc.bufs = outBuffBuffers; outBuffDesc.bufferIdentifiers = outBuffIds; outBuffDesc.bufSizes = outBuffSizes; outBuffDesc.bufElSizes = outBuffElSizes; AACENC_OutArgs outArgs; e = aacEncEncode (phAacEncoder, &inBuffDesc, &outBuffDesc, &inArgs, &outArgs); *(numOutBytesP_inline_c_6) = outArgs.numOutBytes; *(numInSamplesP_inline_c_7) = outArgs.numInSamples; *(numAncBytesP_inline_c_8) = outArgs.numAncBytes; return e; } int inline_c_Data_MediaBus_FdkAac_EncoderFdkWrapper_2_666791a4914d28907cccec9952c8fb7e36c63ac9(uintptr_t encoderHandle_inline_c_0, long unsafeOutBuffer_inline_c_1, unsigned char * unsafeOutBuffer_inline_c_2, int * numOutBytesP_inline_c_3, int * numInSamplesP_inline_c_4, int * numAncBytesP_inline_c_5) { AACENC_ERROR e; HANDLE_AACENCODER phAacEncoder = (HANDLE_AACENCODER) encoderHandle_inline_c_0; AACENC_BufDesc inBuffDesc; inBuffDesc.numBufs = 0; AACENC_InArgs inArgs = { .numInSamples = -1 , .numAncBytes = 0 }; AACENC_BufDesc outBuffDesc; INT outBuffIds[1] = {OUT_BITSTREAM_DATA}; INT outBuffSizes[1] = {unsafeOutBuffer_inline_c_1}; INT outBuffElSizes[1] = {1}; void* outBuffBuffers[1] = {unsafeOutBuffer_inline_c_2}; outBuffDesc.numBufs = 1; outBuffDesc.bufs = outBuffBuffers; outBuffDesc.bufferIdentifiers = outBuffIds; outBuffDesc.bufSizes = outBuffSizes; outBuffDesc.bufElSizes = outBuffElSizes; AACENC_OutArgs outArgs; e = aacEncEncode (phAacEncoder, &inBuffDesc, &outBuffDesc, &inArgs, &outArgs); *(numOutBytesP_inline_c_3) = outArgs.numOutBytes; *(numInSamplesP_inline_c_4) = outArgs.numInSamples; *(numAncBytesP_inline_c_5) = outArgs.numAncBytes; return e; } int inline_c_Data_MediaBus_FdkAac_EncoderFdkWrapper_3_8fd9c8ff1f367d8600d391d8958211c9959d567d(uintptr_t encoderHandle_inline_c_0) { HANDLE_AACENCODER phAacEncoder = (HANDLE_AACENCODER) encoderHandle_inline_c_0; return aacEncClose(&phAacEncoder); }