From 7d460fc89bfbbdc4487ebc3c7039dfb8d64871e6 Mon Sep 17 00:00:00 2001 From: "subing.xu" Date: Wed, 14 Jun 2023 16:14:23 +0800 Subject: [PATCH] update audio and video framework for C302X RC4 SDk Signed-off-by: subing.xu --- 3rdparty/C302/include/fdk-aac/FDK_audio.h | 813 ++++++++ .../C302/include/fdk-aac/aacdecoder_lib.h | 1090 +++++++++++ 3rdparty/C302/include/fdk-aac/aacenc_lib.h | 1731 +++++++++++++++++ 3rdparty/C302/include/fdk-aac/genericStds.h | 584 ++++++ 3rdparty/C302/include/fdk-aac/machine_type.h | 411 ++++ .../include/fdk-aac/syslib_channelMapDescr.h | 202 ++ 3rdparty/C302/include/ipc_audio_api.h | 2 + 3rdparty/C302/include/ipc_cfg_api.h | 6 +- 3rdparty/C302/include/ipc_cfg_define.h | 18 +- 3rdparty/C302/include/ipc_video_define.h | 12 +- .../C302/lib/dynamic/libAudioSignalProcess.so | Bin 318496 -> 0 bytes 3rdparty/C302/lib/dynamic/libasp.so | Bin 9752 -> 0 bytes 3rdparty/C302/lib/dynamic/libaudio.so | Bin 22180 -> 0 bytes 3rdparty/C302/lib/dynamic/libmbuffer.so | Bin 9592 -> 0 bytes 3rdparty/C302/lib/dynamic/libparam.so | Bin 70392 -> 0 bytes 3rdparty/C302/lib/dynamic/libvideo.so | Bin 51656 -> 0 bytes 3rdparty/C302/lib/libAudioSignalProcess.so | Bin 0 -> 371400 bytes 3rdparty/C302/lib/libasp.so | Bin 0 -> 9784 bytes 3rdparty/C302/lib/libaudio.a | Bin 0 -> 22184 bytes 3rdparty/C302/lib/libmbuffer.a | Bin 0 -> 4430 bytes 3rdparty/C302/lib/libparam.a | Bin 0 -> 75576 bytes 3rdparty/C302/lib/libvideo.a | Bin 0 -> 65328 bytes 3rdparty/C302/lib/static/libaudio.a | Bin 22904 -> 0 bytes 3rdparty/C302/lib/static/libmbuffer.a | Bin 5182 -> 0 bytes 3rdparty/C302/lib/static/libparam.a | Bin 87772 -> 0 bytes 3rdparty/C302/lib/static/libvideo.a | Bin 72264 -> 0 bytes 3rdparty/README.md | 2 - CMake/C302.cmake | 4 +- source/C302/C302AudioCapturer.c | 2 +- source/C302/C302AudioPlayer.c | 2 +- 30 files changed, 4860 insertions(+), 19 deletions(-) create mode 100644 3rdparty/C302/include/fdk-aac/FDK_audio.h create mode 100644 3rdparty/C302/include/fdk-aac/aacdecoder_lib.h create mode 100644 3rdparty/C302/include/fdk-aac/aacenc_lib.h create mode 100644 3rdparty/C302/include/fdk-aac/genericStds.h create mode 100644 3rdparty/C302/include/fdk-aac/machine_type.h create mode 100644 3rdparty/C302/include/fdk-aac/syslib_channelMapDescr.h delete mode 100644 3rdparty/C302/lib/dynamic/libAudioSignalProcess.so delete mode 100644 3rdparty/C302/lib/dynamic/libasp.so delete mode 100755 3rdparty/C302/lib/dynamic/libaudio.so delete mode 100755 3rdparty/C302/lib/dynamic/libmbuffer.so delete mode 100755 3rdparty/C302/lib/dynamic/libparam.so delete mode 100755 3rdparty/C302/lib/dynamic/libvideo.so create mode 100644 3rdparty/C302/lib/libAudioSignalProcess.so create mode 100644 3rdparty/C302/lib/libasp.so create mode 100644 3rdparty/C302/lib/libaudio.a create mode 100644 3rdparty/C302/lib/libmbuffer.a create mode 100644 3rdparty/C302/lib/libparam.a create mode 100644 3rdparty/C302/lib/libvideo.a delete mode 100644 3rdparty/C302/lib/static/libaudio.a delete mode 100644 3rdparty/C302/lib/static/libmbuffer.a delete mode 100644 3rdparty/C302/lib/static/libparam.a delete mode 100644 3rdparty/C302/lib/static/libvideo.a diff --git a/3rdparty/C302/include/fdk-aac/FDK_audio.h b/3rdparty/C302/include/fdk-aac/FDK_audio.h new file mode 100644 index 00000000..81be7799 --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/FDK_audio.h @@ -0,0 +1,813 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/************************* System integration library ************************** + + Author(s): Manuel Jander + + Description: + +*******************************************************************************/ + +/** \file FDK_audio.h + * \brief Global audio struct and constant definitions. + */ + +#ifndef FDK_AUDIO_H +#define FDK_AUDIO_H + +#include "machine_type.h" +#include "genericStds.h" +#include "syslib_channelMapDescr.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * File format identifiers. + */ +typedef enum { + FF_UNKNOWN = -1, /**< Unknown format. */ + FF_RAW = 0, /**< No container, bit stream data conveyed "as is". */ + + FF_MP4_3GPP = 3, /**< 3GPP file format. */ + FF_MP4_MP4F = 4, /**< MPEG-4 File format. */ + + FF_RAWPACKETS = 5 /**< Proprietary raw packet file. */ + +} FILE_FORMAT; + +/** + * Transport type identifiers. + */ +typedef enum { + TT_UNKNOWN = -1, /**< Unknown format. */ + TT_MP4_RAW = 0, /**< "as is" access units (packet based since there is + obviously no sync layer) */ + TT_MP4_ADIF = 1, /**< ADIF bitstream format. */ + TT_MP4_ADTS = 2, /**< ADTS bitstream format. */ + + TT_MP4_LATM_MCP1 = 6, /**< Audio Mux Elements with muxConfigPresent = 1 */ + TT_MP4_LATM_MCP0 = 7, /**< Audio Mux Elements with muxConfigPresent = 0, out + of band StreamMuxConfig */ + + TT_MP4_LOAS = 10, /**< Audio Sync Stream. */ + + TT_DRM = 12 /**< Digital Radio Mondial (DRM30/DRM+) bitstream format. */ + +} TRANSPORT_TYPE; + +#define TT_IS_PACKET(x) \ + (((x) == TT_MP4_RAW) || ((x) == TT_DRM) || ((x) == TT_MP4_LATM_MCP0) || \ + ((x) == TT_MP4_LATM_MCP1)) + +/** + * Audio Object Type definitions. + */ +typedef enum { + AOT_NONE = -1, + AOT_NULL_OBJECT = 0, + AOT_AAC_MAIN = 1, /**< Main profile */ + AOT_AAC_LC = 2, /**< Low Complexity object */ + AOT_AAC_SSR = 3, + AOT_AAC_LTP = 4, + AOT_SBR = 5, + AOT_AAC_SCAL = 6, + AOT_TWIN_VQ = 7, + AOT_CELP = 8, + AOT_HVXC = 9, + AOT_RSVD_10 = 10, /**< (reserved) */ + AOT_RSVD_11 = 11, /**< (reserved) */ + AOT_TTSI = 12, /**< TTSI Object */ + AOT_MAIN_SYNTH = 13, /**< Main Synthetic object */ + AOT_WAV_TAB_SYNTH = 14, /**< Wavetable Synthesis object */ + AOT_GEN_MIDI = 15, /**< General MIDI object */ + AOT_ALG_SYNTH_AUD_FX = 16, /**< Algorithmic Synthesis and Audio FX object */ + AOT_ER_AAC_LC = 17, /**< Error Resilient(ER) AAC Low Complexity */ + AOT_RSVD_18 = 18, /**< (reserved) */ + AOT_ER_AAC_LTP = 19, /**< Error Resilient(ER) AAC LTP object */ + AOT_ER_AAC_SCAL = 20, /**< Error Resilient(ER) AAC Scalable object */ + AOT_ER_TWIN_VQ = 21, /**< Error Resilient(ER) TwinVQ object */ + AOT_ER_BSAC = 22, /**< Error Resilient(ER) BSAC object */ + AOT_ER_AAC_LD = 23, /**< Error Resilient(ER) AAC LowDelay object */ + AOT_ER_CELP = 24, /**< Error Resilient(ER) CELP object */ + AOT_ER_HVXC = 25, /**< Error Resilient(ER) HVXC object */ + AOT_ER_HILN = 26, /**< Error Resilient(ER) HILN object */ + AOT_ER_PARA = 27, /**< Error Resilient(ER) Parametric object */ + AOT_RSVD_28 = 28, /**< might become SSC */ + AOT_PS = 29, /**< PS, Parametric Stereo (includes SBR) */ + AOT_MPEGS = 30, /**< MPEG Surround */ + + AOT_ESCAPE = 31, /**< Signal AOT uses more than 5 bits */ + + AOT_MP3ONMP4_L1 = 32, /**< MPEG-Layer1 in mp4 */ + AOT_MP3ONMP4_L2 = 33, /**< MPEG-Layer2 in mp4 */ + AOT_MP3ONMP4_L3 = 34, /**< MPEG-Layer3 in mp4 */ + AOT_RSVD_35 = 35, /**< might become DST */ + AOT_RSVD_36 = 36, /**< might become ALS */ + AOT_AAC_SLS = 37, /**< AAC + SLS */ + AOT_SLS = 38, /**< SLS */ + AOT_ER_AAC_ELD = 39, /**< AAC Enhanced Low Delay */ + + AOT_USAC = 42, /**< USAC */ + AOT_SAOC = 43, /**< SAOC */ + AOT_LD_MPEGS = 44, /**< Low Delay MPEG Surround */ + + /* Pseudo AOTs */ + AOT_MP2_AAC_LC = 129, /**< Virtual AOT MP2 Low Complexity profile */ + AOT_MP2_SBR = 132, /**< Virtual AOT MP2 Low Complexity Profile with SBR */ + + AOT_DRM_AAC = 143, /**< Virtual AOT for DRM (ER-AAC-SCAL without SBR) */ + AOT_DRM_SBR = 144, /**< Virtual AOT for DRM (ER-AAC-SCAL with SBR) */ + AOT_DRM_MPEG_PS = + 145, /**< Virtual AOT for DRM (ER-AAC-SCAL with SBR and MPEG-PS) */ + AOT_DRM_SURROUND = + 146, /**< Virtual AOT for DRM Surround (ER-AAC-SCAL (+SBR) +MPS) */ + AOT_DRM_USAC = 147 /**< Virtual AOT for DRM with USAC */ + +} AUDIO_OBJECT_TYPE; + +#define CAN_DO_PS(aot) \ + ((aot) == AOT_AAC_LC || (aot) == AOT_SBR || (aot) == AOT_PS || \ + (aot) == AOT_ER_BSAC || (aot) == AOT_DRM_AAC) + +#define IS_USAC(aot) ((aot) == AOT_USAC) + +#define IS_LOWDELAY(aot) ((aot) == AOT_ER_AAC_LD || (aot) == AOT_ER_AAC_ELD) + +/** Channel Mode ( 1-7 equals MPEG channel configurations, others are + * arbitrary). */ +typedef enum { + MODE_INVALID = -1, + MODE_UNKNOWN = 0, + MODE_1 = 1, /**< C */ + MODE_2 = 2, /**< L+R */ + MODE_1_2 = 3, /**< C, L+R */ + MODE_1_2_1 = 4, /**< C, L+R, Rear */ + MODE_1_2_2 = 5, /**< C, L+R, LS+RS */ + MODE_1_2_2_1 = 6, /**< C, L+R, LS+RS, LFE */ + MODE_1_2_2_2_1 = 7, /**< C, LC+RC, L+R, LS+RS, LFE */ + + MODE_6_1 = 11, /**< C, L+R, LS+RS, Crear, LFE */ + MODE_7_1_BACK = 12, /**< C, L+R, LS+RS, Lrear+Rrear, LFE */ + MODE_7_1_TOP_FRONT = 14, /**< C, L+R, LS+RS, LFE, Ltop+Rtop */ + + MODE_7_1_REAR_SURROUND = 33, /**< C, L+R, LS+RS, Lrear+Rrear, LFE */ + MODE_7_1_FRONT_CENTER = 34, /**< C, LC+RC, L+R, LS+RS, LFE */ + + MODE_212 = 128 /**< 212 configuration, used in ELDv2 */ + +} CHANNEL_MODE; + +/** + * Speaker description tags. + * Do not change the enumeration values unless it keeps the following + * segmentation: + * - Bit 0-3: Horizontal postion (0: none, 1: front, 2: side, 3: back, 4: lfe) + * - Bit 4-7: Vertical position (0: normal, 1: top, 2: bottom) + */ +typedef enum { + ACT_NONE = 0x00, + ACT_FRONT = 0x01, /*!< Front speaker position (at normal height) */ + ACT_SIDE = 0x02, /*!< Side speaker position (at normal height) */ + ACT_BACK = 0x03, /*!< Back speaker position (at normal height) */ + ACT_LFE = 0x04, /*!< Low frequency effect speaker postion (front) */ + + ACT_TOP = + 0x10, /*!< Top speaker area (for combination with speaker positions) */ + ACT_FRONT_TOP = 0x11, /*!< Top front speaker = (ACT_FRONT|ACT_TOP) */ + ACT_SIDE_TOP = 0x12, /*!< Top side speaker = (ACT_SIDE |ACT_TOP) */ + ACT_BACK_TOP = 0x13, /*!< Top back speaker = (ACT_BACK |ACT_TOP) */ + + ACT_BOTTOM = + 0x20, /*!< Bottom speaker area (for combination with speaker positions) */ + ACT_FRONT_BOTTOM = 0x21, /*!< Bottom front speaker = (ACT_FRONT|ACT_BOTTOM) */ + ACT_SIDE_BOTTOM = 0x22, /*!< Bottom side speaker = (ACT_SIDE |ACT_BOTTOM) */ + ACT_BACK_BOTTOM = 0x23 /*!< Bottom back speaker = (ACT_BACK |ACT_BOTTOM) */ + +} AUDIO_CHANNEL_TYPE; + +typedef enum { + SIG_UNKNOWN = -1, + SIG_IMPLICIT = 0, + SIG_EXPLICIT_BW_COMPATIBLE = 1, + SIG_EXPLICIT_HIERARCHICAL = 2 + +} SBR_PS_SIGNALING; + +/** + * Audio Codec flags. + */ +#define AC_ER_VCB11 \ + 0x000001 /*!< aacSectionDataResilienceFlag flag (from ASC): 1 means use \ + virtual codebooks */ +#define AC_ER_RVLC \ + 0x000002 /*!< aacSpectralDataResilienceFlag flag (from ASC): 1 means use \ + huffman codeword reordering */ +#define AC_ER_HCR \ + 0x000004 /*!< aacSectionDataResilienceFlag flag (from ASC): 1 means use \ + virtual codebooks */ +#define AC_SCALABLE 0x000008 /*!< AAC Scalable*/ +#define AC_ELD 0x000010 /*!< AAC-ELD */ +#define AC_LD 0x000020 /*!< AAC-LD */ +#define AC_ER 0x000040 /*!< ER syntax */ +#define AC_BSAC 0x000080 /*!< BSAC */ +#define AC_USAC 0x000100 /*!< USAC */ +#define AC_RSV603DA 0x000200 /*!< RSVD60 3D audio */ +#define AC_HDAAC 0x000400 /*!< HD-AAC */ +#define AC_RSVD50 0x004000 /*!< Rsvd50 */ +#define AC_SBR_PRESENT 0x008000 /*!< SBR present flag (from ASC) */ +#define AC_SBRCRC \ + 0x010000 /*!< SBR CRC present flag. Only relevant for AAC-ELD for now. */ +#define AC_PS_PRESENT 0x020000 /*!< PS present flag (from ASC or implicit) */ +#define AC_MPS_PRESENT \ + 0x040000 /*!< MPS present flag (from ASC or implicit) \ + */ +#define AC_DRM 0x080000 /*!< DRM bit stream syntax */ +#define AC_INDEP 0x100000 /*!< Independency flag */ +#define AC_MPEGD_RES 0x200000 /*!< MPEG-D residual individual channel data. */ +#define AC_SAOC_PRESENT 0x400000 /*!< SAOC Present Flag */ +#define AC_DAB 0x800000 /*!< DAB bit stream syntax */ +#define AC_ELD_DOWNSCALE 0x1000000 /*!< ELD Downscaled playout */ +#define AC_LD_MPS 0x2000000 /*!< Low Delay MPS. */ +#define AC_DRC_PRESENT \ + 0x4000000 /*!< Dynamic Range Control (DRC) data found. \ + */ +#define AC_USAC_SCFGI3 \ + 0x8000000 /*!< USAC flag: If stereoConfigIndex is 3 the flag is set. */ +/** + * Audio Codec flags (reconfiguration). + */ +#define AC_CM_DET_CFG_CHANGE \ + 0x000001 /*!< Config mode signalizes the callback to work in config change \ + detection mode */ +#define AC_CM_ALLOC_MEM \ + 0x000002 /*!< Config mode signalizes the callback to work in memory \ + allocation mode */ + +/** + * Audio Codec flags (element specific). + */ +#define AC_EL_USAC_TW 0x000001 /*!< USAC time warped filter bank is active */ +#define AC_EL_USAC_NOISE 0x000002 /*!< USAC noise filling is active */ +#define AC_EL_USAC_ITES 0x000004 /*!< USAC SBR inter-TES tool is active */ +#define AC_EL_USAC_PVC \ + 0x000008 /*!< USAC SBR predictive vector coding tool is active */ +#define AC_EL_USAC_MPS212 0x000010 /*!< USAC MPS212 tool is active */ +#define AC_EL_USAC_LFE 0x000020 /*!< USAC element is LFE */ +#define AC_EL_USAC_CP_POSSIBLE \ + 0x000040 /*!< USAC may use Complex Stereo Prediction in this channel element \ + */ +#define AC_EL_ENHANCED_NOISE 0x000080 /*!< Enhanced noise filling*/ +#define AC_EL_IGF_AFTER_TNS 0x000100 /*!< IGF after TNS */ +#define AC_EL_IGF_INDEP_TILING 0x000200 /*!< IGF independent tiling */ +#define AC_EL_IGF_USE_ENF 0x000400 /*!< IGF use enhanced noise filling */ +#define AC_EL_FULLBANDLPD 0x000800 /*!< enable fullband LPD tools */ +#define AC_EL_LPDSTEREOIDX 0x001000 /*!< LPD-stereo-tool stereo index */ +#define AC_EL_LFE 0x002000 /*!< The element is of type LFE. */ + +/* CODER_CONFIG::flags */ +#define CC_MPEG_ID 0x00100000 +#define CC_IS_BASELAYER 0x00200000 +#define CC_PROTECTION 0x00400000 +#define CC_SBR 0x00800000 +#define CC_SBRCRC 0x00010000 +#define CC_SAC 0x00020000 +#define CC_RVLC 0x01000000 +#define CC_VCB11 0x02000000 +#define CC_HCR 0x04000000 +#define CC_PSEUDO_SURROUND 0x08000000 +#define CC_USAC_NOISE 0x10000000 +#define CC_USAC_TW 0x20000000 +#define CC_USAC_HBE 0x40000000 + +/** Generic audio coder configuration structure. */ +typedef struct { + AUDIO_OBJECT_TYPE aot; /**< Audio Object Type (AOT). */ + AUDIO_OBJECT_TYPE extAOT; /**< Extension Audio Object Type (SBR). */ + CHANNEL_MODE channelMode; /**< Channel mode. */ + UCHAR channelConfigZero; /**< Use channel config zero + pce although a + standard channel config could be signaled. */ + INT samplingRate; /**< Sampling rate. */ + INT extSamplingRate; /**< Extended samplerate (SBR). */ + INT downscaleSamplingRate; /**< Downscale sampling rate (ELD downscaled mode) + */ + INT bitRate; /**< Average bitrate. */ + int samplesPerFrame; /**< Number of PCM samples per codec frame and audio + channel. */ + int noChannels; /**< Number of audio channels. */ + int bitsFrame; + int nSubFrames; /**< Amount of encoder subframes. 1 means no subframing. */ + int BSACnumOfSubFrame; /**< The number of the sub-frames which are grouped and + transmitted in a super-frame (BSAC). */ + int BSAClayerLength; /**< The average length of the large-step layers in bytes + (BSAC). */ + UINT flags; /**< flags */ + UCHAR matrixMixdownA; /**< Matrix mixdown index to put into PCE. Default value + 0 means no mixdown coefficient, valid values are 1-4 + which correspond to matrix_mixdown_idx 0-3. */ + UCHAR headerPeriod; /**< Frame period for sending in band configuration + buffers in the transport layer. */ + + UCHAR stereoConfigIndex; /**< USAC MPS stereo mode */ + UCHAR sbrMode; /**< USAC SBR mode */ + SBR_PS_SIGNALING sbrSignaling; /**< 0: implicit signaling, 1: backwards + compatible explicit signaling, 2: + hierarcical explicit signaling */ + + UCHAR rawConfig[64]; /**< raw codec specific config as bit stream */ + int rawConfigBits; /**< Size of rawConfig in bits */ + + UCHAR sbrPresent; + UCHAR psPresent; +} CODER_CONFIG; + +#define USAC_ID_BIT 16 /** USAC element IDs start at USAC_ID_BIT */ + +/** MP4 Element IDs. */ +typedef enum { + /* mp4 element IDs */ + ID_NONE = -1, /**< Invalid Element helper ID. */ + ID_SCE = 0, /**< Single Channel Element. */ + ID_CPE = 1, /**< Channel Pair Element. */ + ID_CCE = 2, /**< Coupling Channel Element. */ + ID_LFE = 3, /**< LFE Channel Element. */ + ID_DSE = 4, /**< Currently one Data Stream Element for ancillary data is + supported. */ + ID_PCE = 5, /**< Program Config Element. */ + ID_FIL = 6, /**< Fill Element. */ + ID_END = 7, /**< Arnie (End Element = Terminator). */ + ID_EXT = 8, /**< Extension Payload (ER only). */ + ID_SCAL = 9, /**< AAC scalable element (ER only). */ + /* USAC element IDs */ + ID_USAC_SCE = 0 + USAC_ID_BIT, /**< Single Channel Element. */ + ID_USAC_CPE = 1 + USAC_ID_BIT, /**< Channel Pair Element. */ + ID_USAC_LFE = 2 + USAC_ID_BIT, /**< LFE Channel Element. */ + ID_USAC_EXT = 3 + USAC_ID_BIT, /**< Extension Element. */ + ID_USAC_END = 4 + USAC_ID_BIT, /**< Arnie (End Element = Terminator). */ + ID_LAST +} MP4_ELEMENT_ID; + +/* usacConfigExtType q.v. ISO/IEC DIS 23008-3 Table 52 and ISO/IEC FDIS + * 23003-3:2011(E) Table 74*/ +typedef enum { + /* USAC and RSVD60 3DA */ + ID_CONFIG_EXT_FILL = 0, + /* RSVD60 3DA */ + ID_CONFIG_EXT_DOWNMIX = 1, + ID_CONFIG_EXT_LOUDNESS_INFO = 2, + ID_CONFIG_EXT_AUDIOSCENE_INFO = 3, + ID_CONFIG_EXT_HOA_MATRIX = 4, + ID_CONFIG_EXT_SIG_GROUP_INFO = 6 + /* 5-127 => reserved for ISO use */ + /* > 128 => reserved for use outside of ISO scope */ +} CONFIG_EXT_ID; + +#define IS_CHANNEL_ELEMENT(elementId) \ + ((elementId) == ID_SCE || (elementId) == ID_CPE || (elementId) == ID_LFE || \ + (elementId) == ID_USAC_SCE || (elementId) == ID_USAC_CPE || \ + (elementId) == ID_USAC_LFE) + +#define IS_MP4_CHANNEL_ELEMENT(elementId) \ + ((elementId) == ID_SCE || (elementId) == ID_CPE || (elementId) == ID_LFE) + +#define EXT_ID_BITS 4 /**< Size in bits of extension payload type tags. */ + +/** Extension payload types. */ +typedef enum { + EXT_FIL = 0x00, + EXT_FILL_DATA = 0x01, + EXT_DATA_ELEMENT = 0x02, + EXT_DATA_LENGTH = 0x03, + EXT_UNI_DRC = 0x04, + EXT_LDSAC_DATA = 0x09, + EXT_SAOC_DATA = 0x0a, + EXT_DYNAMIC_RANGE = 0x0b, + EXT_SAC_DATA = 0x0c, + EXT_SBR_DATA = 0x0d, + EXT_SBR_DATA_CRC = 0x0e +} EXT_PAYLOAD_TYPE; + +#define IS_USAC_CHANNEL_ELEMENT(elementId) \ + ((elementId) == ID_USAC_SCE || (elementId) == ID_USAC_CPE || \ + (elementId) == ID_USAC_LFE) + +/** MPEG-D USAC & RSVD60 3D audio Extension Element Types. */ +typedef enum { + /* usac */ + ID_EXT_ELE_FILL = 0x00, + ID_EXT_ELE_MPEGS = 0x01, + ID_EXT_ELE_SAOC = 0x02, + ID_EXT_ELE_AUDIOPREROLL = 0x03, + ID_EXT_ELE_UNI_DRC = 0x04, + /* rsv603da */ + ID_EXT_ELE_OBJ_METADATA = 0x05, + ID_EXT_ELE_SAOC_3D = 0x06, + ID_EXT_ELE_HOA = 0x07, + ID_EXT_ELE_FMT_CNVRTR = 0x08, + ID_EXT_ELE_MCT = 0x09, + ID_EXT_ELE_ENHANCED_OBJ_METADATA = 0x0d, + /* reserved for use outside of ISO scope */ + ID_EXT_ELE_VR_METADATA = 0x81, + ID_EXT_ELE_UNKNOWN = 0xFF +} USAC_EXT_ELEMENT_TYPE; + +/** + * Proprietary raw packet file configuration data type identifier. + */ +typedef enum { + TC_NOTHING = 0, /* No configuration available -> in-band configuration. */ + TC_RAW_ADTS = 2, /* Transfer type is ADTS. */ + TC_RAW_LATM_MCP1 = 6, /* Transfer type is LATM with SMC present. */ + TC_RAW_SDC = 21 /* Configuration data field is Drm SDC. */ + +} TP_CONFIG_TYPE; + +/* + * ############################################################################################## + * Library identification and error handling + * ############################################################################################## + */ +/* \cond */ + +typedef enum { + FDK_NONE = 0, + FDK_TOOLS = 1, + FDK_SYSLIB = 2, + FDK_AACDEC = 3, + FDK_AACENC = 4, + FDK_SBRDEC = 5, + FDK_SBRENC = 6, + FDK_TPDEC = 7, + FDK_TPENC = 8, + FDK_MPSDEC = 9, + FDK_MPEGFILEREAD = 10, + FDK_MPEGFILEWRITE = 11, + FDK_PCMDMX = 31, + FDK_MPSENC = 34, + FDK_TDLIMIT = 35, + FDK_UNIDRCDEC = 38, + + FDK_MODULE_LAST + +} FDK_MODULE_ID; + +/* AAC capability flags */ +#define CAPF_AAC_LC 0x00000001 /**< Support flag for AAC Low Complexity. */ +#define CAPF_ER_AAC_LD \ + 0x00000002 /**< Support flag for AAC Low Delay with Error Resilience tools. \ + */ +#define CAPF_ER_AAC_SCAL 0x00000004 /**< Support flag for AAC Scalable. */ +#define CAPF_ER_AAC_LC \ + 0x00000008 /**< Support flag for AAC Low Complexity with Error Resilience \ + tools. */ +#define CAPF_AAC_480 \ + 0x00000010 /**< Support flag for AAC with 480 framelength. */ +#define CAPF_AAC_512 \ + 0x00000020 /**< Support flag for AAC with 512 framelength. */ +#define CAPF_AAC_960 \ + 0x00000040 /**< Support flag for AAC with 960 framelength. */ +#define CAPF_AAC_1024 \ + 0x00000080 /**< Support flag for AAC with 1024 framelength. */ +#define CAPF_AAC_HCR \ + 0x00000100 /**< Support flag for AAC with Huffman Codeword Reordering. */ +#define CAPF_AAC_VCB11 \ + 0x00000200 /**< Support flag for AAC Virtual Codebook 11. */ +#define CAPF_AAC_RVLC \ + 0x00000400 /**< Support flag for AAC Reversible Variable Length Coding. */ +#define CAPF_AAC_MPEG4 0x00000800 /**< Support flag for MPEG file format. */ +#define CAPF_AAC_DRC \ + 0x00001000 /**< Support flag for AAC Dynamic Range Control. */ +#define CAPF_AAC_CONCEALMENT \ + 0x00002000 /**< Support flag for AAC concealment. */ +#define CAPF_AAC_DRM_BSFORMAT \ + 0x00004000 /**< Support flag for AAC DRM bistream format. */ +#define CAPF_ER_AAC_ELD \ + 0x00008000 /**< Support flag for AAC Enhanced Low Delay with Error \ + Resilience tools. */ +#define CAPF_ER_AAC_BSAC \ + 0x00010000 /**< Support flag for AAC BSAC. */ +#define CAPF_AAC_ELD_DOWNSCALE \ + 0x00040000 /**< Support flag for AAC-ELD Downscaling */ +#define CAPF_AAC_USAC_LP \ + 0x00100000 /**< Support flag for USAC low power mode. */ +#define CAPF_AAC_USAC \ + 0x00200000 /**< Support flag for Unified Speech and Audio Coding (USAC). */ +#define CAPF_ER_AAC_ELDV2 \ + 0x00800000 /**< Support flag for AAC Enhanced Low Delay with MPS 212. */ +#define CAPF_AAC_UNIDRC \ + 0x01000000 /**< Support flag for MPEG-D Dynamic Range Control (uniDrc). */ + +/* Transport capability flags */ +#define CAPF_ADTS \ + 0x00000001 /**< Support flag for ADTS transport format. */ +#define CAPF_ADIF \ + 0x00000002 /**< Support flag for ADIF transport format. */ +#define CAPF_LATM \ + 0x00000004 /**< Support flag for LATM transport format. */ +#define CAPF_LOAS \ + 0x00000008 /**< Support flag for LOAS transport format. */ +#define CAPF_RAWPACKETS \ + 0x00000010 /**< Support flag for RAW PACKETS transport format. */ +#define CAPF_DRM \ + 0x00000020 /**< Support flag for DRM/DRM+ transport format. */ +#define CAPF_RSVD50 \ + 0x00000040 /**< Support flag for RSVD50 transport format */ + +/* SBR capability flags */ +#define CAPF_SBR_LP \ + 0x00000001 /**< Support flag for SBR Low Power mode. */ +#define CAPF_SBR_HQ \ + 0x00000002 /**< Support flag for SBR High Quality mode. */ +#define CAPF_SBR_DRM_BS \ + 0x00000004 /**< Support flag for */ +#define CAPF_SBR_CONCEALMENT \ + 0x00000008 /**< Support flag for SBR concealment. */ +#define CAPF_SBR_DRC \ + 0x00000010 /**< Support flag for SBR Dynamic Range Control. */ +#define CAPF_SBR_PS_MPEG \ + 0x00000020 /**< Support flag for MPEG Parametric Stereo. */ +#define CAPF_SBR_PS_DRM \ + 0x00000040 /**< Support flag for DRM Parametric Stereo. */ +#define CAPF_SBR_ELD_DOWNSCALE \ + 0x00000080 /**< Support flag for ELD reduced delay mode */ +#define CAPF_SBR_HBEHQ \ + 0x00000100 /**< Support flag for HQ HBE */ + +/* PCM utils capability flags */ +#define CAPF_DMX_BLIND \ + 0x00000001 /**< Support flag for blind downmixing. */ +#define CAPF_DMX_PCE \ + 0x00000002 /**< Support flag for guided downmix with data from MPEG-2/4 \ + Program Config Elements (PCE). */ +#define CAPF_DMX_ARIB \ + 0x00000004 /**< Support flag for PCE guided downmix with slightly different \ + equations and levels to fulfill ARIB standard. */ +#define CAPF_DMX_DVB \ + 0x00000008 /**< Support flag for guided downmix with data from DVB ancillary \ + data fields. */ +#define CAPF_DMX_CH_EXP \ + 0x00000010 /**< Support flag for simple upmixing by dublicating channels or \ + adding zero channels. */ +#define CAPF_DMX_6_CH \ + 0x00000020 /**< Support flag for 5.1 channel configuration (input and \ + output). */ +#define CAPF_DMX_8_CH \ + 0x00000040 /**< Support flag for 6 and 7.1 channel configurations (input and \ + output). */ +#define CAPF_DMX_24_CH \ + 0x00000080 /**< Support flag for 22.2 channel configuration (input and \ + output). */ +#define CAPF_LIMITER \ + 0x00002000 /**< Support flag for signal level limiting. \ + */ + +/* MPEG Surround capability flags */ +#define CAPF_MPS_STD \ + 0x00000001 /**< Support flag for MPEG Surround. */ +#define CAPF_MPS_LD \ + 0x00000002 /**< Support flag for Low Delay MPEG Surround. \ + */ +#define CAPF_MPS_USAC \ + 0x00000004 /**< Support flag for USAC MPEG Surround. */ +#define CAPF_MPS_HQ \ + 0x00000010 /**< Support flag indicating if high quality processing is \ + supported */ +#define CAPF_MPS_LP \ + 0x00000020 /**< Support flag indicating if partially complex (low power) \ + processing is supported */ +#define CAPF_MPS_BLIND \ + 0x00000040 /**< Support flag indicating if blind processing is supported */ +#define CAPF_MPS_BINAURAL \ + 0x00000080 /**< Support flag indicating if binaural output is possible */ +#define CAPF_MPS_2CH_OUT \ + 0x00000100 /**< Support flag indicating if 2ch output is possible */ +#define CAPF_MPS_6CH_OUT \ + 0x00000200 /**< Support flag indicating if 6ch output is possible */ +#define CAPF_MPS_8CH_OUT \ + 0x00000400 /**< Support flag indicating if 8ch output is possible */ +#define CAPF_MPS_1CH_IN \ + 0x00001000 /**< Support flag indicating if 1ch dmx input is possible */ +#define CAPF_MPS_2CH_IN \ + 0x00002000 /**< Support flag indicating if 2ch dmx input is possible */ +#define CAPF_MPS_6CH_IN \ + 0x00004000 /**< Support flag indicating if 5ch dmx input is possible */ + +/* \endcond */ + +/* + * ############################################################################################## + * Library versioning + * ############################################################################################## + */ + +/** + * Convert each member of version numbers to one single numeric version + * representation. + * \param lev0 1st level of version number. + * \param lev1 2nd level of version number. + * \param lev2 3rd level of version number. + */ +#define LIB_VERSION(lev0, lev1, lev2) \ + ((lev0 << 24 & 0xff000000) | (lev1 << 16 & 0x00ff0000) | \ + (lev2 << 8 & 0x0000ff00)) + +/** + * Build text string of version. + */ +#define LIB_VERSION_STRING(info) \ + FDKsprintf((info)->versionStr, "%d.%d.%d", (((info)->version >> 24) & 0xff), \ + (((info)->version >> 16) & 0xff), \ + (((info)->version >> 8) & 0xff)) + +/** + * Library information. + */ +typedef struct LIB_INFO { + const char* title; + const char* build_date; + const char* build_time; + FDK_MODULE_ID module_id; + INT version; + UINT flags; + char versionStr[32]; +} LIB_INFO; + +#ifdef __cplusplus +#define FDK_AUDIO_INLINE inline +#else +#define FDK_AUDIO_INLINE +#endif + +/** Initialize library info. */ +/*static FDK_AUDIO_INLINE void FDKinitLibInfo(LIB_INFO* info) { + int i; + + for (i = 0; i < FDK_MODULE_LAST; i++) { + info[i].module_id = FDK_NONE; + } +}*/ + +/** Aquire supported features of library. */ +/*static FDK_AUDIO_INLINE UINT +FDKlibInfo_getCapabilities(const LIB_INFO* info, FDK_MODULE_ID module_id) { + int i; + + for (i = 0; i < FDK_MODULE_LAST; i++) { + if (info[i].module_id == module_id) { + return info[i].flags; + } + } + return 0; +}*/ + +/** Search for next free tab. */ +/*static FDK_AUDIO_INLINE INT FDKlibInfo_lookup(const LIB_INFO* info, + FDK_MODULE_ID module_id) { + int i = -1; + + for (i = 0; i < FDK_MODULE_LAST; i++) { + if (info[i].module_id == module_id) return -1; + if (info[i].module_id == FDK_NONE) break; + } + if (i == FDK_MODULE_LAST) return -1; + + return i; +}*/ + +/* + * ############################################################################################## + * Buffer description + * ############################################################################################## + */ + +/** + * I/O buffer descriptor. + */ +typedef struct FDK_bufDescr { + void** ppBase; /*!< Pointer to an array containing buffer base addresses. + Set to NULL for buffer requirement info. */ + UINT* pBufSize; /*!< Pointer to an array containing the number of elements + that can be placed in the specific buffer. */ + UINT* pEleSize; /*!< Pointer to an array containing the element size for each + buffer in bytes. That is mostly the number returned by the + sizeof() operator for the data type used for the specific + buffer. */ + UINT* + pBufType; /*!< Pointer to an array of bit fields containing a description + for each buffer. See XXX below for more details. */ + UINT numBufs; /*!< Total number of buffers. */ + +} FDK_bufDescr; + +/** + * Buffer type description field. + */ +#define FDK_BUF_TYPE_MASK_IO ((UINT)0x03 << 30) +#define FDK_BUF_TYPE_MASK_DESCR ((UINT)0x3F << 16) +#define FDK_BUF_TYPE_MASK_ID ((UINT)0xFF) + +#define FDK_BUF_TYPE_INPUT ((UINT)0x1 << 30) +#define FDK_BUF_TYPE_OUTPUT ((UINT)0x2 << 30) + +#define FDK_BUF_TYPE_PCM_DATA ((UINT)0x1 << 16) +#define FDK_BUF_TYPE_ANC_DATA ((UINT)0x2 << 16) +#define FDK_BUF_TYPE_BS_DATA ((UINT)0x4 << 16) + +#ifdef __cplusplus +} +#endif + +#endif /* FDK_AUDIO_H */ diff --git a/3rdparty/C302/include/fdk-aac/aacdecoder_lib.h b/3rdparty/C302/include/fdk-aac/aacdecoder_lib.h new file mode 100644 index 00000000..5f0dd025 --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/aacdecoder_lib.h @@ -0,0 +1,1090 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/**************************** AAC decoder library ****************************** + + Author(s): Manuel Jander + + Description: + +*******************************************************************************/ + +#ifndef AACDECODER_LIB_H +#define AACDECODER_LIB_H + +/** + * \file aacdecoder_lib.h + * \brief FDK AAC decoder library interface header file. + * + +\page INTRO Introduction + + +\section SCOPE Scope + +This document describes the high-level application interface and usage of the +ISO/MPEG-2/4 AAC Decoder library developed by the Fraunhofer Institute for +Integrated Circuits (IIS). Depending on the library configuration, decoding of +AAC-LC (Low-Complexity), HE-AAC (High-Efficiency AAC v1 and v2), AAC-LD +(Low-Delay) and AAC-ELD (Enhanced Low-Delay) is implemented. + +All references to SBR (Spectral Band Replication) are only applicable to HE-AAC +and AAC-ELD configurations of the FDK library. All references to PS (Parametric +Stereo) are only applicable to HE-AAC v2 decoder configuration of the library. + +\section DecoderBasics Decoder Basics + +This document can only give a rough overview about the ISO/MPEG-2, ISO/MPEG-4 +AAC audio and MPEG-D USAC coding standards. To understand all details referenced +in this document, you are encouraged to read the following documents. + +- ISO/IEC 13818-7 (MPEG-2 AAC) Standard, defines the syntax of MPEG-2 AAC audio +bitstreams. +- ISO/IEC 14496-3 (MPEG-4 AAC, subpart 1 and 4) Standard, defines the syntax of +MPEG-4 AAC audio bitstreams. +- ISO/IEC 23003-3 (MPEG-D USAC), defines MPEG-D USAC unified speech and audio +codec. +- Lutzky, Schuller, Gayer, Krämer, Wabnik, "A guideline to audio codec +delay", 116th AES Convention, May 8, 2004 + +In short, MPEG Advanced Audio Coding is based on a time-to-frequency mapping of +the signal. The signal is partitioned into overlapping time portions and +transformed into frequency domain. The spectral components are then quantized +and coded using a highly efficient coding scheme.\n Encoded MPEG-2 and MPEG-4 +AAC audio bitstreams are composed of frames. Contrary to MPEG-1/2 Layer-3 (mp3), +the length of individual frames is not restricted to a fixed number of bytes, +but can take any length between 1 and 768 bytes. + +In addition to the above mentioned frequency domain coding mode, MPEG-D USAC +also employs a time domain Algebraic Code-Excited Linear Prediction (ACELP) +speech coder core. This operating mode is selected by the encoder in order to +achieve the optimum audio quality for different content type. Several +enhancements allow achieving higher quality at lower bit rates compared to +MPEG-4 HE-AAC. + + +\page LIBUSE Library Usage + + +\section InterfaceDescritpion API Description + +All API header files are located in the folder /include of the release package. +The contents of each file is described in detail in this document. All header +files are provided for usage in specific C/C++ programs. The main AAC decoder +library API functions are located in aacdecoder_lib.h header file. + +In binary releases the decoder core resides in statically linkable libraries, +for example libAACdec.a. + + +\section Calling_Sequence Calling Sequence + +The following sequence is necessary for proper decoding of ISO/MPEG-2/4 AAC, +HE-AAC v2, or MPEG-D USAC bitstreams. In the following description, input stream +read and output write function details are left out, since they may be +implemented in a variety of configurations depending on the user's specific +requirements. The example implementation uses file-based input/output, and in +such case one may call mpegFileRead_Open() to open an input file and to allocate +memory for the required structures, and the corresponding mpegFileRead_Close() +to close opened files and to de-allocate associated structures. +mpegFileRead_Open() will attempt to detect the bitstream format and in case of +MPEG-4 file format or Raw Packets file format (a proprietary Fraunhofer IIS file +format suitable only for testing) it will read the Audio Specific Config data +(ASC). An unsuccessful attempt to recognize the bitstream format requires the +user to provide this information manually. For any other bitstream formats that +are usually applicable in streaming applications, the decoder itself will try to +synchronize and parse the given bitstream fragment using the FDK transport +library. Hence, for streaming applications (without file access) this step is +not necessary. + + +-# Call aacDecoder_Open() to open and retrieve a handle to a new AAC decoder +instance. \code aacDecoderInfo = aacDecoder_Open(transportType, nrOfLayers); +\endcode +-# If out-of-band config data (Audio Specific Config (ASC) or Stream Mux Config +(SMC)) is available, call aacDecoder_ConfigRaw() to pass this data to the +decoder before beginning the decoding process. If this data is not available in +advance, the decoder will configure itself while decoding, during the +aacDecoder_DecodeFrame() function call. +-# Begin decoding loop. +\code +do { +\endcode +-# Read data from bitstream file or stream buffer in to the driver program +working memory (a client-supplied input buffer "inBuffer" in framework). This +buffer will be used to load AAC bitstream data to the decoder. Only when all +data in this buffer has been processed will the decoder signal an empty buffer. +For file-based input, you may invoke mpegFileRead_Read() to acquire new +bitstream data. +-# Call aacDecoder_Fill() to fill the decoder's internal bitstream input buffer +with the client-supplied bitstream input buffer. Note, if the data loaded in to +the internal buffer is not sufficient to decode a frame, +aacDecoder_DecodeFrame() will return ::AAC_DEC_NOT_ENOUGH_BITS until a +sufficient amount of data is loaded in to the internal buffer. For streaming +formats (ADTS, LOAS), it is acceptable to load more than one frame to the +decoder. However, for RAW file format (Fraunhofer IIS proprietary format), only +one frame may be loaded to the decoder per aacDecoder_DecodeFrame() call. For +least amount of communication delay, fill and decode should be performed on a +frame by frame basis. \code ErrorStatus = aacDecoder_Fill(aacDecoderInfo, +inBuffer, bytesRead, bytesValid); \endcode +-# Call aacDecoder_DecodeFrame(). This function decodes one frame and writes +decoded PCM audio data to a client-supplied buffer. It is the client's +responsibility to allocate a buffer which is large enough to hold the decoded +output data. \code ErrorStatus = aacDecoder_DecodeFrame(aacDecoderInfo, +TimeData, OUT_BUF_SIZE, flags); \endcode If the bitstream configuration (number +of channels, sample rate, frame size) is not known a priori, you may call +aacDecoder_GetStreamInfo() to retrieve a structure that contains this +information. You may use this data to initialize an audio output device. In the +example program, if the number of channels or the sample rate has changed since +program start or the previously decoded frame, the audio output device is then +re-initialized. If WAVE file output is chosen, a new WAVE file for each new +stream configuration is be created. \code p_si = +aacDecoder_GetStreamInfo(aacDecoderInfo); \endcode +-# Repeat steps 5 to 7 until no data is available to decode any more, or in case +of error. \code } while (bytesRead[0] > 0 || doFlush || doBsFlush || +forceContinue); \endcode +-# Call aacDecoder_Close() to de-allocate all AAC decoder and transport layer +structures. \code aacDecoder_Close(aacDecoderInfo); \endcode + +\image latex decode.png "Decode calling sequence" width=11cm + +\image latex change_source.png "Change data source sequence" width 5cm + +\image latex conceal.png "Error concealment sequence" width=14cm + +\subsection Error_Concealment_Sequence Error Concealment Sequence + +There are different strategies to handle bit stream errors. Depending on the +system properties the product designer might choose to take different actions in +case a bit error occurs. In many cases the decoder might be able to do +reasonable error concealment without the need of any additional actions from the +system. But in some cases its not even possible to know how many decoded PCM +output samples are required to fill the gap due to the data error, then the +software surrounding the decoder must deal with the situation. The most simple +way would be to just stop audio playback and resume once enough bit stream data +and/or buffered output samples are available. More sophisticated designs might +also be able to deal with sender/receiver clock drifts or data drop outs by +using a closed loop control of FIFO fulness levels. The chosen strategy depends +on the final product requirements. + +The error concealment sequence diagram illustrates the general execution paths +for error handling. + +The macro IS_OUTPUT_VALID(err) can be used to identify if the audio output +buffer contains valid audio either from error free bit stream data or successful +error concealment. In case the result is false, the decoder output buffer does +not contain meaningful audio samples and should not be passed to any output as +it is. Most likely in case that a continuous audio output PCM stream is +required, the output buffer must be filled with audio data from the calling +framework. This might be e.g. an appropriate number of samples all zero. + +If error code ::AAC_DEC_TRANSPORT_SYNC_ERROR is returned by the decoder, under +some particular conditions it is possible to estimate lost frames due to the bit +stream error. In that case the bit stream is required to have a constant +bitrate, and compatible transport type. Audio samples for the lost frames can be +obtained by calling aacDecoder_DecodeFrame() with flag ::AACDEC_CONCEAL set +n-times where n is the count of lost frames. Please note that the decoder has to +have encountered valid configuration data at least once to be able to generate +concealed data, because at the minimum the sampling rate, frame size and amount +of audio channels needs to be known. + +If it is not possible to get an estimation of lost frames then a constant +fullness of the audio output buffer can be achieved by implementing different +FIFO control techniques e.g. just stop taking of samples from the buffer to +avoid underflow or stop filling new data to the buffer to avoid overflow. But +this techniques are out of scope of this document. + +For a detailed description of a specific error code please refer also to +::AAC_DECODER_ERROR. + +\section BufferSystem Buffer System + +There are three main buffers in an AAC decoder application. One external input +buffer to hold bitstream data from file I/O or elsewhere, one decoder-internal +input buffer, and one to hold the decoded output PCM sample data. In resource +limited applications, the output buffer may be reused as an external input +buffer prior to the subsequence aacDecoder_Fill() function call. + +The external input buffer is set in the example program and its size is defined +by ::IN_BUF_SIZE. You may freely choose different buffer sizes. To feed the data +to the decoder-internal input buffer, use the function aacDecoder_Fill(). This +function returns important information regarding the number of bytes in the +external input buffer that have not yet been copied into the internal input +buffer (variable bytesValid). Once the external buffer has been fully copied, it +can be completely re-filled again. In case you wish to refill the buffer while +there are unprocessed bytes (bytesValid is unequal 0), you should preserve the +unconsumed data. However, we recommend to refill the buffer only when bytesValid +returns 0. + +The bytesValid parameter is an input and output parameter to the FDK decoder. As +an input, it signals how many valid bytes are available in the external buffer. +After consumption of the external buffer using aacDecoder_Fill() function, the +bytesValid parameter indicates if any of the bytes in the external buffer were +not consumed. + +\image latex dec_buffer.png "Life cycle of the external input buffer" width=9cm + +\page OutputFormat Decoder audio output + +\section OutputFormatObtaining Obtaining channel mapping information + +The decoded audio output format is indicated by a set of variables of the +CStreamInfo structure. While the struct members sampleRate, frameSize and +numChannels might be self explanatory, pChannelType and pChannelIndices require +some further explanation. + +These two arrays indicate the configuration of channel data within the output +buffer. Both arrays have CStreamInfo::numChannels number of cells. Each cell of +pChannelType indicates the channel type, which is described in the enum +::AUDIO_CHANNEL_TYPE (defined in FDK_audio.h). The cells of pChannelIndices +indicate the sub index among the channels starting with 0 among channels of the +same audio channel type. + +The indexing scheme is structured as defined in MPEG-2/4 Standards. Indices +start from the front direction (a center channel if available, will always be +index 0) and increment, starting with the left side, pairwise (e.g. L, R) and +from front to back (Front L, Front R, Surround L, Surround R). For detailed +explanation, please refer to ISO/IEC 13818-7:2005(E), chapter 8.5.3.2. + +In case a Program Config is included in the audio configuration, the channel +mapping described within it will be adopted. + +In case of MPEG-D Surround the channel mapping will follow the same criteria +described in ISO/IEC 13818-7:2005(E), but adding corresponding top channels (if +available) to the channel types in order to avoid ambiguity. The examples below +explain these aspects in detail. + +\section OutputFormatChange Changing the audio output format + +For MPEG-4 audio the channel order can be changed at runtime through the +parameter +::AAC_PCM_OUTPUT_CHANNEL_MAPPING. See the description of those +parameters and the decoder library function aacDecoder_SetParam() for more +detail. + +\section OutputFormatExample Channel mapping examples + +The following examples illustrate the location of individual audio samples in +the audio buffer that is passed to aacDecoder_DecodeFrame() and the expected +data in the CStreamInfo structure which can be obtained by calling +aacDecoder_GetStreamInfo(). + +\subsection ExamplesStereo Stereo + +In case of ::AAC_PCM_OUTPUT_CHANNEL_MAPPING set to 1, +a AAC-LC bit stream which has channelConfiguration = 2 in its audio specific +config would lead to the following values in CStreamInfo: + +CStreamInfo::numChannels = 2 + +CStreamInfo::pChannelType = { ::ACT_FRONT, ::ACT_FRONT } + +CStreamInfo::pChannelIndices = { 0, 1 } + +The output buffer will be formatted as follows: + +\verbatim + ... + ... +\endverbatim + +Where N equals to CStreamInfo::frameSize . + +\subsection ExamplesSurround Surround 5.1 + +In case of ::AAC_PCM_OUTPUT_CHANNEL_MAPPING set to 1, +a AAC-LC bit stream which has channelConfiguration = 6 in its audio specific +config, would lead to the following values in CStreamInfo: + +CStreamInfo::numChannels = 6 + +CStreamInfo::pChannelType = { ::ACT_FRONT, ::ACT_FRONT, ::ACT_FRONT, ::ACT_LFE, +::ACT_BACK, ::ACT_BACK } + +CStreamInfo::pChannelIndices = { 1, 2, 0, 0, 0, 1 } + +Since ::AAC_PCM_OUTPUT_CHANNEL_MAPPING is 1, WAV file channel ordering will be +used. For a 5.1 channel scheme, thus the channels would be: front left, front +right, center, LFE, surround left, surround right. Thus the third channel is the +center channel, receiving the index 0. The other front channels are front left, +front right being placed as first and second channels with indices 1 and 2 +correspondingly. There is only one LFE, placed as the fourth channel and index +0. Finally both surround channels get the type definition ACT_BACK, and the +indices 0 and 1. + +The output buffer will be formatted as follows: + +\verbatim + +
+ + + +
+ + +... + + +
+ +\endverbatim + +Where N equals to CStreamInfo::frameSize . + +\subsection ExamplesArib ARIB coding mode 2/1 + +In case of ::AAC_PCM_OUTPUT_CHANNEL_MAPPING set to 1, +in case of a ARIB bit stream using coding mode 2/1 as described in ARIB STD-B32 +Part 2 Version 2.1-E1, page 61, would lead to the following values in +CStreamInfo: + +CStreamInfo::numChannels = 3 + +CStreamInfo::pChannelType = { ::ACT_FRONT, ::ACT_FRONT, ::ACT_BACK } + +CStreamInfo::pChannelIndices = { 0, 1, 0 } + +The audio channels will be placed as follows in the audio output buffer: + +\verbatim + + + + +... + + + +Where N equals to CStreamInfo::frameSize . + +\endverbatim + +*/ + +#include "machine_type.h" +#include "FDK_audio.h" + +#include "genericStds.h" + +#define AACDECODER_LIB_VL0 3 +#define AACDECODER_LIB_VL1 0 +#define AACDECODER_LIB_VL2 0 + +/** + * \brief AAC decoder error codes. + */ +typedef enum { + AAC_DEC_OK = + 0x0000, /*!< No error occurred. Output buffer is valid and error free. */ + AAC_DEC_OUT_OF_MEMORY = + 0x0002, /*!< Heap returned NULL pointer. Output buffer is invalid. */ + AAC_DEC_UNKNOWN = + 0x0005, /*!< Error condition is of unknown reason, or from a another + module. Output buffer is invalid. */ + + /* Synchronization errors. Output buffer is invalid. */ + aac_dec_sync_error_start = 0x1000, + AAC_DEC_TRANSPORT_SYNC_ERROR = 0x1001, /*!< The transport decoder had + synchronization problems. Do not + exit decoding. Just feed new + bitstream data. */ + AAC_DEC_NOT_ENOUGH_BITS = 0x1002, /*!< The input buffer ran out of bits. */ + aac_dec_sync_error_end = 0x1FFF, + + /* Initialization errors. Output buffer is invalid. */ + aac_dec_init_error_start = 0x2000, + AAC_DEC_INVALID_HANDLE = + 0x2001, /*!< The handle passed to the function call was invalid (NULL). */ + AAC_DEC_UNSUPPORTED_AOT = + 0x2002, /*!< The AOT found in the configuration is not supported. */ + AAC_DEC_UNSUPPORTED_FORMAT = + 0x2003, /*!< The bitstream format is not supported. */ + AAC_DEC_UNSUPPORTED_ER_FORMAT = + 0x2004, /*!< The error resilience tool format is not supported. */ + AAC_DEC_UNSUPPORTED_EPCONFIG = + 0x2005, /*!< The error protection format is not supported. */ + AAC_DEC_UNSUPPORTED_MULTILAYER = + 0x2006, /*!< More than one layer for AAC scalable is not supported. */ + AAC_DEC_UNSUPPORTED_CHANNELCONFIG = + 0x2007, /*!< The channel configuration (either number or arrangement) is + not supported. */ + AAC_DEC_UNSUPPORTED_SAMPLINGRATE = 0x2008, /*!< The sample rate specified in + the configuration is not + supported. */ + AAC_DEC_INVALID_SBR_CONFIG = + 0x2009, /*!< The SBR configuration is not supported. */ + AAC_DEC_SET_PARAM_FAIL = 0x200A, /*!< The parameter could not be set. Either + the value was out of range or the + parameter does not exist. */ + AAC_DEC_NEED_TO_RESTART = 0x200B, /*!< The decoder needs to be restarted, + since the required configuration change + cannot be performed. */ + AAC_DEC_OUTPUT_BUFFER_TOO_SMALL = + 0x200C, /*!< The provided output buffer is too small. */ + aac_dec_init_error_end = 0x2FFF, + + /* Decode errors. Output buffer is valid but concealed. */ + aac_dec_decode_error_start = 0x4000, + AAC_DEC_TRANSPORT_ERROR = + 0x4001, /*!< The transport decoder encountered an unexpected error. */ + AAC_DEC_PARSE_ERROR = 0x4002, /*!< Error while parsing the bitstream. Most + probably it is corrupted, or the system + crashed. */ + AAC_DEC_UNSUPPORTED_EXTENSION_PAYLOAD = + 0x4003, /*!< Error while parsing the extension payload of the bitstream. + The extension payload type found is not supported. */ + AAC_DEC_DECODE_FRAME_ERROR = 0x4004, /*!< The parsed bitstream value is out of + range. Most probably the bitstream is + corrupt, or the system crashed. */ + AAC_DEC_CRC_ERROR = 0x4005, /*!< The embedded CRC did not match. */ + AAC_DEC_INVALID_CODE_BOOK = 0x4006, /*!< An invalid codebook was signaled. + Most probably the bitstream is corrupt, + or the system crashed. */ + AAC_DEC_UNSUPPORTED_PREDICTION = + 0x4007, /*!< Predictor found, but not supported in the AAC Low Complexity + profile. Most probably the bitstream is corrupt, or has a wrong + format. */ + AAC_DEC_UNSUPPORTED_CCE = 0x4008, /*!< A CCE element was found which is not + supported. Most probably the bitstream is + corrupt, or has a wrong format. */ + AAC_DEC_UNSUPPORTED_LFE = 0x4009, /*!< A LFE element was found which is not + supported. Most probably the bitstream is + corrupt, or has a wrong format. */ + AAC_DEC_UNSUPPORTED_GAIN_CONTROL_DATA = + 0x400A, /*!< Gain control data found but not supported. Most probably the + bitstream is corrupt, or has a wrong format. */ + AAC_DEC_UNSUPPORTED_SBA = + 0x400B, /*!< SBA found, but currently not supported in the BSAC profile. + */ + AAC_DEC_TNS_READ_ERROR = 0x400C, /*!< Error while reading TNS data. Most + probably the bitstream is corrupt or the + system crashed. */ + AAC_DEC_RVLC_ERROR = + 0x400D, /*!< Error while decoding error resilient data. */ + aac_dec_decode_error_end = 0x4FFF, + /* Ancillary data errors. Output buffer is valid. */ + aac_dec_anc_data_error_start = 0x8000, + AAC_DEC_ANC_DATA_ERROR = + 0x8001, /*!< Non severe error concerning the ancillary data handling. */ + AAC_DEC_TOO_SMALL_ANC_BUFFER = 0x8002, /*!< The registered ancillary data + buffer is too small to receive the + parsed data. */ + AAC_DEC_TOO_MANY_ANC_ELEMENTS = 0x8003, /*!< More than the allowed number of + ancillary data elements should be + written to buffer. */ + aac_dec_anc_data_error_end = 0x8FFF + +} AAC_DECODER_ERROR; + +/** Macro to identify initialization errors. Output buffer is invalid. */ +#define IS_INIT_ERROR(err) \ + ((((err) >= aac_dec_init_error_start) && ((err) <= aac_dec_init_error_end)) \ + ? 1 \ + : 0) +/** Macro to identify decode errors. Output buffer is valid but concealed. */ +#define IS_DECODE_ERROR(err) \ + ((((err) >= aac_dec_decode_error_start) && \ + ((err) <= aac_dec_decode_error_end)) \ + ? 1 \ + : 0) +/** + * Macro to identify if the audio output buffer contains valid samples after + * calling aacDecoder_DecodeFrame(). Output buffer is valid but can be + * concealed. + */ +#define IS_OUTPUT_VALID(err) (((err) == AAC_DEC_OK) || IS_DECODE_ERROR(err)) + +/*! \enum AAC_MD_PROFILE + * \brief The available metadata profiles which are mostly related to downmixing. The values define the arguments + * for the use with parameter ::AAC_METADATA_PROFILE. + */ +typedef enum { + AAC_MD_PROFILE_MPEG_STANDARD = + 0, /*!< The standard profile creates a mixdown signal based on the + advanced downmix metadata (from a DSE). The equations and default + values are defined in ISO/IEC 14496:3 Ammendment 4. Any other + (legacy) downmix metadata will be ignored. No other parameter will + be modified. */ + AAC_MD_PROFILE_MPEG_LEGACY = + 1, /*!< This profile behaves identical to the standard profile if advanced + downmix metadata (from a DSE) is available. If not, the + matrix_mixdown information embedded in the program configuration + element (PCE) will be applied. If neither is the case, the module + creates a mixdown using the default coefficients as defined in + ISO/IEC 14496:3 AMD 4. The profile can be used to support legacy + digital TV (e.g. DVB) streams. */ + AAC_MD_PROFILE_MPEG_LEGACY_PRIO = + 2, /*!< Similar to the ::AAC_MD_PROFILE_MPEG_LEGACY profile but if both + the advanced (ISO/IEC 14496:3 AMD 4) and the legacy (PCE) MPEG + downmix metadata are available the latter will be applied. + */ + AAC_MD_PROFILE_ARIB_JAPAN = + 3 /*!< Downmix creation as described in ABNT NBR 15602-2. But if advanced + downmix metadata (ISO/IEC 14496:3 AMD 4) is available it will be + preferred because of the higher resolutions. In addition the + metadata expiry time will be set to the value defined in the ARIB + standard (see ::AAC_METADATA_EXPIRY_TIME). + */ +} AAC_MD_PROFILE; + +/*! \enum AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS + * \brief Options for handling of DRC parameters, if presentation mode is not indicated in bitstream + */ +typedef enum { + AAC_DRC_PARAMETER_HANDLING_DISABLED = -1, /*!< DRC parameter handling + disabled, all parameters are + applied as requested. */ + AAC_DRC_PARAMETER_HANDLING_ENABLED = + 0, /*!< Apply changes to requested DRC parameters to prevent clipping. */ + AAC_DRC_PRESENTATION_MODE_1_DEFAULT = + 1, /*!< Use DRC presentation mode 1 as default (e.g. for Nordig) */ + AAC_DRC_PRESENTATION_MODE_2_DEFAULT = + 2 /*!< Use DRC presentation mode 2 as default (e.g. for DTG DBook) */ +} AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS; + +/** + * \brief AAC decoder setting parameters + */ +typedef enum { + AAC_PCM_DUAL_CHANNEL_OUTPUT_MODE = + 0x0002, /*!< Defines how the decoder processes two channel signals: \n + 0: Leave both signals as they are (default). \n + 1: Create a dual mono output signal from channel 1. \n + 2: Create a dual mono output signal from channel 2. \n + 3: Create a dual mono output signal by mixing both channels + (L' = R' = 0.5*Ch1 + 0.5*Ch2). */ + AAC_PCM_OUTPUT_CHANNEL_MAPPING = + 0x0003, /*!< Output buffer channel ordering. 0: MPEG PCE style order, 1: + WAV file channel order (default). */ + AAC_PCM_LIMITER_ENABLE = + 0x0004, /*!< Enable signal level limiting. \n + -1: Auto-config. Enable limiter for all + non-lowdelay configurations by default. \n + 0: Disable limiter in general. \n + 1: Enable limiter always. + It is recommended to call the decoder + with a AACDEC_CLRHIST flag to reset all + states when the limiter switch is changed + explicitly. */ + AAC_PCM_LIMITER_ATTACK_TIME = 0x0005, /*!< Signal level limiting attack time + in ms. Default configuration is 15 + ms. Adjustable range from 1 ms to 15 + ms. */ + AAC_PCM_LIMITER_RELEAS_TIME = 0x0006, /*!< Signal level limiting release time + in ms. Default configuration is 50 + ms. Adjustable time must be larger + than 0 ms. */ + AAC_PCM_MIN_OUTPUT_CHANNELS = + 0x0011, /*!< Minimum number of PCM output channels. If higher than the + number of encoded audio channels, a simple channel extension is + applied (see note 4 for exceptions). \n -1, 0: Disable channel + extension feature. The decoder output contains the same number + of channels as the encoded bitstream. \n 1: This value is + currently needed only together with the mix-down feature. See + ::AAC_PCM_MAX_OUTPUT_CHANNELS and note 2 below. \n + 2: Encoded mono signals will be duplicated to achieve a + 2/0/0.0 channel output configuration. \n 6: The decoder + tries to reorder encoded signals with less than six channels to + achieve a 3/0/2.1 channel output signal. Missing channels will + be filled with a zero signal. If reordering is not possible the + empty channels will simply be appended. Only available if + instance is configured to support multichannel output. \n 8: + The decoder tries to reorder encoded signals with less than + eight channels to achieve a 3/0/4.1 channel output signal. + Missing channels will be filled with a zero signal. If + reordering is not possible the empty channels will simply be + appended. Only available if instance is configured to + support multichannel output.\n NOTE: \n + 1. The channel signaling (CStreamInfo::pChannelType and + CStreamInfo::pChannelIndices) will not be modified. Added empty + channels will be signaled with channel type + AUDIO_CHANNEL_TYPE::ACT_NONE. \n + 2. If the parameter value is greater than that of + ::AAC_PCM_MAX_OUTPUT_CHANNELS both will be set to the same + value. \n + 3. This parameter does not affect MPEG Surround processing. + \n + 4. This parameter will be ignored if the number of encoded + audio channels is greater than 8. */ + AAC_PCM_MAX_OUTPUT_CHANNELS = + 0x0012, /*!< Maximum number of PCM output channels. If lower than the + number of encoded audio channels, downmixing is applied + accordingly (see note 5 for exceptions). If dedicated metadata + is available in the stream it will be used to achieve better + mixing results. \n -1, 0: Disable downmixing feature. The + decoder output contains the same number of channels as the + encoded bitstream. \n 1: All encoded audio configurations + with more than one channel will be mixed down to one mono + output signal. \n 2: The decoder performs a stereo mix-down + if the number encoded audio channels is greater than two. \n 6: + If the number of encoded audio channels is greater than six the + decoder performs a mix-down to meet the target output + configuration of 3/0/2.1 channels. Only available if instance + is configured to support multichannel output. \n 8: This + value is currently needed only together with the channel + extension feature. See ::AAC_PCM_MIN_OUTPUT_CHANNELS and note 2 + below. Only available if instance is configured to support + multichannel output. \n NOTE: \n + 1. Down-mixing of any seven or eight channel configuration + not defined in ISO/IEC 14496-3 PDAM 4 is not supported by this + software version. \n + 2. If the parameter value is greater than zero but smaller + than ::AAC_PCM_MIN_OUTPUT_CHANNELS both will be set to same + value. \n + 3. The operating mode of the MPEG Surround module will be + set accordingly. \n + 4. Setting this parameter with any value will disable the + binaural processing of the MPEG Surround module + 5. This parameter will be ignored if the number of encoded + audio channels is greater than 8. */ + AAC_METADATA_PROFILE = + 0x0020, /*!< See ::AAC_MD_PROFILE for all available values. */ + AAC_METADATA_EXPIRY_TIME = 0x0021, /*!< Defines the time in ms after which all + the bitstream associated meta-data (DRC, + downmix coefficients, ...) will be reset + to default if no update has been + received. Negative values disable the + feature. */ + + AAC_CONCEAL_METHOD = 0x0100, /*!< Error concealment: Processing method. \n + 0: Spectral muting. \n + 1: Noise substitution (see ::CONCEAL_NOISE). + \n 2: Energy interpolation (adds additional + signal delay of one frame, see + ::CONCEAL_INTER. only some AOTs are + supported). \n */ + AAC_DRC_BOOST_FACTOR = + 0x0200, /*!< Dynamic Range Control: Scaling factor for boosting gain + values. Defines how the boosting DRC factors (conveyed in the + bitstream) will be applied to the decoded signal. The valid + values range from 0 (don't apply boost factors) to 127 (fully + apply boost factors). Default value is 0. */ + AAC_DRC_ATTENUATION_FACTOR = + 0x0201, /*!< Dynamic Range Control: Scaling factor for attenuating gain + values. Same as + ::AAC_DRC_BOOST_FACTOR but for attenuating DRC factors. */ + AAC_DRC_REFERENCE_LEVEL = + 0x0202, /*!< Dynamic Range Control (DRC): Target reference level. Defines + the level below full-scale (quantized in steps of 0.25dB) to + which the output audio signal will be normalized to by the DRC + module. The parameter controls loudness normalization for both + MPEG-4 DRC and MPEG-D DRC. The valid values range from 40 (-10 + dBFS) to 127 (-31.75 dBFS). Any value smaller than 0 switches + off loudness normalization and MPEG-4 DRC. By default, loudness + normalization and MPEG-4 DRC is switched off. */ + AAC_DRC_HEAVY_COMPRESSION = + 0x0203, /*!< Dynamic Range Control: En-/Disable DVB specific heavy + compression (aka RF mode). If set to 1, the decoder will apply + the compression values from the DVB specific ancillary data + field. At the same time the MPEG-4 Dynamic Range Control tool + will be disabled. By default, heavy compression is disabled. */ + AAC_DRC_DEFAULT_PRESENTATION_MODE = + 0x0204, /*!< Dynamic Range Control: Default presentation mode (DRC + parameter handling). \n Defines the handling of the DRC + parameters boost factor, attenuation factor and heavy + compression, if no presentation mode is indicated in the + bitstream.\n For options, see + ::AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS.\n Default: + ::AAC_DRC_PARAMETER_HANDLING_DISABLED */ + AAC_DRC_ENC_TARGET_LEVEL = + 0x0205, /*!< Dynamic Range Control: Encoder target level for light (i.e. + not heavy) compression.\n If known, this declares the target + reference level that was assumed at the encoder for calculation + of limiting gains. The valid values range from 0 (full-scale) + to 127 (31.75 dB below full-scale). This parameter is used only + with ::AAC_DRC_PARAMETER_HANDLING_ENABLED and ignored + otherwise.\n Default: 127 (worst-case assumption).\n */ + AAC_QMF_LOWPOWER = 0x0300, /*!< Quadrature Mirror Filter (QMF) Bank processing + mode. \n -1: Use internal default. Implies MPEG + Surround partially complex accordingly. \n 0: + Use complex QMF data mode. \n 1: Use real (low + power) QMF data mode. \n */ + AAC_TPDEC_CLEAR_BUFFER = + 0x0603, /*!< Clear internal bit stream buffer of transport layers. The + decoder will start decoding at new data passed after this event + and any previous data is discarded. */ + AAC_UNIDRC_SET_EFFECT = 0x0903 /*!< MPEG-D DRC: Request a DRC effect type for + selection of a DRC set.\n Supported indices + are:\n -1: DRC off. Completely disables + MPEG-D DRC.\n 0: None (default). Disables + MPEG-D DRC, but automatically enables DRC if + necessary to prevent clipping.\n 1: Late + night\n 2: Noisy environment\n 3: Limited + playback range\n 4: Low playback level\n 5: + Dialog enhancement\n 6: General compression. + Used for generally enabling MPEG-D DRC + without particular request.\n */ + +} AACDEC_PARAM; + +/** + * \brief This structure gives information about the currently decoded audio + * data. All fields are read-only. + */ +typedef struct { + /* These five members are the only really relevant ones for the user. */ + INT sampleRate; /*!< The sample rate in Hz of the decoded PCM audio signal. */ + INT frameSize; /*!< The frame size of the decoded PCM audio signal. \n + Typically this is: \n + 1024 or 960 for AAC-LC \n + 2048 or 1920 for HE-AAC (v2) \n + 512 or 480 for AAC-LD and AAC-ELD \n + 768, 1024, 2048 or 4096 for USAC */ + INT numChannels; /*!< The number of output audio channels before the rendering + module, i.e. the original channel configuration. */ + AUDIO_CHANNEL_TYPE + *pChannelType; /*!< Audio channel type of each output audio channel. */ + UCHAR *pChannelIndices; /*!< Audio channel index for each output audio + channel. See ISO/IEC 13818-7:2005(E), 8.5.3.2 + Explicit channel mapping using a + program_config_element() */ + /* Decoder internal members. */ + INT aacSampleRate; /*!< Sampling rate in Hz without SBR (from configuration + info) divided by a (ELD) downscale factor if present. */ + INT profile; /*!< MPEG-2 profile (from file header) (-1: not applicable (e. g. + MPEG-4)). */ + AUDIO_OBJECT_TYPE + aot; /*!< Audio Object Type (from ASC): is set to the appropriate value + for MPEG-2 bitstreams (e. g. 2 for AAC-LC). */ + INT channelConfig; /*!< Channel configuration (0: PCE defined, 1: mono, 2: + stereo, ... */ + INT bitRate; /*!< Instantaneous bit rate. */ + INT aacSamplesPerFrame; /*!< Samples per frame for the AAC core (from ASC) + divided by a (ELD) downscale factor if present. \n + Typically this is (with a downscale factor of 1): + \n 1024 or 960 for AAC-LC \n 512 or 480 for + AAC-LD and AAC-ELD */ + INT aacNumChannels; /*!< The number of audio channels after AAC core + processing (before PS or MPS processing). CAUTION: This + are not the final number of output channels! */ + AUDIO_OBJECT_TYPE extAot; /*!< Extension Audio Object Type (from ASC) */ + INT extSamplingRate; /*!< Extension sampling rate in Hz (from ASC) divided by + a (ELD) downscale factor if present. */ + + UINT outputDelay; /*!< The number of samples the output is additionally + delayed by.the decoder. */ + UINT flags; /*!< Copy of internal flags. Only to be written by the decoder, + and only to be read externally. */ + + SCHAR epConfig; /*!< epConfig level (from ASC): only level 0 supported, -1 + means no ER (e. g. AOT=2, MPEG-2 AAC, etc.) */ + /* Statistics */ + INT numLostAccessUnits; /*!< This integer will reflect the estimated amount of + lost access units in case aacDecoder_DecodeFrame() + returns AAC_DEC_TRANSPORT_SYNC_ERROR. It will be + < 0 if the estimation failed. */ + + INT64 numTotalBytes; /*!< This is the number of total bytes that have passed + through the decoder. */ + INT64 + numBadBytes; /*!< This is the number of total bytes that were considered + with errors from numTotalBytes. */ + INT64 + numTotalAccessUnits; /*!< This is the number of total access units that + have passed through the decoder. */ + INT64 numBadAccessUnits; /*!< This is the number of total access units that + were considered with errors from numTotalBytes. */ + + /* Metadata */ + SCHAR drcProgRefLev; /*!< DRC program reference level. Defines the reference + level below full-scale. It is quantized in steps of + 0.25dB. The valid values range from 0 (0 dBFS) to 127 + (-31.75 dBFS). It is used to reflect the average + loudness of the audio in LKFS according to ITU-R BS + 1770. If no level has been found in the bitstream the + value is -1. */ + SCHAR + drcPresMode; /*!< DRC presentation mode. According to ETSI TS 101 154, + this field indicates whether light (MPEG-4 Dynamic Range + Control tool) or heavy compression (DVB heavy + compression) dynamic range control shall take priority + on the outputs. For details, see ETSI TS 101 154, table + C.33. Possible values are: \n -1: No corresponding + metadata found in the bitstream \n 0: DRC presentation + mode not indicated \n 1: DRC presentation mode 1 \n 2: + DRC presentation mode 2 \n 3: Reserved */ + +} CStreamInfo; + +typedef struct AAC_DECODER_INSTANCE + *HANDLE_AACDECODER; /*!< Pointer to a AAC decoder instance. */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Initialize ancillary data buffer. + * + * \param self AAC decoder handle. + * \param buffer Pointer to (external) ancillary data buffer. + * \param size Size of the buffer pointed to by buffer. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_AncDataInit(HANDLE_AACDECODER self, + UCHAR *buffer, int size); + +/** + * \brief Get one ancillary data element. + * + * \param self AAC decoder handle. + * \param index Index of the ancillary data element to get. + * \param ptr Pointer to a buffer receiving a pointer to the requested + * ancillary data element. + * \param size Pointer to a buffer receiving the length of the requested + * ancillary data element. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_AncDataGet(HANDLE_AACDECODER self, + int index, UCHAR **ptr, + int *size); + +/** + * \brief Set one single decoder parameter. + * + * \param self AAC decoder handle. + * \param param Parameter to be set. + * \param value Parameter value. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_SetParam(const HANDLE_AACDECODER self, + const AACDEC_PARAM param, + const INT value); + +/** + * \brief Get free bytes inside decoder internal buffer. + * \param self Handle of AAC decoder instance. + * \param pFreeBytes Pointer to variable receiving amount of free bytes inside + * decoder internal buffer. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR +aacDecoder_GetFreeBytes(const HANDLE_AACDECODER self, UINT *pFreeBytes); + +/** + * \brief Open an AAC decoder instance. + * \param transportFmt The transport type to be used. + * \param nrOfLayers Number of transport layers. + * \return AAC decoder handle. + */ +LINKSPEC_H HANDLE_AACDECODER aacDecoder_Open(TRANSPORT_TYPE transportFmt, + UINT nrOfLayers); + +/** + * \brief Explicitly configure the decoder by passing a raw AudioSpecificConfig + * (ASC) or a StreamMuxConfig (SMC), contained in a binary buffer. This is + * required for MPEG-4 and Raw Packets file format bitstreams as well as for + * LATM bitstreams with no in-band SMC. If the transport format is LATM with or + * without LOAS, configuration is assumed to be an SMC, for all other file + * formats an ASC. + * + * \param self AAC decoder handle. + * \param conf Pointer to an unsigned char buffer containing the binary + * configuration buffer (either ASC or SMC). + * \param length Length of the configuration buffer in bytes. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_ConfigRaw(HANDLE_AACDECODER self, + UCHAR *conf[], + const UINT length[]); + +/** + * \brief Submit raw ISO base media file format boxes to decoder for parsing + * (only some box types are recognized). + * + * \param self AAC decoder handle. + * \param buffer Pointer to an unsigned char buffer containing the binary box + * data (including size and type, can be a sequence of multiple boxes). + * \param length Length of the data in bytes. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_RawISOBMFFData(HANDLE_AACDECODER self, + UCHAR *buffer, + UINT length); + +/** + * \brief Fill AAC decoder's internal input buffer with bitstream data from the + * external input buffer. The function only copies such data as long as the + * decoder-internal input buffer is not full. So it grabs whatever it can from + * pBuffer and returns information (bytesValid) so that at a subsequent call of + * %aacDecoder_Fill(), the right position in pBuffer can be determined to grab + * the next data. + * + * \param self AAC decoder handle. + * \param pBuffer Pointer to external input buffer. + * \param bufferSize Size of external input buffer. This argument is required + * because decoder-internally we need the information to calculate the offset to + * pBuffer, where the next available data is, which is then + * fed into the decoder-internal buffer (as much as + * possible). Our example framework implementation fills the + * buffer at pBuffer again, once it contains no available valid bytes anymore + * (meaning bytesValid equal 0). + * \param bytesValid Number of bitstream bytes in the external bitstream buffer + * that have not yet been copied into the decoder's internal bitstream buffer by + * calling this function. The value is updated according to + * the amount of newly copied bytes. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_Fill(HANDLE_AACDECODER self, + UCHAR *pBuffer[], + const UINT bufferSize[], + UINT *bytesValid); + +#define AACDEC_CONCEAL \ + 1 /*!< Flag for aacDecoder_DecodeFrame(): Trigger the built-in error \ + concealment module to generate a substitute signal for one lost frame. \ + New input data will not be considered. */ +#define AACDEC_FLUSH \ + 2 /*!< Flag for aacDecoder_DecodeFrame(): Flush all filterbanks to get all \ + delayed audio without having new input data. Thus new input data will \ + not be considered.*/ +#define AACDEC_INTR \ + 4 /*!< Flag for aacDecoder_DecodeFrame(): Signal an input bit stream data \ + discontinuity. Resync any internals as necessary. */ +#define AACDEC_CLRHIST \ + 8 /*!< Flag for aacDecoder_DecodeFrame(): Clear all signal delay lines and \ + history buffers. CAUTION: This can cause discontinuities in the output \ + signal. */ + +/** + * \brief Decode one audio frame + * + * \param self AAC decoder handle. + * \param pTimeData Pointer to external output buffer where the decoded PCM + * samples will be stored into. + * \param timeDataSize Size of external output buffer. + * \param flags Bit field with flags for the decoder: \n + * (flags & AACDEC_CONCEAL) == 1: Do concealment. \n + * (flags & AACDEC_FLUSH) == 2: Discard input data. Flush + * filter banks (output delayed audio). \n (flags & AACDEC_INTR) == 4: Input + * data is discontinuous. Resynchronize any internals as + * necessary. \n (flags & AACDEC_CLRHIST) == 8: Clear all signal delay lines and + * history buffers. + * \return Error code. + */ +LINKSPEC_H AAC_DECODER_ERROR aacDecoder_DecodeFrame(HANDLE_AACDECODER self, + INT_PCM *pTimeData, + const INT timeDataSize, + const UINT flags); + +/** + * \brief De-allocate all resources of an AAC decoder instance. + * + * \param self AAC decoder handle. + * \return void. + */ +LINKSPEC_H void aacDecoder_Close(HANDLE_AACDECODER self); + +/** + * \brief Get CStreamInfo handle from decoder. + * + * \param self AAC decoder handle. + * \return Reference to requested CStreamInfo. + */ +LINKSPEC_H CStreamInfo *aacDecoder_GetStreamInfo(HANDLE_AACDECODER self); + +/** + * \brief Get decoder library info. + * + * \param info Pointer to an allocated LIB_INFO structure. + * \return 0 on success. + */ +LINKSPEC_H INT aacDecoder_GetLibInfo(LIB_INFO *info); + +#ifdef __cplusplus +} +#endif + +#endif /* AACDECODER_LIB_H */ diff --git a/3rdparty/C302/include/fdk-aac/aacenc_lib.h b/3rdparty/C302/include/fdk-aac/aacenc_lib.h new file mode 100644 index 00000000..fa41ee68 --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/aacenc_lib.h @@ -0,0 +1,1731 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/**************************** AAC encoder library ****************************** + + Author(s): M. Lohwasser + + Description: + +*******************************************************************************/ + +/** + * \file aacenc_lib.h + * \brief FDK AAC Encoder library interface header file. + * +\mainpage Introduction + +\section Scope + +This document describes the high-level interface and usage of the ISO/MPEG-2/4 +AAC Encoder library developed by the Fraunhofer Institute for Integrated +Circuits (IIS). + +The library implements encoding on the basis of the MPEG-2 and MPEG-4 AAC +Low-Complexity standard, and depending on the library's configuration, MPEG-4 +High-Efficiency AAC v2 and/or AAC-ELD standard. + +All references to SBR (Spectral Band Replication) are only applicable to HE-AAC +or AAC-ELD versions of the library. All references to PS (Parametric Stereo) are +only applicable to HE-AAC v2 versions of the library. + +\section encBasics Encoder Basics + +This document can only give a rough overview about the ISO/MPEG-2 and ISO/MPEG-4 +AAC audio coding standard. To understand all the terms in this document, you are +encouraged to read the following documents. + +- ISO/IEC 13818-7 (MPEG-2 AAC), which defines the syntax of MPEG-2 AAC audio +bitstreams. +- ISO/IEC 14496-3 (MPEG-4 AAC, subparts 1 and 4), which defines the syntax of +MPEG-4 AAC audio bitstreams. +- Lutzky, Schuller, Gayer, Krämer, Wabnik, "A guideline to audio codec +delay", 116th AES Convention, May 8, 2004 + +MPEG Advanced Audio Coding is based on a time-to-frequency mapping of the +signal. The signal is partitioned into overlapping portions and transformed into +frequency domain. The spectral components are then quantized and coded. \n An +MPEG-2 or MPEG-4 AAC audio bitstream is composed of frames. Contrary to MPEG-1/2 +Layer-3 (mp3), the length of individual frames is not restricted to a fixed +number of bytes, but can take on any length between 1 and 768 bytes. + + +\page LIBUSE Library Usage + +\section InterfaceDescription API Files + +All API header files are located in the folder /include of the release package. +All header files are provided for usage in C/C++ programs. The AAC encoder +library API functions are located in aacenc_lib.h. + +In binary releases the encoder core resides in statically linkable libraries +called for example libAACenc.a/libFDK.a (LINUX) or FDK_fastaaclib.lib (MS Visual +C++) for the plain AAC-LC core encoder and libSBRenc.a (LINUX) or +FDK_sbrEncLib.lib (MS Visual C++) for the SBR (Spectral Band Replication) and PS +(Parametric Stereo) modules. + +\section CallingSequence Calling Sequence + +For encoding of ISO/MPEG-2/4 AAC bitstreams the following sequence is mandatory. +Input read and output write functions as well as the corresponding open and +close functions are left out, since they may be implemented differently +according to the user's specific requirements. The example implementation uses +file-based input/output. + +-# Call aacEncOpen() to allocate encoder instance with required \ref encOpen +"configuration". \code HANDLE_AACENCODER hAacEncoder = NULL; if ( (ErrorStatus = +aacEncOpen(&hAacEncoder,0,0)) != AACENC_OK ) { \endcode +-# Call aacEncoder_SetParam() for each parameter to be set. AOT, samplingrate, +channelMode, bitrate and transport type are \ref encParams "mandatory". \code +ErrorStatus = aacEncoder_SetParam(hAacEncoder, parameter, value); +\endcode +-# Call aacEncEncode() with NULL parameters to \ref encReconf "initialize" +encoder instance with present parameter set. \code ErrorStatus = +aacEncEncode(hAacEncoder, NULL, NULL, NULL, NULL); \endcode +-# Call aacEncInfo() to retrieve a configuration data block to be transmitted +out of band. This is required when using RFC3640 or RFC3016 like transport. +\code +AACENC_InfoStruct encInfo; +aacEncInfo(hAacEncoder, &encInfo); +\endcode +-# Encode input audio data in loop. +\code +do +{ +\endcode +Feed \ref feedInBuf "input buffer" with new audio data and provide input/output +\ref bufDes "arguments" to aacEncEncode(). \code ErrorStatus = +aacEncEncode(hAacEncoder, &inBufDesc, &outBufDesc, &inargs, &outargs); \endcode +Write \ref writeOutData "output data" to file or audio device. +\code +} while (ErrorStatus==AACENC_OK); +\endcode +-# Call aacEncClose() and destroy encoder instance. +\code +aacEncClose(&hAacEncoder); +\endcode + + +\section encOpen Encoder Instance Allocation + +The assignment of the aacEncOpen() function is very flexible and can be used in +the following way. +- If the amount of memory consumption is not an issue, the encoder instance can +be allocated for the maximum number of possible audio channels (for example 6 or +8) with the full functional range supported by the library. This is the default +open procedure for the AAC encoder if memory consumption does not need to be +minimized. \code aacEncOpen(&hAacEncoder,0,0) \endcode +- If the required MPEG-4 AOTs do not call for the full functional range of the +library, encoder modules can be allocated selectively. \verbatim +------------------------------------------------------ + AAC | SBR | PS | MD | FLAGS | value +-----+-----+-----+----+-----------------------+------- + X | - | - | - | (0x01) | 0x01 + X | X | - | - | (0x01|0x02) | 0x03 + X | X | X | - | (0x01|0x02|0x04) | 0x07 + X | - | - | X | (0x01 |0x10) | 0x11 + X | X | - | X | (0x01|0x02 |0x10) | 0x13 + X | X | X | X | (0x01|0x02|0x04|0x10) | 0x17 +------------------------------------------------------ + - AAC: Allocate AAC Core Encoder module. + - SBR: Allocate Spectral Band Replication module. + - PS: Allocate Parametric Stereo module. + - MD: Allocate Meta Data module within AAC encoder. +\endverbatim +\code aacEncOpen(&hAacEncoder,value,0) \endcode +- Specifying the maximum number of channels to be supported in the encoder +instance can be done as follows. + - For example allocate an encoder instance which supports 2 channels for all +supported AOTs. The library itself may be capable of encoding up to 6 or 8 +channels but in this example only 2 channel encoding is required and thus only +buffers for 2 channels are allocated to save data memory. \code +aacEncOpen(&hAacEncoder,0,2) \endcode + - Additionally the maximum number of supported channels in the SBR module can +be denoted separately.\n In this example the encoder instance provides a maximum +of 6 channels out of which up to 2 channels support SBR. This encoder instance +can produce for example 5.1 channel AAC-LC streams or stereo HE-AAC (v2) +streams. HE-AAC 5.1 multi channel is not possible since only 2 out of 6 channels +support SBR, which saves data memory. \code aacEncOpen(&hAacEncoder,0,6|(2<<8)) +\endcode \n + +\section bufDes Input/Output Arguments + +\subsection allocIOBufs Provide Buffer Descriptors +In the present encoder API, the input and output buffers are described with \ref +AACENC_BufDesc "buffer descriptors". This mechanism allows a flexible handling +of input and output buffers without impact to the actual encoding call. Optional +buffers are necessary e.g. for ancillary data, meta data input or additional +output buffers describing superframing data in DAB+ or DRM+.\n At least one +input buffer for audio input data and one output buffer for bitstream data must +be allocated. The input buffer size can be a user defined multiple of the number +of input channels. PCM input data will be copied from the user defined PCM +buffer to an internal input buffer and so input data can be less than one AAC +audio frame. The output buffer size should be 6144 bits per channel excluding +the LFE channel. If the output data does not fit into the provided buffer, an +AACENC_ERROR will be returned by aacEncEncode(). \code static INT_PCM +inputBuffer[8*2048]; static UCHAR ancillaryBuffer[50]; static +AACENC_MetaData metaDataSetup; static UCHAR outputBuffer[8192]; +\endcode + +All input and output buffer must be clustered in input and output buffer arrays. +\code +static void* inBuffer[] = { inputBuffer, ancillaryBuffer, &metaDataSetup +}; static INT inBufferIds[] = { IN_AUDIO_DATA, IN_ANCILLRY_DATA, +IN_METADATA_SETUP }; static INT inBufferSize[] = { sizeof(inputBuffer), +sizeof(ancillaryBuffer), sizeof(metaDataSetup) }; static INT inBufferElSize[] += { sizeof(INT_PCM), sizeof(UCHAR), sizeof(AACENC_MetaData) }; + +static void* outBuffer[] = { outputBuffer }; +static INT outBufferIds[] = { OUT_BITSTREAM_DATA }; +static INT outBufferSize[] = { sizeof(outputBuffer) }; +static INT outBufferElSize[] = { sizeof(UCHAR) }; +\endcode + +Allocate buffer descriptors +\code +AACENC_BufDesc inBufDesc; +AACENC_BufDesc outBufDesc; +\endcode + +Initialize input buffer descriptor +\code +inBufDesc.numBufs = sizeof(inBuffer)/sizeof(void*); +inBufDesc.bufs = (void**)&inBuffer; +inBufDesc.bufferIdentifiers = inBufferIds; +inBufDesc.bufSizes = inBufferSize; +inBufDesc.bufElSizes = inBufferElSize; +\endcode + +Initialize output buffer descriptor +\code +outBufDesc.numBufs = sizeof(outBuffer)/sizeof(void*); +outBufDesc.bufs = (void**)&outBuffer; +outBufDesc.bufferIdentifiers = outBufferIds; +outBufDesc.bufSizes = outBufferSize; +outBufDesc.bufElSizes = outBufferElSize; +\endcode + +\subsection argLists Provide Input/Output Argument Lists +The input and output arguments of an aacEncEncode() call are described in +argument structures. \code AACENC_InArgs inargs; AACENC_OutArgs outargs; +\endcode + +\section feedInBuf Feed Input Buffer +The input buffer should be handled as a modulo buffer. New audio data in the +form of pulse-code- modulated samples (PCM) must be read from external and be +fed to the input buffer depending on its fill level. The required sample bitrate +(represented by the data type INT_PCM which is 16, 24 or 32 bits wide) is fixed +and depends on library configuration (usually 16 bit). \code inargs.numInSamples ++= WAV_InputRead ( wavIn, &inputBuffer[inargs.numInSamples], + FDKmin(encInfo.inputChannels*encInfo.frameLength, + sizeof(inputBuffer) / + sizeof(INT_PCM)-inargs.numInSamples), + SAMPLE_BITS + ); +\endcode + +After the encoder's internal buffer is fed with incoming audio samples, and +aacEncEncode() processed the new input data, update/move remaining samples in +input buffer, simulating a modulo buffer: \code if (outargs.numInSamples>0) { + FDKmemmove( inputBuffer, + &inputBuffer[outargs.numInSamples], + sizeof(INT_PCM)*(inargs.numInSamples-outargs.numInSamples) ); + inargs.numInSamples -= outargs.numInSamples; +} +\endcode + +\section writeOutData Output Bitstream Data +If any AAC bitstream data is available, write it to output file or device. This +can be done once the following condition is true: \code if +(outargs.numOutBytes>0) { + +} +\endcode + +If you use file I/O then for example call mpegFileWrite_Write() from the library +libMpegFileWrite \code mpegFileWrite_Write(hMpegFile, outputBuffer, +outargs.numOutBytes, aacEncoder_GetParam(hAacEncoder, AACENC_GRANULE_LENGTH)); +\endcode + +\section cfgMetaData Meta Data Configuration + +If the present library is configured with Metadata support, it is possible to +insert meta data side info into the generated audio bitstream while encoding. + +To work with meta data the encoder instance has to be \ref encOpen "allocated" +with meta data support. The meta data mode must be be configured with the +::AACENC_METADATA_MODE parameter and aacEncoder_SetParam() function. \code +aacEncoder_SetParam(hAacEncoder, AACENC_METADATA_MODE, 0-3); \endcode + +This configuration indicates how to embed meta data into bitstrem. Either no +insertion, MPEG or ETSI style. The meta data itself must be specified within the +meta data setup structure AACENC_MetaData. + +Changing one of the AACENC_MetaData setup parameters can be achieved from +outside the library within ::IN_METADATA_SETUP input buffer. There is no need to +supply meta data setup structure every frame. If there is no new meta setup data +available, the encoder uses the previous setup or the default configuration in +initial state. + +In general the audio compressor and limiter within the encoder library can be +configured with the ::AACENC_METADATA_DRC_PROFILE parameter +AACENC_MetaData::drc_profile and and AACENC_MetaData::comp_profile. +\n + +\section encReconf Encoder Reconfiguration + +The encoder library allows reconfiguration of the encoder instance with new +settings continuously between encoding frames. Each parameter to be changed must +be set with a single aacEncoder_SetParam() call. The internal status of each +parameter can be retrieved with an aacEncoder_GetParam() call.\n There is no +stand-alone reconfiguration function available. When parameters were modified +from outside the library, an internal control mechanism triggers the necessary +reconfiguration process which will be applied at the beginning of the following +aacEncEncode() call. This state can be observed from external via the +AACENC_INIT_STATUS and aacEncoder_GetParam() function. The reconfiguration +process can also be applied immediately when all parameters of an aacEncEncode() +call are NULL with a valid encoder handle.\n\n The internal reconfiguration +process can be controlled from extern with the following access. \code +aacEncoder_SetParam(hAacEncoder, AACENC_CONTROL_STATE, AACENC_CTRLFLAGS); +\endcode + + +\section encParams Encoder Parametrization + +All parameteres listed in ::AACENC_PARAM can be modified within an encoder +instance. + +\subsection encMandatory Mandatory Encoder Parameters +The following parameters must be specified when the encoder instance is +initialized. \code aacEncoder_SetParam(hAacEncoder, AACENC_AOT, value); +aacEncoder_SetParam(hAacEncoder, AACENC_BITRATE, value); +aacEncoder_SetParam(hAacEncoder, AACENC_SAMPLERATE, value); +aacEncoder_SetParam(hAacEncoder, AACENC_CHANNELMODE, value); +\endcode +Beyond that is an internal auto mode which preinitizializes the ::AACENC_BITRATE +parameter if the parameter was not set from extern. The bitrate depends on the +number of effective channels and sampling rate and is determined as follows. +\code +AAC-LC (AOT_AAC_LC): 1.5 bits per sample +HE-AAC (AOT_SBR): 0.625 bits per sample (dualrate sbr) +HE-AAC (AOT_SBR): 1.125 bits per sample (downsampled sbr) +HE-AAC v2 (AOT_PS): 0.5 bits per sample +\endcode + +\subsection channelMode Channel Mode Configuration +The input audio data is described with the ::AACENC_CHANNELMODE parameter in the +aacEncoder_SetParam() call. It is not possible to use the encoder instance with +a 'number of input channels' argument. Instead, the channelMode must be set as +follows. \code aacEncoder_SetParam(hAacEncoder, AACENC_CHANNELMODE, value); +\endcode The parameter is specified in ::CHANNEL_MODE and can be mapped from the +number of input channels in the following way. \code CHANNEL_MODE chMode = +MODE_INVALID; + +switch (nChannels) { + case 1: chMode = MODE_1; break; + case 2: chMode = MODE_2; break; + case 3: chMode = MODE_1_2; break; + case 4: chMode = MODE_1_2_1; break; + case 5: chMode = MODE_1_2_2; break; + case 6: chMode = MODE_1_2_2_1; break; + case 7: chMode = MODE_6_1; break; + case 8: chMode = MODE_7_1_BACK; break; + default: + chMode = MODE_INVALID; +} +return chMode; +\endcode + +\subsection bitreservoir Bitreservoir Configuration +In AAC, the default bitreservoir configuration depends on the chosen bitrate per +frame and the number of effective channels. The size can be determined as below. +\f[ +bitreservoir = nEffChannels*6144 - (bitrate*framelength/samplerate) +\f] +Due to audio quality concerns it is not recommended to change the bitreservoir +size to a lower value than the default setting! However, for minimizing the +delay for streaming applications or for achieving a constant size of the +bitstream packages in each frame, it may be necessaray to change the +bitreservoir size. This can be done with the ::AACENC_PEAK_BITRATE parameter. +\code +aacEncoder_SetParam(hAacEncoder, AACENC_PEAK_BITRATE, value); +\endcode +By setting ::AACENC_BITRATEMODE to fixed framing, the bitreservoir is disabled. +A disabled bitreservoir results in a constant size for each bitstream package. +Please note that especially at lower bitrates a disabled bitreservoir can +downgrade the audio quality considerably! The default bitreservoir configuration +can be achieved as follows. \code aacEncoder_SetParam(hAacEncoder, +AACENC_BITRESERVOIR, -1); \endcode + +To achieve acceptable audio quality with a reduced bitreservoir size setting at +least 1000 bits per audio channel is recommended. For a multichannel audio file +with 5.1 channels the bitreservoir reduced to 5000 bits results in acceptable +audio quality. + + +\subsection vbrmode Variable Bitrate Mode +The encoder provides various Variable Bitrate Modes that differ in audio quality +and average overall bitrate. The given values are averages over time, different +encoder settings and strongly depend on the type of audio signal. The VBR +configurations can be adjusted via ::AACENC_BITRATEMODE encoder parameter. +\verbatim +-------------------------------------------- + VBR_MODE | Approx. Bitrate in kbps/channel + | AAC-LC | AAC-LD/AC_ELD +----------+---------------+----------------- + VBR_1 | 32 - 48 | 32 - 56 + VBR_2 | 40 - 56 | 40 - 64 + VBR_3 | 48 - 64 | 48 - 72 + VBR_4 | 64 - 80 | 64 - 88 + VBR_5 | 96 - 120 | 112 - 144 +-------------------------------------------- +\endverbatim +The bitrate ranges apply for individual audio channels. In case of multichannel +configurations the average bitrate might be estimated by multiplying with the +number of effective channels. This corresponds to all audio input channels +exclusively the low frequency channel. At configurations which are making use of +downmix modules the AAC core channels respectively downmix channels shall be +considered. For ::AACENC_AOT which are using SBR, the average bitrate can be +estimated by using the ratio of 0.5 for dualrate SBR and 0.75 for downsampled +SBR configurations. + + +\subsection encQual Audio Quality Considerations +The default encoder configuration is suggested to be used. Encoder tools such as +TNS and PNS are activated by default and are internally controlled (see \ref +BEHAVIOUR_TOOLS). + +There is an additional quality parameter called ::AACENC_AFTERBURNER. In the +default configuration this quality switch is deactivated because it would cause +a workload increase which might be significant. If workload is not an issue in +the application we recommended to activate this feature. \code +aacEncoder_SetParam(hAacEncoder, AACENC_AFTERBURNER, 0/1); \endcode + +\subsection encELD ELD Auto Configuration Mode +For ELD configuration a so called auto configurator is available which +configures SBR and the SBR ratio by itself. The configurator is used when the +encoder parameter ::AACENC_SBR_MODE and ::AACENC_SBR_RATIO are not set +explicitly. + +Based on sampling rate and chosen bitrate a reasonable SBR configuration will be +used. \verbatim +------------------------------------------------------------------ + Sampling Rate | Total Bitrate | No. of | SBR | SBR Ratio + [kHz] | [bit/s] | Chan | | + | | | | +---------------+-----------------+--------+-----+----------------- + ]min, 16[ | min - max | 1 | off | --- +---------------+-----------------+--------------+----------------- + [16] | min - 27999 | 1 | on | downsampled SBR + | 28000 - max | 1 | off | --- +---------------+-----------------+--------------+----------------- + ]16 - 24] | min - 39999 | 1 | on | downsampled SBR + | 40000 - max | 1 | off | --- +---------------+-----------------+--------------+----------------- + ]24 - 32] | min - 27999 | 1 | on | dualrate SBR + | 28000 - 55999 | 1 | on | downsampled SBR + | 56000 - max | 1 | off | --- +---------------+-----------------+--------------+----------------- + ]32 - 44.1] | min - 63999 | 1 | on | dualrate SBR + | 64000 - max | 1 | off | --- +---------------+-----------------+--------------+----------------- + ]44.1 - 48] | min - 63999 | 1 | on | dualrate SBR + | 64000 - max | 1 | off | --- + | | | | +---------------+-----------------+--------+-----+----------------- + ]min, 16[ | min - max | 2 | off | --- +---------------+-----------------+--------------+----------------- + [16] | min - 31999 | 2 | on | downsampled SBR + | 32000 - 63999 | 2 | on | downsampled SBR + | 64000 - max | 2 | off | --- +---------------+-----------------+--------------+----------------- + ]16 - 24] | min - 47999 | 2 | on | downsampled SBR + | 48000 - 79999 | 2 | on | downsampled SBR + | 80000 - max | 2 | off | --- +---------------+-----------------+--------------+----------------- + ]24 - 32] | min - 31999 | 2 | on | dualrate SBR + | 32000 - 67999 | 2 | on | dualrate SBR + | 68000 - 95999 | 2 | on | downsampled SBR + | 96000 - max | 2 | off | --- +---------------+-----------------+--------------+----------------- + ]32 - 44.1] | min - 43999 | 2 | on | dualrate SBR + | 44000 - 127999 | 2 | on | dualrate SBR + | 128000 - max | 2 | off | --- +---------------+-----------------+--------------+----------------- + ]44.1 - 48] | min - 43999 | 2 | on | dualrate SBR + | 44000 - 127999 | 2 | on | dualrate SBR + | 128000 - max | 2 | off | --- + | | | +------------------------------------------------------------------ +\endverbatim + +\subsection encDsELD Reduced Delay (Downscaled) Mode +The downscaled mode of AAC-ELD reduces the algorithmic delay of AAC-ELD by +virtually increasing the sampling rate. When using the downscaled mode, the +bitrate should be increased for keeping the same audio quality level. For common +signals, the bitrate should be increased by 25% for a downscale factor of 2. + +Currently, downscaling factors 2 and 4 are supported. +To enable the downscaled mode in the encoder, the framelength parameter +AACENC_GRANULE_LENGTH must be set accordingly to 256 or 240 for a downscale +factor of 2 or 128 or 120 for a downscale factor of 4. The default values of 512 +or 480 mean that no downscaling is applied. \code +aacEncoder_SetParam(hAacEncoder, AACENC_GRANULE_LENGTH, 256); +aacEncoder_SetParam(hAacEncoder, AACENC_GRANULE_LENGTH, 128); +\endcode + +Downscaled bitstreams are fully backwards compatible. However, the legacy +decoder needs to support high sample rate, e.g. 96kHz. The signaled sampling +rate is multiplied by the downscale factor. Although not required, downscaling +should be applied when decoding downscaled bitstreams. It reduces CPU workload +and the output will have the same sampling rate as the input. In an ideal +configuration both encoder and decoder should run with the same downscale +factor. + +The following table shows approximate filter bank delays in ms for common +sampling rates(sr) at framesize(fs), and downscale factor(dsf), based on this +formula: \f[ 1000 * fs / (dsf * sr) \f] + +\verbatim +-------------------------------------- + | 512/2 | 512/4 | 480/2 | 480/4 +------+-------+-------+-------+------- +22050 | 17.41 | 8.71 | 16.33 | 8.16 +32000 | 12.00 | 6.00 | 11.25 | 5.62 +44100 | 8.71 | 4.35 | 8.16 | 4.08 +48000 | 8.00 | 4.00 | 7.50 | 3.75 +-------------------------------------- +\endverbatim + +\section audiochCfg Audio Channel Configuration +The MPEG standard refers often to the so-called Channel Configuration. This +Channel Configuration is used for a fixed Channel Mapping. The configurations +1-7 and 11,12,14 are predefined in MPEG standard and used for implicit +signalling within the encoded bitstream. For user defined Configurations the +Channel Configuration is set to 0 and the Channel Mapping must be explecitly +described with an appropriate Program Config Element. The present Encoder +implementation does not allow the user to configure this Channel Configuration +from extern. The Encoder implementation supports fixed Channel Modes which are +mapped to Channel Configuration as follow. \verbatim +---------------------------------------------------------------------------------------- + ChannelMode | ChCfg | Height | front_El | side_El | back_El | +lfe_El +-----------------------+-------+--------+---------------+----------+----------+--------- +MODE_1 | 1 | NORM | SCE | | | +MODE_2 | 2 | NORM | CPE | | | +MODE_1_2 | 3 | NORM | SCE, CPE | | | +MODE_1_2_1 | 4 | NORM | SCE, CPE | | SCE | +MODE_1_2_2 | 5 | NORM | SCE, CPE | | CPE | +MODE_1_2_2_1 | 6 | NORM | SCE, CPE | | CPE | +LFE MODE_1_2_2_2_1 | 7 | NORM | SCE, CPE, CPE | | CPE +| LFE MODE_6_1 | 11 | NORM | SCE, CPE | | CPE, +SCE | LFE MODE_7_1_BACK | 12 | NORM | SCE, CPE | | +CPE, CPE | LFE +-----------------------+-------+--------+---------------+----------+----------+--------- +MODE_7_1_TOP_FRONT | 14 | NORM | SCE, CPE | | CPE | +LFE | | TOP | CPE | | | +-----------------------+-------+--------+---------------+----------+----------+--------- +MODE_7_1_REAR_SURROUND | 0 | NORM | SCE, CPE | | CPE, CPE | +LFE MODE_7_1_FRONT_CENTER | 0 | NORM | SCE, CPE, CPE | | CPE +| LFE +---------------------------------------------------------------------------------------- +- NORM: Normal Height Layer. - TOP: Top Height Layer. - BTM: Bottom Height +Layer. +- SCE: Single Channel Element. - CPE: Channel Pair. - LFE: Low Frequency +Element. \endverbatim + +The Table describes all fixed Channel Elements for each Channel Mode which are +assigned to a speaker arrangement. The arrangement includes front, side, back +and lfe Audio Channel Elements in the normal height layer, possibly followed by +front, side, and back elements in the top and bottom layer (Channel +Configuration 14). \n This mapping of Audio Channel Elements is defined in MPEG +standard for Channel Config 1-7 and 11,12,14.\n In case of Channel Config 0 or +writing matrix mixdown coefficients, the encoder enables the writing of Program +Config Element itself as described in \ref encPCE. The configuration used in +Program Config Element refers to the denoted Table.\n Beside the Channel Element +assignment the Channel Modes are resposible for audio input data channel +mapping. The Channel Mapping of the audio data depends on the selected +::AACENC_CHANNELORDER which can be MPEG or WAV like order.\n Following table +describes the complete channel mapping for both Channel Order configurations. +\verbatim +--------------------------------------------------------------------------------------- +ChannelMode | MPEG-Channelorder | WAV-Channelorder +-----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--- +MODE_1 | 0 | | | | | | | | 0 | | | | | | +| MODE_2 | 0 | 1 | | | | | | | 0 | 1 | | | | +| | MODE_1_2 | 0 | 1 | 2 | | | | | | 2 | 0 | 1 | | +| | | MODE_1_2_1 | 0 | 1 | 2 | 3 | | | | | 2 | 0 | 1 | 3 +| | | | MODE_1_2_2 | 0 | 1 | 2 | 3 | 4 | | | | 2 | 0 | 1 +| 3 | 4 | | | MODE_1_2_2_1 | 0 | 1 | 2 | 3 | 4 | 5 | | | 2 | 0 +| 1 | 4 | 5 | 3 | | MODE_1_2_2_2_1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 +| 6 | 7 | 0 | 1 | 4 | 5 | 3 MODE_6_1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | +| 2 | 0 | 1 | 4 | 5 | 6 | 3 | MODE_7_1_BACK | 0 | 1 | 2 | 3 | 4 | 5 | 6 +| 7 | 2 | 0 | 1 | 6 | 7 | 4 | 5 | 3 MODE_7_1_TOP_FRONT | 0 | 1 | 2 | 3 | 4 | +5 | 6 | 7 | 2 | 0 | 1 | 4 | 5 | 3 | 6 | 7 +-----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--- +MODE_7_1_REAR_SURROUND | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 0 | 1 | 6 | 7 | 4 | +5 | 3 MODE_7_1_FRONT_CENTER | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 6 | 7 | 0 | 1 +| 4 | 5 | 3 +--------------------------------------------------------------------------------------- +\endverbatim + +The denoted mapping is important for correct audio channel assignment when using +MPEG or WAV ordering. The incoming audio channels are distributed MPEG like +starting at the front channels and ending at the back channels. The distribution +is used as described in Table concering Channel Config and fix channel elements. +Please see the following example for clarification. + +\verbatim +Example: MODE_1_2_2_1 - WAV-Channelorder 5.1 +------------------------------------------ + Input Channel | Coder Channel +--------------------+--------------------- + 2 (front center) | 0 (SCE channel) + 0 (left center) | 1 (1st of 1st CPE) + 1 (right center) | 2 (2nd of 1st CPE) + 4 (left surround) | 3 (1st of 2nd CPE) + 5 (right surround) | 4 (2nd of 2nd CPE) + 3 (LFE) | 5 (LFE) +------------------------------------------ +\endverbatim + + +\section suppBitrates Supported Bitrates + +The FDK AAC Encoder provides a wide range of supported bitrates. +The minimum and maximum allowed bitrate depends on the Audio Object Type. For +AAC-LC the minimum bitrate is the bitrate that is required to write the most +basic and minimal valid bitstream. It consists of the bitstream format header +information and other static/mandatory information within the AAC payload. The +maximum AAC framesize allowed by the MPEG-4 standard determines the maximum +allowed bitrate for AAC-LC. For HE-AAC and HE-AAC v2 a library internal look-up +table is used. + +A good working point in terms of audio quality, sampling rate and bitrate, is at +1 to 1.5 bits/audio sample for AAC-LC, 0.625 bits/audio sample for dualrate +HE-AAC, 1.125 bits/audio sample for downsampled HE-AAC and 0.5 bits/audio sample +for HE-AAC v2. For example for one channel with a sampling frequency of 48 kHz, +the range from 48 kbit/s to 72 kbit/s achieves reasonable audio quality for +AAC-LC. + +For HE-AAC and HE-AAC v2 the lowest possible audio input sampling frequency is +16 kHz because then the AAC-LC core encoder operates in dual rate mode at its +lowest possible sampling frequency, which is 8 kHz. HE-AAC v2 requires stereo +input audio data. + +Please note that in HE-AAC or HE-AAC v2 mode the encoder supports much higher +bitrates than are appropriate for HE-AAC or HE-AAC v2. For example, at a bitrate +of more than 64 kbit/s for a stereo audio signal at 44.1 kHz it usually makes +sense to use AAC-LC, which will produce better audio quality at that bitrate +than HE-AAC or HE-AAC v2. + +\section reommendedConfig Recommended Sampling Rate and Bitrate Combinations + +The following table provides an overview of recommended encoder configuration +parameters which we determined by virtue of numerous listening tests. + +\subsection reommendedConfigLC AAC-LC, HE-AAC, HE-AACv2 in Dualrate SBR mode. +\verbatim +----------------------------------------------------------------------------------- +Audio Object Type | Bit Rate Range | Supported | Preferred | No. +of | [bit/s] | Sampling Rates | Sampl. | Chan. | +| [kHz] | Rate | | | +| [kHz] | +-------------------+------------------+-----------------------+------------+------- +AAC LC + SBR + PS | 8000 - 11999 | 22.05, 24.00 | 24.00 | 2 +AAC LC + SBR + PS | 12000 - 17999 | 32.00 | 32.00 | 2 +AAC LC + SBR + PS | 18000 - 39999 | 32.00, 44.10, 48.00 | 44.10 | 2 +AAC LC + SBR + PS | 40000 - 64000 | 32.00, 44.10, 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +AAC LC + SBR | 8000 - 11999 | 22.05, 24.00 | 24.00 | 1 +AAC LC + SBR | 12000 - 17999 | 32.00 | 32.00 | 1 +AAC LC + SBR | 18000 - 39999 | 32.00, 44.10, 48.00 | 44.10 | 1 +AAC LC + SBR | 40000 - 64000 | 32.00, 44.10, 48.00 | 48.00 | 1 +-------------------+------------------+-----------------------+------------+------- +AAC LC + SBR | 16000 - 27999 | 32.00, 44.10, 48.00 | 32.00 | 2 +AAC LC + SBR | 28000 - 63999 | 32.00, 44.10, 48.00 | 44.10 | 2 +AAC LC + SBR | 64000 - 128000 | 32.00, 44.10, 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +AAC LC + SBR | 64000 - 69999 | 32.00, 44.10, 48.00 | 32.00 | +5, 5.1 AAC LC + SBR | 70000 - 239999 | 32.00, 44.10, 48.00 | 44.10 +| 5, 5.1 AAC LC + SBR | 240000 - 319999 | 32.00, 44.10, 48.00 | +48.00 | 5, 5.1 +-------------------+------------------+-----------------------+------------+------- +AAC LC | 8000 - 15999 | 11.025, 12.00, 16.00 | 12.00 | 1 +AAC LC | 16000 - 23999 | 16.00 | 16.00 | 1 +AAC LC | 24000 - 31999 | 16.00, 22.05, 24.00 | 24.00 | 1 +AAC LC | 32000 - 55999 | 32.00 | 32.00 | 1 +AAC LC | 56000 - 160000 | 32.00, 44.10, 48.00 | 44.10 | 1 +AAC LC | 160001 - 288000 | 48.00 | 48.00 | 1 +-------------------+------------------+-----------------------+------------+------- +AAC LC | 16000 - 23999 | 11.025, 12.00, 16.00 | 12.00 | 2 +AAC LC | 24000 - 31999 | 16.00 | 16.00 | 2 +AAC LC | 32000 - 39999 | 16.00, 22.05, 24.00 | 22.05 | 2 +AAC LC | 40000 - 95999 | 32.00 | 32.00 | 2 +AAC LC | 96000 - 111999 | 32.00, 44.10, 48.00 | 32.00 | 2 +AAC LC | 112000 - 320001 | 32.00, 44.10, 48.00 | 44.10 | 2 +AAC LC | 320002 - 576000 | 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +AAC LC | 160000 - 239999 | 32.00 | 32.00 | +5, 5.1 AAC LC | 240000 - 279999 | 32.00, 44.10, 48.00 | 32.00 +| 5, 5.1 AAC LC | 280000 - 800000 | 32.00, 44.10, 48.00 | +44.10 | 5, 5.1 +----------------------------------------------------------------------------------- +\endverbatim \n + +\subsection reommendedConfigLD AAC-LD, AAC-ELD, AAC-ELD with SBR in Dualrate SBR +mode. Unlike to HE-AAC configuration the SBR is not covered by ELD audio object +type and needs to be enabled explicitly. Use ::AACENC_SBR_MODE to configure SBR +and its samplingrate ratio with ::AACENC_SBR_RATIO parameter. \verbatim +----------------------------------------------------------------------------------- +Audio Object Type | Bit Rate Range | Supported | Preferred | No. +of | [bit/s] | Sampling Rates | Sampl. | Chan. | +| [kHz] | Rate | | | +| [kHz] | +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 18000 - 24999 | 32.00 - 44.10 | 32.00 | 1 +ELD + SBR | 25000 - 31999 | 32.00 - 48.00 | 32.00 | 1 +ELD + SBR | 32000 - 64000 | 32.00 - 48.00 | 48.00 | 1 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 32000 - 51999 | 32.00 - 48.00 | 44.10 | 2 +ELD + SBR | 52000 - 128000 | 32.00 - 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 78000 - 160000 | 32.00 - 48.00 | 48.00 | 3 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 104000 - 212000 | 32.00 - 48.00 | 48.00 | 4 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 130000 - 246000 | 32.00 - 48.00 | 48.00 | +5, 5.1 +-------------------+------------------+-----------------------+------------+------- +LD, ELD | 16000 - 19999 | 16.00 - 24.00 | 16.00 | 1 +LD, ELD | 20000 - 39999 | 16.00 - 32.00 | 24.00 | 1 +LD, ELD | 40000 - 49999 | 22.05 - 32.00 | 32.00 | 1 +LD, ELD | 50000 - 61999 | 24.00 - 44.10 | 32.00 | 1 +LD, ELD | 62000 - 84999 | 32.00 - 48.00 | 44.10 | 1 +LD, ELD | 85000 - 192000 | 44.10 - 48.00 | 48.00 | 1 +-------------------+------------------+-----------------------+------------+------- +LD, ELD | 64000 - 75999 | 24.00 - 32.00 | 32.00 | 2 +LD, ELD | 76000 - 97999 | 24.00 - 44.10 | 32.00 | 2 +LD, ELD | 98000 - 135999 | 32.00 - 48.00 | 44.10 | 2 +LD, ELD | 136000 - 384000 | 44.10 - 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +LD, ELD | 96000 - 113999 | 24.00 - 32.00 | 32.00 | 3 +LD, ELD | 114000 - 146999 | 24.00 - 44.10 | 32.00 | 3 +LD, ELD | 147000 - 203999 | 32.00 - 48.00 | 44.10 | 3 +LD, ELD | 204000 - 576000 | 44.10 - 48.00 | 48.00 | 3 +-------------------+------------------+-----------------------+------------+------- +LD, ELD | 128000 - 151999 | 24.00 - 32.00 | 32.00 | 4 +LD, ELD | 152000 - 195999 | 24.00 - 44.10 | 32.00 | 4 +LD, ELD | 196000 - 271999 | 32.00 - 48.00 | 44.10 | 4 +LD, ELD | 272000 - 768000 | 44.10 - 48.00 | 48.00 | 4 +-------------------+------------------+-----------------------+------------+------- +LD, ELD | 160000 - 189999 | 24.00 - 32.00 | 32.00 | +5, 5.1 LD, ELD | 190000 - 244999 | 24.00 - 44.10 | 32.00 +| 5, 5.1 LD, ELD | 245000 - 339999 | 32.00 - 48.00 | +44.10 | 5, 5.1 LD, ELD | 340000 - 960000 | 44.10 - 48.00 | +48.00 | 5, 5.1 +----------------------------------------------------------------------------------- +\endverbatim \n + +\subsection reommendedConfigELD AAC-ELD with SBR in Downsampled SBR mode. +\verbatim +----------------------------------------------------------------------------------- +Audio Object Type | Bit Rate Range | Supported | Preferred | No. +of | [bit/s] | Sampling Rates | Sampl. | Chan. | +| [kHz] | Rate | | | +| [kHz] | +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 18000 - 24999 | 16.00 - 22.05 | 22.05 | 1 +(downsampled SBR) | 25000 - 31999 | 16.00 - 24.00 | 24.00 | 1 + | 32000 - 47999 | 22.05 - 32.00 | 32.00 | 1 + | 48000 - 64000 | 22.05 - 48.00 | 32.00 | 1 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 32000 - 51999 | 16.00 - 24.00 | 24.00 | 2 +(downsampled SBR) | 52000 - 59999 | 22.05 - 24.00 | 24.00 | 2 + | 60000 - 95999 | 22.05 - 32.00 | 32.00 | 2 + | 96000 - 128000 | 22.05 - 48.00 | 32.00 | 2 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 78000 - 99999 | 22.05 - 24.00 | 24.00 | 3 +(downsampled SBR) | 100000 - 143999 | 22.05 - 32.00 | 32.00 | 3 + | 144000 - 159999 | 22.05 - 48.00 | 32.00 | 3 + | 160000 - 192000 | 32.00 - 48.00 | 32.00 | 3 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 104000 - 149999 | 22.05 - 24.00 | 24.00 | 4 +(downsampled SBR) | 150000 - 191999 | 22.05 - 32.00 | 32.00 | 4 + | 192000 - 211999 | 22.05 - 48.00 | 32.00 | 4 + | 212000 - 256000 | 32.00 - 48.00 | 32.00 | 4 +-------------------+------------------+-----------------------+------------+------- +ELD + SBR | 130000 - 171999 | 22.05 - 24.00 | 24.00 | +5, 5.1 (downsampled SBR) | 172000 - 239999 | 22.05 - 32.00 | 32.00 +| 5, 5.1 | 240000 - 320000 | 32.00 - 48.00 | 32.00 | 5, 5.1 +----------------------------------------------------------------------------------- +\endverbatim \n + +\subsection reommendedConfigELDv2 AAC-ELD v2, AAC-ELD v2 with SBR. +The ELD v2 212 configuration must be configured explicitly with +::AACENC_CHANNELMODE parameter according MODE_212 value. SBR can be configured +separately through ::AACENC_SBR_MODE and ::AACENC_SBR_RATIO parameter. Following +configurations shall apply to both framelengths 480 and 512. For ELD v2 +configuration without SBR and framelength 480 the supported sampling rate is +restricted to the range from 16 kHz up to 24 kHz. \verbatim +----------------------------------------------------------------------------------- +Audio Object Type | Bit Rate Range | Supported | Preferred | No. +of | [bit/s] | Sampling Rates | Sampl. | Chan. | +| [kHz] | Rate | | | +| [kHz] | +-------------------+------------------+-----------------------+------------+------- +ELD-212 | 16000 - 19999 | 16.00 - 24.00 | 16.00 | 2 +(without SBR) | 20000 - 39999 | 16.00 - 32.00 | 24.00 | 2 + | 40000 - 49999 | 22.05 - 32.00 | 32.00 | 2 + | 50000 - 61999 | 24.00 - 44.10 | 32.00 | 2 + | 62000 - 84999 | 32.00 - 48.00 | 44.10 | 2 + | 85000 - 192000 | 44.10 - 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +ELD-212 + SBR | 18000 - 20999 | 32.00 | 32.00 | 2 +(dualrate SBR) | 21000 - 25999 | 32.00 - 44.10 | 32.00 | 2 + | 26000 - 31999 | 32.00 - 48.00 | 44.10 | 2 + | 32000 - 64000 | 32.00 - 48.00 | 48.00 | 2 +-------------------+------------------+-----------------------+------------+------- +ELD-212 + SBR | 18000 - 19999 | 16.00 - 22.05 | 22.05 | 2 +(downsampled SBR) | 20000 - 24999 | 16.00 - 24.00 | 22.05 | 2 + | 25000 - 31999 | 16.00 - 24.00 | 24.00 | 2 + | 32000 - 64000 | 24.00 - 24.00 | 24.00 | 2 +-------------------+------------------+-----------------------+------------+------- +\endverbatim \n + +\page ENCODERBEHAVIOUR Encoder Behaviour + +\section BEHAVIOUR_BANDWIDTH Bandwidth + +The FDK AAC encoder usually does not use the full frequency range of the input +signal, but restricts the bandwidth according to certain library-internal +settings. They can be changed in the table "bandWidthTable" in the file +bandwidth.cpp (if available). + +The encoder API provides the ::AACENC_BANDWIDTH parameter to adjust the +bandwidth explicitly. \code aacEncoder_SetParam(hAacEncoder, AACENC_BANDWIDTH, +value); \endcode + +However it is not recommended to change these settings, because they are based +on numerous listening tests and careful tweaks to ensure the best overall +encoding quality. Also, the maximum bandwidth that can be set manually by the +user is 20kHz or fs/2, whichever value is smaller. + +Theoretically a signal of for example 48 kHz can contain frequencies up to 24 +kHz, but to use this full range in an audio encoder usually does not make sense. +Usually the encoder has a very limited amount of bits to spend (typically 128 +kbit/s for stereo 48 kHz content) and to allow full range bandwidth would waste +a lot of these bits for frequencies the human ear is hardly able to perceive +anyway, if at all. Hence it is wise to use the available bits for the really +important frequency range and just skip the rest. At lower bitrates (e. g. <= 80 +kbit/s for stereo 48 kHz content) the encoder will choose an even smaller +bandwidth, because an encoded signal with smaller bandwidth and hence less +artifacts sounds better than a signal with higher bandwidth but then more coding +artefacts across all frequencies. These artefacts would occur if small bitrates +and high bandwidths are chosen because the available bits are just not enough to +encode all frequencies well. + +Unfortunately some people evaluate encoding quality based on possible bandwidth +as well, but it is a double-edged sword considering the trade-off described +above. + +Another aspect is workload consumption. The higher the allowed bandwidth, the +more frequency lines have to be processed, which in turn increases the workload. + +\section FRAMESIZES_AND_BIT_RESERVOIR Frame Sizes & Bit Reservoir + +For AAC there is a difference between constant bit rate and constant frame +length due to the so-called bit reservoir technique, which allows the encoder to +use less bits in an AAC frame for those audio signal sections which are easy to +encode, and then spend them at a later point in time for more complex audio +sections. The extent to which this "bit exchange" is done is limited to allow +for reliable and relatively low delay real time streaming. Therefore, for +AAC-ELD, the bitreservoir is limited. It varies between 500 and 4000 bits/frame, +depending on the bitrate/channel. +- For a bitrate of 12kbps/channel and below, the AAC-ELD bitreservoir is 500 +bits/frame. +- For a bitrate of 70kbps/channel and above, the AAC-ELD bitreservoir is 4000 +bits/frame. +- Between 12kbps/channel and 70kbps/channel, the AAC-ELD bitrervoir is increased +linearly. +- For AAC-LC, the bitrate is only limited by the maximum AAC frame length. It +is, regardless of the available bit reservoir, defined as 6144 bits per channel. + +Over a longer period in time the bitrate will be constant in the AAC constant +bitrate mode, e.g. for ISDN transmission. This means that in AAC each bitstream +frame will in general have a different length in bytes but over time it +will reach the target bitrate. + + +One could also make an MPEG compliant +AAC encoder which always produces constant length packages for each AAC frame, +but the audio quality would be considerably worse since the bit reservoir +technique would have to be switched off completely. A higher bit rate would have +to be used to get the same audio quality as with an enabled bit reservoir. + +For mp3 by the way, the same bit reservoir technique exists, but there each bit +stream frame has a constant length for a given bit rate (ignoring the +padding byte). In mp3 there is a so-called "back pointer" which tells +the decoder which bits belong to the current mp3 frame - and in general some or +many bits have been transmitted in an earlier mp3 frame. Basically this leads to +the same "bit exchange between mp3 frames" as in AAC but with virtually constant +length frames. + +This variable frame length at "constant bit rate" is not something special +in this Fraunhofer IIS AAC encoder. AAC has been designed in that way. + +\subsection BEHAVIOUR_ESTIM_AVG_FRAMESIZES Estimating Average Frame Sizes + +A HE-AAC v1 or v2 audio frame contains 2048 PCM samples per channel (there is +also one mode with 1920 samples per channel but this is only for special +purposes such as DAB+ digital radio). + +The number of HE-AAC frames \f$N\_FRAMES\f$ per second at 44.1 kHz is: + +\f[ +N\_FRAMES = 44100 / 2048 = 21.5332 +\f] + +At a bit rate of 8 kbps the average number of bits per frame +\f$N\_BITS\_PER\_FRAME\f$ is: + +\f[ +N\_BITS\_PER\_FRAME = 8000 / 21.5332 = 371.52 +\f] + +which is about 46.44 bytes per encoded frame. + +At a bit rate of 32 kbps, which is quite high for single channel HE-AAC v1, it +is: + +\f[ +N\_BITS\_PER\_FRAME = 32000 / 21.5332 = 1486 +\f] + +which is about 185.76 bytes per encoded frame. + +These bits/frame figures are average figures where each AAC frame generally has +a different size in bytes. To calculate the same for AAC-LC just use 1024 +instead of 2048 PCM samples per frame and channel. For AAC-LD/ELD it is either +480 or 512 PCM samples per frame and channel. + + +\section BEHAVIOUR_TOOLS Encoder Tools + +The AAC encoder supports TNS, PNS, MS, Intensity and activates these tools +depending on the audio signal and the encoder configuration (i.e. bitrate or +AOT). It is not required to configure these tools manually. + +PNS improves encoding quality only for certain bitrates. Therefore it makes +sense to activate PNS only for these bitrates and save the processing power +required for PNS (about 10 % of the encoder) when using other bitrates. This is +done automatically inside the encoder library. PNS is disabled inside the +encoder library if an MPEG-2 AOT is choosen since PNS is an MPEG-4 AAC feature. + +If SBR is activated, the encoder automatically deactivates PNS internally. If +TNS is disabled but PNS is allowed, the encoder deactivates PNS calculation +internally. + +*/ + +#ifndef AACENC_LIB_H +#define AACENC_LIB_H + +#include "machine_type.h" +#include "FDK_audio.h" + +#define AACENCODER_LIB_VL0 4 +#define AACENCODER_LIB_VL1 0 +#define AACENCODER_LIB_VL2 0 + +/** + * AAC encoder error codes. + */ +typedef enum { + AACENC_OK = 0x0000, /*!< No error happened. All fine. */ + + AACENC_INVALID_HANDLE = + 0x0020, /*!< Handle passed to function call was invalid. */ + AACENC_MEMORY_ERROR = 0x0021, /*!< Memory allocation failed. */ + AACENC_UNSUPPORTED_PARAMETER = 0x0022, /*!< Parameter not available. */ + AACENC_INVALID_CONFIG = 0x0023, /*!< Configuration not provided. */ + + AACENC_INIT_ERROR = 0x0040, /*!< General initialization error. */ + AACENC_INIT_AAC_ERROR = 0x0041, /*!< AAC library initialization error. */ + AACENC_INIT_SBR_ERROR = 0x0042, /*!< SBR library initialization error. */ + AACENC_INIT_TP_ERROR = 0x0043, /*!< Transport library initialization error. */ + AACENC_INIT_META_ERROR = + 0x0044, /*!< Meta data library initialization error. */ + AACENC_INIT_MPS_ERROR = 0x0045, /*!< MPS library initialization error. */ + + AACENC_ENCODE_ERROR = 0x0060, /*!< The encoding process was interrupted by an + unexpected error. */ + + AACENC_ENCODE_EOF = 0x0080 /*!< End of file reached. */ + +} AACENC_ERROR; + +/** + * AAC encoder buffer descriptors identifier. + * This identifier are used within buffer descriptors + * AACENC_BufDesc::bufferIdentifiers. + */ +typedef enum { + /* Input buffer identifier. */ + IN_AUDIO_DATA = 0, /*!< Audio input buffer, interleaved INT_PCM samples. */ + IN_ANCILLRY_DATA = 1, /*!< Ancillary data to be embedded into bitstream. */ + IN_METADATA_SETUP = 2, /*!< Setup structure for embedding meta data. */ + + /* Output buffer identifier. */ + OUT_BITSTREAM_DATA = 3, /*!< Buffer holds bitstream output data. */ + OUT_AU_SIZES = + 4 /*!< Buffer contains sizes of each access unit. This information + is necessary for superframing. */ + +} AACENC_BufferIdentifier; + +/** + * AAC encoder handle. + */ +typedef struct AACENCODER *HANDLE_AACENCODER; + +/** + * Provides some info about the encoder configuration. + */ +typedef struct { + UINT maxOutBufBytes; /*!< Maximum number of encoder bitstream bytes within one + frame. Size depends on maximum number of supported + channels in encoder instance. For superframing (as + used for example in DAB+), size has to be a multiple + accordingly. */ + + UINT maxAncBytes; /*!< Maximum number of ancillary data bytes which can be + inserted into bitstream within one frame. */ + + UINT inBufFillLevel; /*!< Internal input buffer fill level in samples per + channel. This parameter will automatically be cleared + if samplingrate or channel(Mode/Order) changes. */ + + UINT inputChannels; /*!< Number of input channels expected in encoding + process. */ + + UINT frameLength; /*!< Amount of input audio samples consumed each frame per + channel, depending on audio object type configuration. */ + + UINT nDelay; /*!< Codec delay in PCM samples/channel. Depends on framelength + and AOT. Does not include framing delay for filling up encoder + PCM input buffer. */ + + UINT nDelayCore; /*!< Codec delay in PCM samples/channel, w/o delay caused by + the decoder SBR module. This delay is needed to correctly + write edit lists for gapless playback. The decoder may not + know how much delay is introdcued by SBR, since it may not + know if SBR is active at all (implicit signaling), + therefore the deocder must take into account any delay + caused by the SBR module. */ + + UCHAR confBuf[64]; /*!< Configuration buffer in binary format as an + AudioSpecificConfig or StreamMuxConfig according to the + selected transport type. */ + + UINT confSize; /*!< Number of valid bytes in confBuf. */ + +} AACENC_InfoStruct; + +/** + * Describes the input and output buffers for an aacEncEncode() call. + */ +typedef struct { + INT numBufs; /*!< Number of buffers. */ + void **bufs; /*!< Pointer to vector containing buffer addresses. */ + INT *bufferIdentifiers; /*!< Identifier of each buffer element. See + ::AACENC_BufferIdentifier. */ + INT *bufSizes; /*!< Size of each buffer in 8-bit bytes. */ + INT *bufElSizes; /*!< Size of each buffer element in bytes. */ + +} AACENC_BufDesc; + +/** + * Defines the input arguments for an aacEncEncode() call. + */ +typedef struct { + INT numInSamples; /*!< Number of valid input audio samples (multiple of input + channels). */ + INT numAncBytes; /*!< Number of ancillary data bytes to be encoded. */ + +} AACENC_InArgs; + +/** + * Defines the output arguments for an aacEncEncode() call. + */ +typedef struct { + INT numOutBytes; /*!< Number of valid bitstream bytes generated during + aacEncEncode(). */ + INT numInSamples; /*!< Number of input audio samples consumed by the encoder. + */ + INT numAncBytes; /*!< Number of ancillary data bytes consumed by the encoder. + */ + INT bitResState; /*!< State of the bit reservoir in bits. */ + +} AACENC_OutArgs; + +/** + * Meta Data Compression Profiles. + */ +typedef enum { + AACENC_METADATA_DRC_NONE = 0, /*!< None. */ + AACENC_METADATA_DRC_FILMSTANDARD = 1, /*!< Film standard. */ + AACENC_METADATA_DRC_FILMLIGHT = 2, /*!< Film light. */ + AACENC_METADATA_DRC_MUSICSTANDARD = 3, /*!< Music standard. */ + AACENC_METADATA_DRC_MUSICLIGHT = 4, /*!< Music light. */ + AACENC_METADATA_DRC_SPEECH = 5, /*!< Speech. */ + AACENC_METADATA_DRC_NOT_PRESENT = + 256 /*!< Disable writing gain factor (used for comp_profile only). */ + +} AACENC_METADATA_DRC_PROFILE; + +/** + * Meta Data setup structure. + */ +typedef struct { + AACENC_METADATA_DRC_PROFILE + drc_profile; /*!< MPEG DRC compression profile. See + ::AACENC_METADATA_DRC_PROFILE. */ + AACENC_METADATA_DRC_PROFILE + comp_profile; /*!< ETSI heavy compression profile. See + ::AACENC_METADATA_DRC_PROFILE. */ + + INT drc_TargetRefLevel; /*!< Used to define expected level to: + Scaled with 16 bit. x*2^16. */ + INT comp_TargetRefLevel; /*!< Adjust limiter to avoid overload. + Scaled with 16 bit. x*2^16. */ + + INT prog_ref_level_present; /*!< Flag, if prog_ref_level is present */ + INT prog_ref_level; /*!< Programme Reference Level = Dialogue Level: + -31.75dB .. 0 dB ; stepsize: 0.25dB + Scaled with 16 bit. x*2^16.*/ + + UCHAR PCE_mixdown_idx_present; /*!< Flag, if dmx-idx should be written in + programme config element */ + UCHAR ETSI_DmxLvl_present; /*!< Flag, if dmx-lvl should be written in + ETSI-ancData */ + + SCHAR centerMixLevel; /*!< Center downmix level (0...7, according to table) */ + SCHAR surroundMixLevel; /*!< Surround downmix level (0...7, according to + table) */ + + UCHAR + dolbySurroundMode; /*!< Indication for Dolby Surround Encoding Mode. + - 0: Dolby Surround mode not indicated + - 1: 2-ch audio part is not Dolby surround encoded + - 2: 2-ch audio part is Dolby surround encoded */ + + UCHAR drcPresentationMode; /*!< Indicatin for DRC Presentation Mode. + - 0: Presentation mode not inticated + - 1: Presentation mode 1 + - 2: Presentation mode 2 */ + + struct { + /* extended ancillary data */ + UCHAR extAncDataEnable; /*< Indicates if MPEG4_ext_ancillary_data() exists. + - 0: No MPEG4_ext_ancillary_data(). + - 1: Insert MPEG4_ext_ancillary_data(). */ + + UCHAR + extDownmixLevelEnable; /*< Indicates if ext_downmixing_levels() exists. + - 0: No ext_downmixing_levels(). + - 1: Insert ext_downmixing_levels(). */ + UCHAR extDownmixLevel_A; /*< Downmix level index A (0...7, according to + table) */ + UCHAR extDownmixLevel_B; /*< Downmix level index B (0...7, according to + table) */ + + UCHAR dmxGainEnable; /*< Indicates if ext_downmixing_global_gains() exists. + - 0: No ext_downmixing_global_gains(). + - 1: Insert ext_downmixing_global_gains(). */ + INT dmxGain5; /*< Gain factor for downmix to 5 channels. + -15.75dB .. -15.75dB; stepsize: 0.25dB + Scaled with 16 bit. x*2^16.*/ + INT dmxGain2; /*< Gain factor for downmix to 2 channels. + -15.75dB .. -15.75dB; stepsize: 0.25dB + Scaled with 16 bit. x*2^16.*/ + + UCHAR lfeDmxEnable; /*< Indicates if ext_downmixing_lfe_level() exists. + - 0: No ext_downmixing_lfe_level(). + - 1: Insert ext_downmixing_lfe_level(). */ + UCHAR lfeDmxLevel; /*< Downmix level index for LFE (0..15, according to + table) */ + + } ExtMetaData; + +} AACENC_MetaData; + +/** + * AAC encoder control flags. + * + * In interaction with the ::AACENC_CONTROL_STATE parameter it is possible to + * get information about the internal initialization process. It is also + * possible to overwrite the internal state from extern when necessary. + */ +typedef enum { + AACENC_INIT_NONE = 0x0000, /*!< Do not trigger initialization. */ + AACENC_INIT_CONFIG = + 0x0001, /*!< Initialize all encoder modules configuration. */ + AACENC_INIT_STATES = 0x0002, /*!< Reset all encoder modules history buffer. */ + AACENC_INIT_TRANSPORT = + 0x1000, /*!< Initialize transport lib with new parameters. */ + AACENC_RESET_INBUFFER = + 0x2000, /*!< Reset fill level of internal input buffer. */ + AACENC_INIT_ALL = 0xFFFF /*!< Initialize all. */ +} AACENC_CTRLFLAGS; + +/** + * \brief AAC encoder setting parameters. + * + * Use aacEncoder_SetParam() function to configure, or use aacEncoder_GetParam() + * function to read the internal status of the following parameters. + */ +typedef enum { + AACENC_AOT = + 0x0100, /*!< Audio object type. See ::AUDIO_OBJECT_TYPE in FDK_audio.h. + - 2: MPEG-4 AAC Low Complexity. + - 5: MPEG-4 AAC Low Complexity with Spectral Band Replication + (HE-AAC). + - 29: MPEG-4 AAC Low Complexity with Spectral Band + Replication and Parametric Stereo (HE-AAC v2). This + configuration can be used only with stereo input audio data. + - 23: MPEG-4 AAC Low-Delay. + - 39: MPEG-4 AAC Enhanced Low-Delay. Since there is no + ::AUDIO_OBJECT_TYPE for ELD in combination with SBR defined, + enable SBR explicitely by ::AACENC_SBR_MODE parameter. The ELD + v2 212 configuration can be configured by ::AACENC_CHANNELMODE + parameter. + - 129: MPEG-2 AAC Low Complexity. + - 132: MPEG-2 AAC Low Complexity with Spectral Band + Replication (HE-AAC). + + Please note that the virtual MPEG-2 AOT's basically disables + non-existing Perceptual Noise Substitution tool in AAC encoder + and controls the MPEG_ID flag in adts header. The virtual + MPEG-2 AOT doesn't prohibit specific transport formats. */ + + AACENC_BITRATE = 0x0101, /*!< Total encoder bitrate. This parameter is + mandatory and interacts with ::AACENC_BITRATEMODE. + - CBR: Bitrate in bits/second. + - VBR: Variable bitrate. Bitrate argument will + be ignored. See \ref suppBitrates for details. */ + + AACENC_BITRATEMODE = 0x0102, /*!< Bitrate mode. Configuration can be different + kind of bitrate configurations: + - 0: Constant bitrate, use bitrate according + to ::AACENC_BITRATE. (default) Within none + LD/ELD ::AUDIO_OBJECT_TYPE, the CBR mode makes + use of full allowed bitreservoir. In contrast, + at Low-Delay ::AUDIO_OBJECT_TYPE the + bitreservoir is kept very small. + - 1: Variable bitrate mode, \ref vbrmode + "very low bitrate". + - 2: Variable bitrate mode, \ref vbrmode + "low bitrate". + - 3: Variable bitrate mode, \ref vbrmode + "medium bitrate". + - 4: Variable bitrate mode, \ref vbrmode + "high bitrate". + - 5: Variable bitrate mode, \ref vbrmode + "very high bitrate". */ + + AACENC_SAMPLERATE = 0x0103, /*!< Audio input data sampling rate. Encoder + supports following sampling rates: 8000, 11025, + 12000, 16000, 22050, 24000, 32000, 44100, + 48000, 64000, 88200, 96000 */ + + AACENC_SBR_MODE = 0x0104, /*!< Configure SBR independently of the chosen Audio + Object Type ::AUDIO_OBJECT_TYPE. This parameter + is for ELD audio object type only. + - -1: Use ELD SBR auto configurator (default). + - 0: Disable Spectral Band Replication. + - 1: Enable Spectral Band Replication. */ + + AACENC_GRANULE_LENGTH = + 0x0105, /*!< Core encoder (AAC) audio frame length in samples: + - 1024: Default configuration. + - 512: Default length in LD/ELD configuration. + - 480: Length in LD/ELD configuration. + - 256: Length for ELD reduced delay mode (x2). + - 240: Length for ELD reduced delay mode (x2). + - 128: Length for ELD reduced delay mode (x4). + - 120: Length for ELD reduced delay mode (x4). */ + + AACENC_CHANNELMODE = 0x0106, /*!< Set explicit channel mode. Channel mode must + match with number of input channels. + - 1-7, 11,12,14 and 33,34: MPEG channel + modes supported, see ::CHANNEL_MODE in + FDK_audio.h. */ + + AACENC_CHANNELORDER = + 0x0107, /*!< Input audio data channel ordering scheme: + - 0: MPEG channel ordering (e. g. 5.1: C, L, R, SL, SR, LFE). + (default) + - 1: WAVE file format channel ordering (e. g. 5.1: L, R, C, + LFE, SL, SR). */ + + AACENC_SBR_RATIO = + 0x0108, /*!< Controls activation of downsampled SBR. With downsampled + SBR, the delay will be shorter. On the other hand, for + achieving the same quality level, downsampled SBR needs more + bits than dual-rate SBR. With downsampled SBR, the AAC encoder + will work at the same sampling rate as the SBR encoder (single + rate). Downsampled SBR is supported for AAC-ELD and HE-AACv1. + - 1: Downsampled SBR (default for ELD). + - 2: Dual-rate SBR (default for HE-AAC). */ + + AACENC_AFTERBURNER = + 0x0200, /*!< This parameter controls the use of the afterburner feature. + The afterburner is a type of analysis by synthesis algorithm + which increases the audio quality but also the required + processing power. It is recommended to always activate this if + additional memory consumption and processing power consumption + is not a problem. If increased MHz and memory consumption are + an issue then the MHz and memory cost of this optional module + need to be evaluated against the improvement in audio quality + on a case by case basis. + - 0: Disable afterburner (default). + - 1: Enable afterburner. */ + + AACENC_BANDWIDTH = 0x0203, /*!< Core encoder audio bandwidth: + - 0: Determine audio bandwidth internally + (default, see chapter \ref BEHAVIOUR_BANDWIDTH). + - 1 to fs/2: Audio bandwidth in Hertz. Limited + to 20kHz max. Not usable if SBR is active. This + setting is for experts only, better do not touch + this value to avoid degraded audio quality. */ + + AACENC_PEAK_BITRATE = + 0x0207, /*!< Peak bitrate configuration parameter to adjust maximum bits + per audio frame. Bitrate is in bits/second. The peak bitrate + will internally be limited to the chosen bitrate + ::AACENC_BITRATE as lower limit and the + number_of_effective_channels*6144 bit as upper limit. + + Setting the peak bitrate equal to ::AACENC_BITRATE does not + necessarily mean that the audio frames will be of constant + size. Since the peak bitate is in bits/second, the frame sizes + can vary by one byte in one or the other direction over various + frames. However, it is not recommended to reduce the peak + pitrate to ::AACENC_BITRATE - it would disable the + bitreservoir, which would affect the audio quality by a large + amount. */ + + AACENC_TRANSMUX = 0x0300, /*!< Transport type to be used. See ::TRANSPORT_TYPE + in FDK_audio.h. Following types can be configured + in encoder library: + - 0: raw access units + - 1: ADIF bitstream format + - 2: ADTS bitstream format + - 6: Audio Mux Elements (LATM) with + muxConfigPresent = 1 + - 7: Audio Mux Elements (LATM) with + muxConfigPresent = 0, out of band StreamMuxConfig + - 10: Audio Sync Stream (LOAS) */ + + AACENC_HEADER_PERIOD = + 0x0301, /*!< Frame count period for sending in-band configuration buffers + within LATM/LOAS transport layer. Additionally this parameter + configures the PCE repetition period in raw_data_block(). See + \ref encPCE. + - 0xFF: auto-mode default 10 for TT_MP4_ADTS, TT_MP4_LOAS and + TT_MP4_LATM_MCP1, otherwise 0. + - n: Frame count period. */ + + AACENC_SIGNALING_MODE = + 0x0302, /*!< Signaling mode of the extension AOT: + - 0: Implicit backward compatible signaling (default for + non-MPEG-4 based AOT's and for the transport formats ADIF and + ADTS) + - A stream that uses implicit signaling can be decoded + by every AAC decoder, even AAC-LC-only decoders + - An AAC-LC-only decoder will only decode the + low-frequency part of the stream, resulting in a band-limited + output + - This method works with all transport formats + - This method does not work with downsampled SBR + - 1: Explicit backward compatible signaling + - A stream that uses explicit backward compatible + signaling can be decoded by every AAC decoder, even AAC-LC-only + decoders + - An AAC-LC-only decoder will only decode the + low-frequency part of the stream, resulting in a band-limited + output + - A decoder not capable of decoding PS will only decode + the AAC-LC+SBR part. If the stream contained PS, the result + will be a a decoded mono downmix + - This method does not work with ADIF or ADTS. For + LOAS/LATM, it only works with AudioMuxVersion==1 + - This method does work with downsampled SBR + - 2: Explicit hierarchical signaling (default for MPEG-4 + based AOT's and for all transport formats excluding ADIF and + ADTS) + - A stream that uses explicit hierarchical signaling can + be decoded only by HE-AAC decoders + - An AAC-LC-only decoder will not decode a stream that + uses explicit hierarchical signaling + - A decoder not capable of decoding PS will not decode + the stream at all if it contained PS + - This method does not work with ADIF or ADTS. It works + with LOAS/LATM and the MPEG-4 File format + - This method does work with downsampled SBR + + For making sure that the listener always experiences the + best audio quality, explicit hierarchical signaling should be + used. This makes sure that only a full HE-AAC-capable decoder + will decode those streams. The audio is played at full + bandwidth. For best backwards compatibility, it is recommended + to encode with implicit SBR signaling. A decoder capable of + AAC-LC only will then only decode the AAC part, which means the + decoded audio will sound band-limited. + + For MPEG-2 transport types (ADTS,ADIF), only implicit + signaling is possible. + + For LOAS and LATM, explicit backwards compatible signaling + only works together with AudioMuxVersion==1. The reason is + that, for explicit backwards compatible signaling, additional + information will be appended to the ASC. A decoder that is only + capable of decoding AAC-LC will skip this part. Nevertheless, + for jumping to the end of the ASC, it needs to know the ASC + length. Transmitting the length of the ASC is a feature of + AudioMuxVersion==1, it is not possible to transmit the length + of the ASC with AudioMuxVersion==0, therefore an AAC-LC-only + decoder will not be able to parse a LOAS/LATM stream that was + being encoded with AudioMuxVersion==0. + + For downsampled SBR, explicit signaling is mandatory. The + reason for this is that the extension sampling frequency (which + is in case of SBR the sampling frequqncy of the SBR part) can + only be signaled in explicit mode. + + For AAC-ELD, the SBR information is transmitted in the + ELDSpecific Config, which is part of the AudioSpecificConfig. + Therefore, the settings here will have no effect on AAC-ELD.*/ + + AACENC_TPSUBFRAMES = + 0x0303, /*!< Number of sub frames in a transport frame for LOAS/LATM or + ADTS (default 1). + - ADTS: Maximum number of sub frames restricted to 4. + - LOAS/LATM: Maximum number of sub frames restricted to 2.*/ + + AACENC_AUDIOMUXVER = + 0x0304, /*!< AudioMuxVersion to be used for LATM. (AudioMuxVersionA, + currently not implemented): + - 0: Default, no transmission of tara Buffer fullness, no ASC + length and including actual latm Buffer fullnes. + - 1: Transmission of tara Buffer fullness, ASC length and + actual latm Buffer fullness. + - 2: Transmission of tara Buffer fullness, ASC length and + maximum level of latm Buffer fullness. */ + + AACENC_PROTECTION = 0x0306, /*!< Configure protection in transport layer: + - 0: No protection. (default) + - 1: CRC active for ADTS transport format. */ + + AACENC_ANCILLARY_BITRATE = + 0x0500, /*!< Constant ancillary data bitrate in bits/second. + - 0: Either no ancillary data or insert exact number of + bytes, denoted via input parameter, numAncBytes in + AACENC_InArgs. + - else: Insert ancillary data with specified bitrate. */ + + AACENC_METADATA_MODE = 0x0600, /*!< Configure Meta Data. See ::AACENC_MetaData + for further details: + - 0: Do not embed any metadata. + - 1: Embed dynamic_range_info metadata. + - 2: Embed dynamic_range_info and + ancillary_data metadata. + - 3: Embed ancillary_data metadata. */ + + AACENC_CONTROL_STATE = + 0xFF00, /*!< There is an automatic process which internally reconfigures + the encoder instance when a configuration parameter changed or + an error occured. This paramerter allows overwriting or getting + the control status of this process. See ::AACENC_CTRLFLAGS. */ + + AACENC_NONE = 0xFFFF /*!< ------ */ + +} AACENC_PARAM; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Open an instance of the encoder. + * + * Allocate memory for an encoder instance with a functional range denoted by + * the function parameters. Preinitialize encoder instance with default + * configuration. + * + * \param phAacEncoder A pointer to an encoder handle. Initialized on return. + * \param encModules Specify encoder modules to be supported in this encoder + * instance: + * - 0x0: Allocate memory for all available encoder + * modules. + * - else: Select memory allocation regarding encoder + * modules. Following flags are possible and can be combined. + * - 0x01: AAC module. + * - 0x02: SBR module. + * - 0x04: PS module. + * - 0x08: MPS module. + * - 0x10: Metadata module. + * - example: (0x01|0x02|0x04|0x08|0x10) allocates + * all modules and is equivalent to default configuration denotet by 0x0. + * \param maxChannels Number of channels to be allocated. This parameter can + * be used in different ways: + * - 0: Allocate maximum number of AAC and SBR channels as + * supported by the library. + * - nChannels: Use same maximum number of channels for + * allocating memory in AAC and SBR module. + * - nChannels | (nSbrCh<<8): Number of SBR channels can be + * different to AAC channels to save data memory. + * + * \return + * - AACENC_OK, on succes. + * - AACENC_INVALID_HANDLE, AACENC_MEMORY_ERROR, AACENC_INVALID_CONFIG, + * on failure. + */ +AACENC_ERROR aacEncOpen(HANDLE_AACENCODER *phAacEncoder, const UINT encModules, + const UINT maxChannels); + +/** + * \brief Close the encoder instance. + * + * Deallocate encoder instance and free whole memory. + * + * \param phAacEncoder Pointer to the encoder handle to be deallocated. + * + * \return + * - AACENC_OK, on success. + * - AACENC_INVALID_HANDLE, on failure. + */ +AACENC_ERROR aacEncClose(HANDLE_AACENCODER *phAacEncoder); + +/** + * \brief Encode audio data. + * + * This function is mainly for encoding audio data. In addition the function can + * be used for an encoder (re)configuration process. + * - PCM input data will be retrieved from external input buffer until the fill + * level allows encoding a single frame. This functionality allows an external + * buffer with reduced size in comparison to the AAC or HE-AAC audio frame + * length. + * - If the value of the input samples argument is zero, just internal + * reinitialization will be applied if it is requested. + * - At the end of a file the flushing process can be triggerd via setting the + * value of the input samples argument to -1. The encoder delay lines are fully + * flushed when the encoder returns no valid bitstream data + * AACENC_OutArgs::numOutBytes. Furthermore the end of file is signaled by the + * return value AACENC_ENCODE_EOF. + * - If an error occured in the previous frame or any of the encoder parameters + * changed, an internal reinitialization process will be applied before encoding + * the incoming audio samples. + * - The function can also be used for an independent reconfiguration process + * without encoding. The first parameter has to be a valid encoder handle and + * all other parameters can be set to NULL. + * - If the size of the external bitbuffer in outBufDesc is not sufficient for + * writing the whole bitstream, an internal error will be the return value and a + * reconfiguration will be triggered. + * + * \param hAacEncoder A valid AAC encoder handle. + * \param inBufDesc Input buffer descriptor, see AACENC_BufDesc: + * - At least one input buffer with audio data is + * expected. + * - Optionally a second input buffer with + * ancillary data can be fed. + * \param outBufDesc Output buffer descriptor, see AACENC_BufDesc: + * - Provide one output buffer for the encoded + * bitstream. + * \param inargs Input arguments, see AACENC_InArgs. + * \param outargs Output arguments, AACENC_OutArgs. + * + * \return + * - AACENC_OK, on success. + * - AACENC_INVALID_HANDLE, AACENC_ENCODE_ERROR, on failure in encoding + * process. + * - AACENC_INVALID_CONFIG, AACENC_INIT_ERROR, AACENC_INIT_AAC_ERROR, + * AACENC_INIT_SBR_ERROR, AACENC_INIT_TP_ERROR, AACENC_INIT_META_ERROR, + * AACENC_INIT_MPS_ERROR, on failure in encoder initialization. + * - AACENC_UNSUPPORTED_PARAMETER, on incorrect input or output buffer + * descriptor initialization. + * - AACENC_ENCODE_EOF, when flushing fully concluded. + */ +AACENC_ERROR aacEncEncode(const HANDLE_AACENCODER hAacEncoder, + const AACENC_BufDesc *inBufDesc, + const AACENC_BufDesc *outBufDesc, + const AACENC_InArgs *inargs, AACENC_OutArgs *outargs); + +/** + * \brief Acquire info about present encoder instance. + * + * This function retrieves information of the encoder configuration. In addition + * to informative internal states, a configuration data block of the current + * encoder settings will be returned. The format is either Audio Specific Config + * in case of Raw Packets transport format or StreamMuxConfig in case of + * LOAS/LATM transport format. The configuration data block is binary coded as + * specified in ISO/IEC 14496-3 (MPEG-4 audio), to be used directly for MPEG-4 + * File Format or RFC3016 or RFC3640 applications. + * + * \param hAacEncoder A valid AAC encoder handle. + * \param pInfo Pointer to AACENC_InfoStruct. Filled on return. + * + * \return + * - AACENC_OK, on succes. + * - AACENC_INIT_ERROR, on failure. + */ +AACENC_ERROR aacEncInfo(const HANDLE_AACENCODER hAacEncoder, + AACENC_InfoStruct *pInfo); + +/** + * \brief Set one single AAC encoder parameter. + * + * This function allows configuration of all encoder parameters specified in + * ::AACENC_PARAM. Each parameter must be set with a separate function call. An + * internal validation of the configuration value range will be done and an + * internal reconfiguration will be signaled. The actual configuration adoption + * is part of the subsequent aacEncEncode() call. + * + * \param hAacEncoder A valid AAC encoder handle. + * \param param Parameter to be set. See ::AACENC_PARAM. + * \param value Parameter value. See parameter description in + * ::AACENC_PARAM. + * + * \return + * - AACENC_OK, on success. + * - AACENC_INVALID_HANDLE, AACENC_UNSUPPORTED_PARAMETER, + * AACENC_INVALID_CONFIG, on failure. + */ +AACENC_ERROR aacEncoder_SetParam(const HANDLE_AACENCODER hAacEncoder, + const AACENC_PARAM param, const UINT value); + +/** + * \brief Get one single AAC encoder parameter. + * + * This function is the complement to aacEncoder_SetParam(). After encoder + * reinitialization with user defined settings, the internal status can be + * obtained of each parameter, specified with ::AACENC_PARAM. + * + * \param hAacEncoder A valid AAC encoder handle. + * \param param Parameter to be returned. See ::AACENC_PARAM. + * + * \return Internal configuration value of specifed parameter ::AACENC_PARAM. + */ +UINT aacEncoder_GetParam(const HANDLE_AACENCODER hAacEncoder, + const AACENC_PARAM param); + +/** + * \brief Get information about encoder library build. + * + * Fill a given LIB_INFO structure with library version information. + * + * \param info Pointer to an allocated LIB_INFO struct. + * + * \return + * - AACENC_OK, on success. + * - AACENC_INVALID_HANDLE, AACENC_INIT_ERROR, on failure. + */ +AACENC_ERROR aacEncGetLibInfo(LIB_INFO *info); + +#ifdef __cplusplus +} +#endif + +#endif /* AACENC_LIB_H */ diff --git a/3rdparty/C302/include/fdk-aac/genericStds.h b/3rdparty/C302/include/fdk-aac/genericStds.h new file mode 100644 index 00000000..8828ba77 --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/genericStds.h @@ -0,0 +1,584 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/************************* System integration library ************************** + + Author(s): + + Description: + +*******************************************************************************/ + +/** \file genericStds.h + \brief Generic Run-Time Support function wrappers and heap allocation + monitoring. + */ + +#if !defined(GENERICSTDS_H) +#define GENERICSTDS_H + +#include "machine_type.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /*!< Pi. Only used in example projects. */ +#endif + +/** + * Identifiers for various memory locations. They are used along with memory + * allocation functions like FDKcalloc_L() to specify the requested memory's + * location. + */ +typedef enum { + /* Internal */ + SECT_DATA_L1 = 0x2000, + SECT_DATA_L2, + SECT_DATA_L1_A, + SECT_DATA_L1_B, + SECT_CONSTDATA_L1, + + /* External */ + SECT_DATA_EXTERN = 0x4000, + SECT_CONSTDATA_EXTERN + +} MEMORY_SECTION; + +/*! \addtogroup SYSLIB_MEMORY_MACROS FDK memory macros + * + * The \c H_ prefix indicates that the macro is to be used in a header file, the + * \c C_ prefix indicates that the macro is to be used in a source file. + * + * Declaring memory areas requires to specify a unique name and a data type. + * + * For defining a memory area you require additionally one or two sizes, + * depending if the memory should be organized into one or two dimensions. + * + * The macros containing the keyword \c AALLOC instead of \c ALLOC additionally + * take care of returning aligned memory addresses (beyond the natural alignment + * of its type). The preprocesor macro + * ::ALIGNMENT_DEFAULT indicates the aligment to be used (this is hardware + * specific). + * + * The \c _L suffix indicates that the memory will be located in a specific + * section. This is useful to allocate critical memory section into fast + * internal SRAM for example. + * + * @{ + */ + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define H_ALLOC_MEM(name, type) \ + type *Get##name(int n = 0); \ + void Free##name(type **p); \ + UINT GetRequiredMem##name(void); + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define H_ALLOC_MEM_OVERLAY(name, type) \ + type *Get##name(int n = 0); \ + void Free##name(type **p); \ + UINT GetRequiredMem##name(void); + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_MEM(name, type, num) \ + type *Get##name(int n) { \ + FDK_ASSERT((n) == 0); \ + return ((type *)FDKcalloc(num, sizeof(type))); \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKfree(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((num) * sizeof(type)); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_MEM2(name, type, n1, n2) \ + type *Get##name(int n) { \ + FDK_ASSERT((n) < (n2)); \ + return ((type *)FDKcalloc(n1, sizeof(type))); \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKfree(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((n1) * sizeof(type)) * (n2); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_MEM(name, type, num) \ + type *Get##name(int n) { \ + type *ap; \ + FDK_ASSERT((n) == 0); \ + ap = ((type *)FDKaalloc((num) * sizeof(type), ALIGNMENT_DEFAULT)); \ + return ap; \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKafree(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((num) * sizeof(type) + ALIGNMENT_DEFAULT + \ + sizeof(void *)); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_MEM2(name, type, n1, n2) \ + type *Get##name(int n) { \ + type *ap; \ + FDK_ASSERT((n) < (n2)); \ + ap = ((type *)FDKaalloc((n1) * sizeof(type), ALIGNMENT_DEFAULT)); \ + return ap; \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKafree(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((n1) * sizeof(type) + ALIGNMENT_DEFAULT + \ + sizeof(void *)) * \ + (n2); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_MEM_L(name, type, num, s) \ + type *Get##name(int n) { \ + FDK_ASSERT((n) == 0); \ + return ((type *)FDKcalloc_L(num, sizeof(type), s)); \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKfree_L(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((num) * sizeof(type)); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_MEM2_L(name, type, n1, n2, s) \ + type *Get##name(int n) { \ + FDK_ASSERT((n) < (n2)); \ + return (type *)FDKcalloc_L(n1, sizeof(type), s); \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKfree_L(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((n1) * sizeof(type)) * (n2); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_MEM_L(name, type, num, s) \ + type *Get##name(int n) { \ + type *ap; \ + FDK_ASSERT((n) == 0); \ + ap = ((type *)FDKaalloc_L((num) * sizeof(type), ALIGNMENT_DEFAULT, s)); \ + return ap; \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKafree_L(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((num) * sizeof(type) + ALIGNMENT_DEFAULT + \ + sizeof(void *)); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_MEM2_L(name, type, n1, n2, s) \ + type *Get##name(int n) { \ + type *ap; \ + FDK_ASSERT((n) < (n2)); \ + ap = ((type *)FDKaalloc_L((n1) * sizeof(type), ALIGNMENT_DEFAULT, s)); \ + return ap; \ + } \ + void Free##name(type **p) { \ + if (p != NULL) { \ + FDKafree_L(*p); \ + *p = NULL; \ + } \ + } \ + UINT GetRequiredMem##name(void) { \ + return ALGN_SIZE_EXTRES((n1) * sizeof(type) + ALIGNMENT_DEFAULT + \ + sizeof(void *)) * \ + (n2); \ + } + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_MEM_OVERLAY(name, type, num, sect, tag) \ + C_AALLOC_MEM_L(name, type, num, sect) + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_SCRATCH_START(name, type, n) \ + type _##name[(n) + (ALIGNMENT_DEFAULT + sizeof(type) - 1)]; \ + type *name = (type *)ALIGN_PTR(_##name); \ + C_ALLOC_ALIGNED_REGISTER(name, (n) * sizeof(type)); + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_SCRATCH_START(name, type, n) type name[n]; + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_SCRATCH_END(name, type, n) C_ALLOC_ALIGNED_UNREGISTER(name); +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_ALLOC_SCRATCH_END(name, type, n) + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_STACK_START(name, type, n) \ + type _##name[(n) + (ALIGNMENT_DEFAULT + sizeof(type) - 1)]; \ + type *name = (type *)ALIGN_PTR(_##name); \ + C_ALLOC_ALIGNED_REGISTER(name, (n) * sizeof(type)); + +/** See \ref SYSLIB_MEMORY_MACROS for description. */ +#define C_AALLOC_STACK_END(name, type, n) C_ALLOC_ALIGNED_UNREGISTER(name); + +/*! @} */ + +#define C_ALLOC_ALIGNED_REGISTER(x, size) +#define C_ALLOC_ALIGNED_UNREGISTER(x) +#define C_ALLOC_ALIGNED_CHECK(x) +#define C_ALLOC_ALIGNED_CHECK2(x, y) +#define FDK_showBacktrace(a, b) + +/*! \addtogroup SYSLIB_EXITCODES Unified exit codes + * Exit codes to be used as return values of FDK software test and + * demonstration applications. Not as return values of product modules and/or + * libraries. + * @{ + */ +#define FDK_EXITCODE_OK 0 /*!< Successful termination. No errors. */ +#define FDK_EXITCODE_USAGE \ + 64 /*!< The command/application was used incorrectly, e.g. with the wrong \ + number of arguments, a bad flag, a bad syntax in a parameter, or \ + whatever. */ +#define FDK_EXITCODE_DATAERROR \ + 65 /*!< The input data was incorrect in some way. This should only be used \ + for user data and not system files. */ +#define FDK_EXITCODE_NOINPUT \ + 66 /*!< An input file (not a system file) did not exist or was not readable. \ + */ +#define FDK_EXITCODE_UNAVAILABLE \ + 69 /*!< A service is unavailable. This can occur if a support program or \ + file does not exist. This can also be used as a catchall message when \ + something you wanted to do doesn't work, but you don't know why. */ +#define FDK_EXITCODE_SOFTWARE \ + 70 /*!< An internal software error has been detected. This should be limited \ + to non- operating system related errors as possible. */ +#define FDK_EXITCODE_CANTCREATE \ + 73 /*!< A (user specified) output file cannot be created. */ +#define FDK_EXITCODE_IOERROR \ + 74 /*!< An error occurred while doing I/O on some file. */ +/*! @} */ + +/*-------------------------------------------- + * Runtime support declarations + *---------------------------------------------*/ +#ifdef __cplusplus +extern "C" { +#endif + +void FDKprintf(const char *szFmt, ...); + +void FDKprintfErr(const char *szFmt, ...); + +/** Wrapper for 's getchar(). */ +int FDKgetchar(void); + +INT FDKfprintf(void *stream, const char *format, ...); +INT FDKsprintf(char *str, const char *format, ...); + +char *FDKstrchr(char *s, INT c); +const char *FDKstrstr(const char *haystack, const char *needle); +char *FDKstrcpy(char *dest, const char *src); +char *FDKstrncpy(char *dest, const char *src, const UINT n); + +#define FDK_MAX_OVERLAYS 8 /**< Maximum number of memory overlays. */ + +void *FDKcalloc(const UINT n, const UINT size); +void *FDKmalloc(const UINT size); +void FDKfree(void *ptr); + +/** + * Allocate and clear an aligned memory area. Use FDKafree() instead of + * FDKfree() for these memory areas. + * + * \param size Size of requested memory in bytes. + * \param alignment Alignment of requested memory in bytes. + * \return Pointer to allocated memory. + */ +void *FDKaalloc(const UINT size, const UINT alignment); + +/** + * Free an aligned memory area. + * + * \param ptr Pointer to be freed. + */ +void FDKafree(void *ptr); + +/** + * Allocate memory in a specific memory section. + * Requests can be made for internal or external memory. If internal memory is + * requested, FDKcalloc_L() first tries to use L1 memory, which sizes are + * defined by ::DATA_L1_A_SIZE and ::DATA_L1_B_SIZE. If no L1 memory is + * available, then FDKcalloc_L() tries to use L2 memory. If that fails as well, + * the requested memory is allocated at an extern location using the fallback + * FDKcalloc(). + * + * \param n See MSDN documentation on calloc(). + * \param size See MSDN documentation on calloc(). + * \param s Memory section. + * \return See MSDN documentation on calloc(). + */ +void *FDKcalloc_L(const UINT n, const UINT size, MEMORY_SECTION s); + +/** + * Allocate aligned memory in a specific memory section. + * See FDKcalloc_L() description for details - same applies here. + */ +void *FDKaalloc_L(const UINT size, const UINT alignment, MEMORY_SECTION s); + +/** + * Free memory that was allocated in a specific memory section. + */ +void FDKfree_L(void *ptr); + +/** + * Free aligned memory that was allocated in a specific memory section. + */ +void FDKafree_L(void *ptr); + +/** + * Copy memory. Source and destination memory must not overlap. + * Either use implementation from a Standard Library, or, if no Standard Library + * is available, a generic implementation. + * The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to + * use. The function arguments correspond to the standard memcpy(). Please see + * MSDN documentation for details on how to use it. + */ +void FDKmemcpy(void *dst, const void *src, const UINT size); + +/** + * Copy memory. Source and destination memory are allowed to overlap. + * Either use implementation from a Standard Library, or, if no Standard Library + * is available, a generic implementation. + * The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to + * use. The function arguments correspond to the standard memmove(). Please see + * MSDN documentation for details on how to use it. + */ +void FDKmemmove(void *dst, const void *src, const UINT size); + +/** + * Clear memory. + * Either use implementation from a Standard Library, or, if no Standard Library + * is available, a generic implementation. + * The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to + * use. The function arguments correspond to the standard memclear(). Please see + * MSDN documentation for details on how to use it. + */ +void FDKmemclear(void *memPtr, const UINT size); + +/** + * Fill memory with values. + * The function arguments correspond to the standard memset(). Please see MSDN + * documentation for details on how to use it. + */ +void FDKmemset(void *memPtr, const INT value, const UINT size); + +/* Compare function wrappers */ +INT FDKmemcmp(const void *s1, const void *s2, const UINT size); +INT FDKstrcmp(const char *s1, const char *s2); +INT FDKstrncmp(const char *s1, const char *s2, const UINT size); + +UINT FDKstrlen(const char *s); + +#define FDKmax(a, b) ((a) > (b) ? (a) : (b)) +#define FDKmin(a, b) ((a) < (b) ? (a) : (b)) + +#define FDK_INT_MAX ((INT)0x7FFFFFFF) +#define FDK_INT_MIN ((INT)0x80000000) + +/* FILE I/O */ + +/*! + * Check platform for endianess. + * + * \return 1 if platform is little endian, non-1 if platform is big endian. + */ +int IS_LITTLE_ENDIAN(void); + +/*! + * Convert input value to little endian format. + * + * \param val Value to be converted. It may be in both big or little endian. + * \return Value in little endian format. + */ +UINT TO_LITTLE_ENDIAN(UINT val); + +/*! + * \fn FDKFILE *FDKfopen(const char *filename, const char *mode); + * Standard fopen() wrapper. + * \fn INT FDKfclose(FDKFILE *FP); + * Standard fclose() wrapper. + * \fn INT FDKfseek(FDKFILE *FP, LONG OFFSET, int WHENCE); + * Standard fseek() wrapper. + * \fn INT FDKftell(FDKFILE *FP); + * Standard ftell() wrapper. + * \fn INT FDKfflush(FDKFILE *fp); + * Standard fflush() wrapper. + * \fn UINT FDKfwrite(const void *ptrf, INT size, UINT nmemb, FDKFILE *fp); + * Standard fwrite() wrapper. + * \fn UINT FDKfread(void *dst, INT size, UINT nmemb, FDKFILE *fp); + * Standard fread() wrapper. + */ +typedef void FDKFILE; +extern const INT FDKSEEK_SET, FDKSEEK_CUR, FDKSEEK_END; + +FDKFILE *FDKfopen(const char *filename, const char *mode); +INT FDKfclose(FDKFILE *FP); +INT FDKfseek(FDKFILE *FP, LONG OFFSET, int WHENCE); +INT FDKftell(FDKFILE *FP); +INT FDKfflush(FDKFILE *fp); +UINT FDKfwrite(const void *ptrf, INT size, UINT nmemb, FDKFILE *fp); +UINT FDKfread(void *dst, INT size, UINT nmemb, FDKFILE *fp); +char *FDKfgets(void *dst, INT size, FDKFILE *fp); +void FDKrewind(FDKFILE *fp); +INT FDKfeof(FDKFILE *fp); + +/** + * \brief Write each member in little endian order. Convert automatically + * to host endianess. + * \param ptrf Pointer to memory where to read data from. + * \param size Size of each item to be written. + * \param nmemb Number of items to be written. + * \param fp File pointer of type FDKFILE. + * \return Number of items read on success and fread() error on failure. + */ +UINT FDKfwrite_EL(const void *ptrf, INT size, UINT nmemb, FDKFILE *fp); + +/** + * \brief Read variable of size "size" as little endian. Convert + * automatically to host endianess. 4-byte alignment is enforced for 24 bit + * data, at 32 bit full scale. + * \param dst Pointer to memory where to store data into. + * \param size Size of each item to be read. + * \param nmemb Number of items to be read. + * \param fp File pointer of type FDKFILE. + * \return Number of items read on success and fread() error on failure. + */ +UINT FDKfread_EL(void *dst, INT size, UINT nmemb, FDKFILE *fp); + +/** + * \brief Print FDK software disclaimer. + */ +void FDKprintDisclaimer(void); + +#ifdef __cplusplus +} +#endif + +#endif /* GENERICSTDS_H */ diff --git a/3rdparty/C302/include/fdk-aac/machine_type.h b/3rdparty/C302/include/fdk-aac/machine_type.h new file mode 100644 index 00000000..bd97669c --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/machine_type.h @@ -0,0 +1,411 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/************************* System integration library ************************** + + Author(s): + + Description: + +*******************************************************************************/ + +/** \file machine_type.h + * \brief Type defines for various processors and compiler tools. + */ + +#if !defined(MACHINE_TYPE_H) +#define MACHINE_TYPE_H + +#include /* Needed to define size_t */ + +#if defined(__ANDROID__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 4) && \ + (__GNUC_GNU_INLINE__ == 1) +typedef unsigned long long uint64_t; +#include +#endif + +/* Library calling convention spec. __cdecl and friends might be added here as + * required. */ +#define LINKSPEC_H +#define LINKSPEC_CPP + +/* for doxygen the following docu parts must be separated */ +/** \var SCHAR + * Data type representing at least 1 byte signed integer on all supported + * platforms. + */ +/** \var UCHAR + * Data type representing at least 1 byte unsigned integer on all + * supported platforms. + */ +/** \var INT + * Data type representing at least 4 byte signed integer on all supported + * platforms. + */ +/** \var UINT + * Data type representing at least 4 byte unsigned integer on all + * supported platforms. + */ +/** \var LONG + * Data type representing 4 byte signed integer on all supported + * platforms. + */ +/** \var ULONG + * Data type representing 4 byte unsigned integer on all supported + * platforms. + */ +/** \var SHORT + * Data type representing 2 byte signed integer on all supported + * platforms. + */ +/** \var USHORT + * Data type representing 2 byte unsigned integer on all supported + * platforms. + */ +/** \var INT64 + * Data type representing 8 byte signed integer on all supported + * platforms. + */ +/** \var UINT64 + * Data type representing 8 byte unsigned integer on all supported + * platforms. + */ +/** \def SHORT_BITS + * Number of bits the data type short represents. sizeof() is not suited + * to get this info, because a byte is not always defined as 8 bits. + */ +/** \def CHAR_BITS + * Number of bits the data type char represents. sizeof() is not suited + * to get this info, because a byte is not always defined as 8 bits. + */ +/** \var INT_PCM + * Data type representing the width of input and output PCM samples. + */ + +typedef signed int INT; +typedef unsigned int UINT; +#ifdef __LP64__ +/* force FDK long-datatypes to 4 byte */ +/* Use defines to avoid type alias problems on 64 bit machines. */ +#define LONG INT +#define ULONG UINT +#else /* __LP64__ */ +typedef signed long LONG; +typedef unsigned long ULONG; +#endif /* __LP64__ */ +typedef signed short SHORT; +typedef unsigned short USHORT; +typedef signed char SCHAR; +typedef unsigned char UCHAR; + +#define SHORT_BITS 16 +#define CHAR_BITS 8 + +/* Define 64 bit base integer type. */ +#ifdef _MSC_VER +typedef __int64 INT64; +typedef unsigned __int64 UINT64; +#else +typedef long long INT64; +typedef unsigned long long UINT64; +#endif + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif + +#if ((defined(__i686__) || defined(__i586__) || defined(__i386__) || \ + defined(__x86_64__)) || \ + (defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)))) && \ + !defined(FDK_ASSERT_ENABLE) +#define FDK_ASSERT_ENABLE +#endif + +#if defined(FDK_ASSERT_ENABLE) +#include +#define FDK_ASSERT(x) assert(x) +#else +#define FDK_ASSERT(ignore) +#endif + +typedef SHORT INT_PCM; +#define MAXVAL_PCM MAXVAL_SGL +#define MINVAL_PCM MINVAL_SGL +#define WAV_BITS 16 +#define SAMPLE_BITS 16 +#define SAMPLE_MAX ((INT_PCM)(((ULONG)1 << (SAMPLE_BITS - 1)) - 1)) +#define SAMPLE_MIN (~SAMPLE_MAX) + +/*! +* \def RAM_ALIGN +* Used to align memory as prefix before memory declaration. For example: + \code + RAM_ALIGN + int myArray[16]; + \endcode + + Note, that not all platforms support this mechanism. For example with TI +compilers a preprocessor pragma is used, but to do something like + + \code + #define RAM_ALIGN #pragma DATA_ALIGN(x) + \endcode + + would require the preprocessor to process this line twice to fully resolve +it. Hence, a fully platform-independant way to use alignment is not supported. + +* \def ALIGNMENT_DEFAULT +* Default alignment in bytes. +*/ + +#define ALIGNMENT_DEFAULT 8 + +/* RAM_ALIGN keyword causes memory alignment of global variables. */ +#if defined(_MSC_VER) +#define RAM_ALIGN __declspec(align(ALIGNMENT_DEFAULT)) +#elif defined(__GNUC__) +#define RAM_ALIGN __attribute__((aligned(ALIGNMENT_DEFAULT))) +#else +#define RAM_ALIGN +#endif + +/*! + * \def RESTRICT + * The restrict keyword is supported by some platforms and RESTRICT maps + * to either the corresponding keyword on each platform or to void if the + * compiler does not provide such feature. It tells the compiler that a + * pointer points to memory that does not overlap with other memories pointed to + * by other pointers. If this keyword is used and the assumption of no + * overlap is not true the resulting code might crash. + * + * \def WORD_ALIGNED(x) + * Tells the compiler that pointer x is 16 bit aligned. It does not cause + * the address itself to be aligned, but serves as a hint to the optimizer. The + * alignment of the pointer must be guarranteed, if not the code might + * crash. + * + * \def DWORD_ALIGNED(x) + * Tells the compiler that pointer x is 32 bit aligned. It does not cause + * the address itself to be aligned, but serves as a hint to the optimizer. The + * alignment of the pointer must be guarranteed, if not the code might + * crash. + * + */ +#define RESTRICT +#define WORD_ALIGNED(x) C_ALLOC_ALIGNED_CHECK2((const void *)(x), 2); +#define DWORD_ALIGNED(x) C_ALLOC_ALIGNED_CHECK2((const void *)(x), 4); + +/*----------------------------------------------------------------------------------- + * ALIGN_SIZE + *-----------------------------------------------------------------------------------*/ +/*! + * \brief This macro aligns a given value depending on ::ALIGNMENT_DEFAULT. + * + * For example if #ALIGNMENT_DEFAULT equals 8, then: + * - ALIGN_SIZE(3) returns 8 + * - ALIGN_SIZE(8) returns 8 + * - ALIGN_SIZE(9) returns 16 + */ +#define ALIGN_SIZE(a) \ + ((a) + (((INT)ALIGNMENT_DEFAULT - ((size_t)(a) & (ALIGNMENT_DEFAULT - 1))) & \ + (ALIGNMENT_DEFAULT - 1))) + +/*! + * \brief This macro aligns a given address depending on ::ALIGNMENT_DEFAULT. + */ +#define ALIGN_PTR(a) \ + ((void *)((unsigned char *)(a) + \ + ((((INT)ALIGNMENT_DEFAULT - \ + ((size_t)(a) & (ALIGNMENT_DEFAULT - 1))) & \ + (ALIGNMENT_DEFAULT - 1))))) + +/* Alignment macro for libSYS heap implementation */ +#define ALIGNMENT_EXTRES (ALIGNMENT_DEFAULT) +#define ALGN_SIZE_EXTRES(a) \ + ((a) + (((INT)ALIGNMENT_EXTRES - ((INT)(a) & (ALIGNMENT_EXTRES - 1))) & \ + (ALIGNMENT_EXTRES - 1))) + +/*! + * \def FDK_FORCEINLINE + * Sometimes compiler do not do what they are told to do, and in case of + * inlining some additional command might be necessary depending on the + * platform. + * + * \def FDK_INLINE + * Defines how the compiler is told to inline stuff. + */ +#ifndef FDK_FORCEINLINE +#if defined(__GNUC__) && !defined(__SDE_MIPS__) +#define FDK_FORCEINLINE inline __attribute((always_inline)) +#else +#define FDK_FORCEINLINE inline +#endif +#endif + +#define FDK_INLINE static inline + +/*! + * \def LNK_SECTION_DATA_L1 + * The LNK_SECTION_* defines allow memory to be drawn from specific memory + * sections. Used as prefix before variable declaration. + * + * \def LNK_SECTION_DATA_L2 + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_L1_DATA_A + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_L1_DATA_B + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_CONSTDATA_L1 + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_CONSTDATA + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_CODE_L1 + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_CODE_L2 + * See ::LNK_SECTION_DATA_L1 + * \def LNK_SECTION_INITCODE + * See ::LNK_SECTION_DATA_L1 + */ +/************************************************** + * Code Section macros + **************************************************/ +#define LNK_SECTION_CODE_L1 +#define LNK_SECTION_CODE_L2 +#define LNK_SECTION_INITCODE + +/* Memory section macros. */ + +/* default fall back */ +#define LNK_SECTION_DATA_L1 +#define LNK_SECTION_DATA_L2 +#define LNK_SECTION_CONSTDATA +#define LNK_SECTION_CONSTDATA_L1 + +#define LNK_SECTION_L1_DATA_A +#define LNK_SECTION_L1_DATA_B + +/************************************************** + * Macros regarding static code analysis + **************************************************/ +#ifdef __cplusplus +#if !defined(__has_cpp_attribute) +#define __has_cpp_attribute(x) 0 +#endif +#if defined(__clang__) && __has_cpp_attribute(clang::fallthrough) +#define FDK_FALLTHROUGH [[clang::fallthrough]] +#endif +#endif + +#ifndef FDK_FALLTHROUGH +#if defined(__GNUC__) && (__GNUC__ >= 7) +#define FDK_FALLTHROUGH __attribute__((fallthrough)) +#else +#define FDK_FALLTHROUGH +#endif +#endif + +#ifdef _MSC_VER +/* + * Sometimes certain features are excluded from compilation and therefore the + * warning 4065 may occur: "switch statement contains 'default' but no 'case' + * labels" We consider this warning irrelevant and disable it. + */ +#pragma warning(disable : 4065) +#endif + +#endif /* MACHINE_TYPE_H */ diff --git a/3rdparty/C302/include/fdk-aac/syslib_channelMapDescr.h b/3rdparty/C302/include/fdk-aac/syslib_channelMapDescr.h new file mode 100644 index 00000000..375a24d6 --- /dev/null +++ b/3rdparty/C302/include/fdk-aac/syslib_channelMapDescr.h @@ -0,0 +1,202 @@ +/* ----------------------------------------------------------------------------- +Software License for The Fraunhofer FDK AAC Codec Library for Android + +© Copyright 1995 - 2018 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 +----------------------------------------------------------------------------- */ + +/************************* System integration library ************************** + + Author(s): Thomas Dietzen + + Description: + +*******************************************************************************/ + +/** \file syslib_channelMapDescr.h + * \brief Function and structure declarations for the channel map descriptor implementation. + */ + +#ifndef SYSLIB_CHANNELMAPDESCR_H +#define SYSLIB_CHANNELMAPDESCR_H + +#include "machine_type.h" + +/** + * \brief Contains information needed for a single channel map. + */ +typedef struct { + const UCHAR* + pChannelMap; /*!< Actual channel mapping for one single configuration. */ + UCHAR numChannels; /*!< The number of channels for the channel map which is + the maximum used channel index+1. */ +} CHANNEL_MAP_INFO; + +/** + * \brief This is the main data struct. It contains the mapping for all + * channel configurations such as administration information. + * + * CAUTION: Do not access this structure directly from a algorithm specific + * library. Always use one of the API access functions below! + */ +typedef struct { + const CHANNEL_MAP_INFO* pMapInfoTab; /*!< Table of channel maps. */ + UINT mapInfoTabLen; /*!< Length of the channel map table array. */ + UINT fPassThrough; /*!< Flag that defines whether the specified mapping shall + be applied (value: 0) or the input just gets passed + through (MPEG mapping). */ +} FDK_channelMapDescr; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Initialize a given channel map descriptor. + * + * \param pMapDescr Pointer to a channel map descriptor to be initialized. + * \param pMapInfoTab Table of channel maps to initizalize the descriptor + with. + * If a NULL pointer is given a default table for + WAV-like mapping will be used. + * \param mapInfoTabLen Length of the channel map table array (pMapInfoTab). + If a zero length is given a default table for WAV-like mapping will be used. + * \param fPassThrough If the flag is set the reordering (given by + pMapInfoTab) will be bypassed. + */ +void FDK_chMapDescr_init(FDK_channelMapDescr* const pMapDescr, + const CHANNEL_MAP_INFO* const pMapInfoTab, + const UINT mapInfoTabLen, const UINT fPassThrough); + +/** + * \brief Change the channel reordering state of a given channel map + * descriptor. + * + * \param pMapDescr Pointer to a (initialized) channel map descriptor. + * \param fPassThrough If the flag is set the reordering (given by + * pMapInfoTab) will be bypassed. + * \return Value unequal to zero if set operation was not + * successful. And zero on success. + */ +int FDK_chMapDescr_setPassThrough(FDK_channelMapDescr* const pMapDescr, + UINT fPassThrough); + +/** + * \brief Get the mapping value for a specific channel and map index. + * + * \param pMapDescr Pointer to channel map descriptor. + * \param chIdx Channel index. + * \param mapIdx Mapping index (corresponding to the channel configuration + * index). + * \return Mapping value. + */ +UCHAR FDK_chMapDescr_getMapValue(const FDK_channelMapDescr* const pMapDescr, + const UCHAR chIdx, const UINT mapIdx); + +/** + * \brief Evaluate whether channel map descriptor is reasonable or not. + * + * \param pMapDescr Pointer to channel map descriptor. + * \return Value unequal to zero if descriptor is valid, otherwise + * zero. + */ +int FDK_chMapDescr_isValid(const FDK_channelMapDescr* const pMapDescr); + +/** + * Extra variables for setting up Wg4 channel mapping. + */ +extern const CHANNEL_MAP_INFO FDK_mapInfoTabWg4[]; +extern const UINT FDK_mapInfoTabLenWg4; + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(SYSLIB_CHANNELMAPDESCR_H) */ diff --git a/3rdparty/C302/include/ipc_audio_api.h b/3rdparty/C302/include/ipc_audio_api.h index 4a59bc5a..6d4b5380 100644 --- a/3rdparty/C302/include/ipc_audio_api.h +++ b/3rdparty/C302/include/ipc_audio_api.h @@ -47,6 +47,8 @@ int IPC_AUDIO_UpdateAttr(unsigned int uflag); int IPC_AUDIO_Init(unsigned int uflag); void IPC_AUDIO_UnInit(unsigned int uflag); +int IPC_AUDIO_SYS_Init(); +void IPC_AUDIO_SYS_UnInit(); #ifdef __cplusplus #if __cplusplus diff --git a/3rdparty/C302/include/ipc_cfg_api.h b/3rdparty/C302/include/ipc_cfg_api.h index eec27936..055f91b6 100644 --- a/3rdparty/C302/include/ipc_cfg_api.h +++ b/3rdparty/C302/include/ipc_cfg_api.h @@ -51,8 +51,7 @@ typedef enum IPC_CFG_VI_OPTIONS typedef enum IPC_CFG_STREAM_OPTIONS { - CFG_STREAM_OPTION_VIID = 0, - CFG_STREAM_OPTION_PPUID, + CFG_STREAM_OPTION_CHANNEL = 0, CFG_STREAM_OPTION_RESOLUTION, CFG_STREAM_OPTION_FORMAT, CFG_STREAM_OPTION_ENCODEC, @@ -93,10 +92,11 @@ typedef enum IPC_CFG_IMAGE_OPTIONS CFG_IMAGE_OPTION_LDC, CFG_IMAGE_OPTION_HLC, CFG_IMAGE_OPTION_HLCLEVEL, + CFG_IMAGE_OPTION_FLICKER, + CFG_IMAGE_OPTION_FULL_COLOR, CFG_IMAGE_OPTION_IRCUT, CFG_IMAGE_OPTION_D2N, CFG_IMAGE_OPTION_N2D, - CFG_IMAGE_OPTION_FLICKER, CFG_IMAGE_OPTION_BUTT } IPC_CFG_IMAGE_OPTIONS; diff --git a/3rdparty/C302/include/ipc_cfg_define.h b/3rdparty/C302/include/ipc_cfg_define.h index 7756db15..df96fe90 100644 --- a/3rdparty/C302/include/ipc_cfg_define.h +++ b/3rdparty/C302/include/ipc_cfg_define.h @@ -26,8 +26,11 @@ extern "C" { #define MAX_CFG_NUM 64 #define MAX_CFG_AREA_NUM 4 +#define VIDEO_STREAM_ISP_ID 2 +#define VIDEO_STREAM_PPU_CHN 2 + #define EACH_VI_MAX_ISP_CHN 3 -#define CALU_ISP_CHN_BY_VI(vi, ppu) ((vi*EACH_VI_MAX_ISP_CHN)+ppu) // Each sensor has 3 physical channels +#define CALU_ISP_CHN_BY_ID(viid, ispid) ((viid*EACH_VI_MAX_ISP_CHN)+ispid) // Each sensor has 3 physical channels typedef enum IPC_CFG_DATA_TYPE { @@ -97,6 +100,7 @@ typedef enum IPC_RESOLUTION { PIC_CIF = 0, // 352x288 PIC_360P, // 640x360 + PIC_480P, // 720*480 PIC_D1, // 704x576 PIC_720P, // 1280x720 PIC_1080P, // 1920x1080 @@ -107,6 +111,12 @@ typedef enum IPC_RESOLUTION PIC_BUTT } IPC_RESOLUTION; +typedef enum IPC_VIDEO_STREAM +{ + VIDEO_STREAM_MAIN = 0, + VIDEO_STREAM_BUTT +} IPC_VIDEO_STREAM; + typedef enum IPC_VFORMAT_TYPE { FORMAT_NONE = 0, @@ -194,8 +204,7 @@ typedef struct IPC_VI_CONFIG /* video encode stream */ typedef struct IPC_STREAM_CONFIG { - int s32ViId; - int s32PpuId; + int s32Channel; IPC_RESOLUTION enResolution; // resolution IPC_VFORMAT_TYPE enFormat; // stream format,0-need encode,1-not need encode,raw NV21 IPC_VCODEC_TYPE enCodec; // encode type @@ -236,10 +245,11 @@ typedef struct IPC_IMAGE_CONFIG unsigned char u8LDC; // distortion correction unsigned char u8HLC; // strong light suppression unsigned char u8HLCLevel; // strong light suppression level:0-close 1-low 2-mid 3-high + unsigned char u8AntiFlickerMode; // antiflicker mode: 0-disable 1-50hz 2-60hz 3-Auto + unsigned char u8FullColor; // is full color mode enabled, 0-disable, 1-enable IPC_IRCUT_TYPE enIrcutType; // IRCUT type unsigned int u32DayToNight; // day to night time, valid only in timed mode unsigned int u32NightToDay; // night to day time, valid only in timed mode - unsigned char u8AntiFlickerMode; // antiflicker mode: 0-disable 1-50hz 2-60hz 3-Auto } IPC_IMAGE_CONFIG; typedef struct IPC_VIDEO_CONFIG diff --git a/3rdparty/C302/include/ipc_video_define.h b/3rdparty/C302/include/ipc_video_define.h index 24f14a45..be661cf3 100644 --- a/3rdparty/C302/include/ipc_video_define.h +++ b/3rdparty/C302/include/ipc_video_define.h @@ -99,14 +99,14 @@ int IPC_ISP_SetWBAttr(int sChn, IPC_IMAGE_CONFIG *pstImageCfg); int IPC_ISP_SetMirrorAndFlip(int sChn, unsigned char uMirror, unsigned char uFlip); //=====================================ppu api============================================= -int IPC_PPU_GetChnStatus(int sViId, int sPpuId); -int IPC_PPU_GetChn(int sViId, int sPpuId); +int IPC_PPU_GetChnStatus(int sPpuGrp, int sPpuChn); +int IPC_PPU_SetLdcAttr(int sPpuGrp, IPC_IMAGE_CONFIG *pstImageCfg, IPC_STREAM_CONFIG *pstStreamCfg); + //=====================================vi api============================================= int IPC_VI_GetViNum(); int IPC_VI_GetViChn(int sViId); int IPC_VI_GetViPipe(int sViId); -unsigned int IPC_VI_GetInputFps(int sViId); int IPC_VI_SetInputFps(int sViId, unsigned int uFps); int IPC_VI_GetWdr(int sViId); int IPC_VI_SetWdr(int sViId, int sWDR); @@ -116,7 +116,7 @@ int IPC_IRCUT_SetCfg(int sChn, IPC_IMAGE_CONFIG *pstImageCfg); //=======================================base api================================================= -int IPC_SYS_Init(IPC_VIDEO_CONFIG *pstVideoConfig, int sIsEncode); +int IPC_SYS_Init(IPC_VIDEO_CONFIG *pstVideoConfig); void IPC_SYS_UnInit(); int IPC_VI_Start(); @@ -126,13 +126,13 @@ void IPC_VI_UnInit(); int IPC_ISP_RestartSns(int nViPipe, IPC_SNS_TYPE enSnsType); int IPC_ISP_StandbySns(int nViPipe, IPC_SNS_TYPE enSnsType); -unsigned int IPC_ISP_CalcFrameSize(int sViId, int sPpuId); +unsigned int IPC_ISP_CalcFrameSize(int sPpuGrp); int IPC_ISP_ChnStart(); void IPC_ISP_ChnStop(); int IPC_ISP_ChnInit(IPC_VIDEO_CONFIG *pstVideoCfg); void IPC_ISP_ChnUnInit(); -int IPC_PPU_GetFrame(int sViId, int sPpuId, void* pdata, unsigned int u32size, +int IPC_PPU_GetFrame(int sPpuGrp, void* pdata, unsigned int u32size, unsigned int *u32len, unsigned long long *u64pts); int IPC_PPU_Start(); void IPC_PPU_Stop(); diff --git a/3rdparty/C302/lib/dynamic/libAudioSignalProcess.so b/3rdparty/C302/lib/dynamic/libAudioSignalProcess.so deleted file mode 100644 index ad3771810e3d8b0cf0935430f36c51d1a7280955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318496 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 diff --git a/3rdparty/C302/lib/dynamic/libasp.so b/3rdparty/C302/lib/dynamic/libasp.so deleted file mode 100644 index 4b68332bdd00e5493d0cde90fd355393de0fc00e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9752 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 OqUmdl`L>@4@cl2=Whoy3 diff --git a/3rdparty/C302/lib/dynamic/libmbuffer.so b/3rdparty/C302/lib/dynamic/libmbuffer.so deleted file mode 100755 index 2d65593189e07190ce40535c00c9846acbafbe2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9592 zcmeHNeQaCR6~E6PsgtGcqZlwHj7KS3m>kayp>!S7lE(c=n|7w81Evhuv0sRVzpx#e z&`C4IOx;%2ux48S=!eHP4XQD%Vn__F5VmweMNHj*jiE`i9i9j+64`(irc&?sd(W?Z zNy^k||L{j{baKwQ_uO;NJ@>rhcYXcMwcYC^NfKtWi)KO2zd(pK;HR&}KZkI(2}L+D z<`Gxuj1dclZw`#d4(459` z8L$=OR{hiHBXBOvh)V!h0oX1BTn=F0LV(%aAU*|H3Rnbi0qOzNZwD*}GypE98S646 z=>r?WhgccyiW(-m62LfJ3TOndA$)qHUDAvXb&luP0gCaCpbF>v|S{@cyFQ;kVbN4yS(>lOs>u{vpKXv|!CiyS_>xdKE^BYrRywWs#<> z+l?W;m;5@*_%hIpk=YawXH5o}@_T2^zi$@*=UMXi%;N8wC4cWMp7~@p+Ox1i0e_>V zgX3O+*%S~>7*AuW?ME@!0*U*t|B-)e%~=ZQZ)HTSHsbaCA#5 zs)~e~h@^)_SFkfQL*VvIET`%cbA|$HT>ZGQwTX1@0@`R!q;mrq;80>Prw)bUsmMLE zx(1U*XC{`+^?!^@bGtj^YBeFVX8IAMKzcBj75y1iovUD5 zQdco^QdG_6GO1w^kM%`-*_3akSl`{XrZd#)V~Nz84NonfTLYi}Z#>PciF5xRM;@5Z zk~RTvmvYlgo)w_?n54lU`z^q@NfCs*M<)ts+KF-$Kl1g&58Uh*8uw5TmHN+FRbb zNr+Rf{Lv{#sYP>?4rz-@drGe9XSJ~_vAEywsa$e=cV+Cu-)JVi+d>yC^fxSY&O*m6 zbksukTIe1N-EE-*7Wx(o-DaV^7J9jbZUXK0AJW{)Ac zPmX&e(Stpz+pu8Mf{jCgoq_uUBWvs@oSR<0!+ylGKD}N%XJZTi2O%4TtZPGk*HEB- z<8YvU>HUEh7u!$$Na~Vj&Up>8uK>~j)-2ak4VxM^Qu|dy_x!pZ+OIp}+O#v^8K|D_ zeW!Z*xoX`eY1z)e(zNU7qnOhU=*GP70Y3CZ&sI z+xBAFA@A2*%6`q>UMx5I_iKyAFQ#O9cf}Drpe+!^vQsIRe^RZUdQEw$EQ^OKBKR$B zTA6^ZhbzQPT=VWj!rFyJl<5wu=RYSD7@P2AA8l~A3G-d3mWG(%7tU*{CBF=XJp9x z(eF}VA2x)pzi6*RTx3yj3Ncdh_z!4bh7A!6R`9v?Oe17u89w<(Dvi+V058c8mF%!9 z%LVPP)#~d3aY*wk^kq-!M$BCWp7!17Ys6gkx1gW?i(m=4T0Qj=a@F9AlS{#yYubf+ z@)%&clW_}Hm>YIUG}zL}3Fwo9BNh87_8)OR4gcEmh02NRUMjnwn{oXB`Ot2Ac#1l? z=ku@UHE}^gdS;X27eg4tHF_fF*PY7|+h|NgpYUuG` z4Q|MDjgrWh7z-QX=SDm{qM#kb-UzX+{Euq&_yWXMK>tF-^b*W9_VBBdoU`0ta5mLq zD3s!4^LE5MNcr2!ic-+L&~+SZ;#yukYs5s)=aHjR^v?(1=mTw|96s{{i=Xd8{z86o z-Bw?B!Pk0!d&vo#%n8$1`dyE;y#YO5tXKD2_s#HK!Cp7ZhW|o-pv1L!(Z@J47ygJm z7`2_xgCo$xb#T8Q1^puSo4Lol8)3XaGvAKUZ>)*&wZXm~<5}^27k+vngXe0Jwa$-N zG42WM8~gB4ac;k8_d;>7#vt@D`}I@I{a^QMZ?$?@V6XQ{=hvQr9&_yx(7T!Ih%a-3 z@%}FQgkW5YlguIJgdR`EgfaJzl!Q{6qz=z$K~n(C6))tt_AQvt=f%to)F`_L`w@a2 z>Noe2_R^4TLhQWIEh!IHX!p#u6Xo}oO-TAP3tKj$#*}sa{=%`lbUj*mh^Tm&vgt`YmQ73DDA0Q7Kd_M6EYP7Qp z&(aUk&)VXIZPpOx(p9j#it?aW5@T$+rT$!saWnP~(5O2ny-vJK;60>>m!n?+_}L&( zTTtWi_Cf!Hljv?>eSyBot1*xMNO(qF@Z}6YSAgjk_eud^zqDpREoK@&FVfVDb#@~s z>!<@Z@LJNa0eYy{Aqo}tOQ5-bfBy(F+qt$N)?Uz1ZyPAr202HtpuNL!@Tl*TXT(IA zv2e)+?F9T`JRDg2Um)Xvt~Bg7W1RhOpzlMhyQ#*PYBGNUu4^xr|B10~EO<&1;taqV z586HkIWsQ!$ZnXZ&HpX13p(ZYqf@kV{G;kg&gc6U-?dgl_)DBn!}!e7`Q=?&Ox|n>H5v;meS`h|YDVEX zKuPuYZ)c~oiT3*PeK>x?2LK(VMD>WB$XLf`opof8f7dlAVb^# zRc`h5X~Za;3+qHJI9PWqr(_2s5jC4_n5lO#X&n@wv|KQAVjj;&U_Ju#5txs_d<5nr zFdu>W2+T)dJ_7R*_#{Q(eSG=*6oBVk-p}wn%)3*bkH>MS=KU@2W_Z7huQl}hW8Tp; z)p+*30(k#yHMJY_dCo4_jr-hJ!1IiI6d2!|ox5umxI5vwJP*JXihftk^YsZ#=J|Uc zFutDVj6f2_->Mf)MH}aS*`EvT&*;( z-?B~VNu}bEfp9FT^rtdPZa`H!TGE+RKTgU@M(KL5>1 zb2yV|K~L)!Zn!}o@vTre=3m*mLUgQzsjwREiwVgK(z&XoL)0x=(BYEmZ4LHDX^F!v zT_#;&_efVtOKnZkGU;~a3{c&<8N#Tqjad&OnvyC{G1%?4#6UJ zZoO(vj_Z8^GKBqPYR%M#@9TAa9ExIr1apj{CcOhRu6gx17{A{+KW55Nb_4)Zx*Y4D z8^7lq>e~*v?aE9!>R@{eK-y0RjdEYtDdQi<2uA?Wl{R{j%Zd;;n+z~z*ogHt=$sJm NDMCD7qlrwp{{S`IZ#w`0 diff --git a/3rdparty/C302/lib/dynamic/libparam.so b/3rdparty/C302/lib/dynamic/libparam.so deleted file mode 100755 index 8762645a66094d5f0bbae42ba99c6824e3812999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70392 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%0Au5NP(lMviH|)c3>9UJbif(XdB+e*fBbzki-b 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 Y{JU0=en`A;*6pq`g}7EJp;O8K0pwZAGXMYp literal 0 HcmV?d00001 diff --git a/3rdparty/C302/lib/libaudio.a b/3rdparty/C302/lib/libaudio.a new file mode 100644 index 0000000000000000000000000000000000000000..4abe23ddf585e7f5656782f7cd92d2032ed8f1c6 GIT binary patch literal 22184 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 W){NF+*&BxhRc>dU;so+6x&H&b>1RFw literal 0 HcmV?d00001 diff --git a/3rdparty/C302/lib/libmbuffer.a b/3rdparty/C302/lib/libmbuffer.a new file mode 100644 index 0000000000000000000000000000000000000000..c177eb4f2cd1e7d281cb2e51a33c040e37812aa8 GIT binary patch literal 4430 zcmcIneQZY!C8y6lhAF_vgTVw<8wZ8Y_dR@+!qRfI?h*<{Qrny^XrAJf=5 z@59&$qy1-By7za_$36GlbMHI%KJSxaMpB-3?PcX9)Y{hC+S0PGt%b3mE-Gyq3%4|z z17a=!r~=?#`=a{n!RVom9{#8x96Zu7CWOZCcd=o_6qWs(;&swO{J6qN_$|0O#( znAVQ3w?^}<=jwB;XLk>3m1C4)x%MjgY=_TG%9JaHC-NY!S92I@yhaJ9zolSD;>SuX;G{tzE*s z&;N7JvFd?^e1*RyHk${(eIh;Ox#AWc5j?@TGFO0^actd-k%IlxNWt@Aq~LrqQgH8y zD>OEyc!Hj((-St~QvsA?${WhOatUW};%Kzg1=H^-GwMlxZW@8{YCsH2`SKTPkz81KZ2Yv}yZ1a8Di>*!X2S8S^u z$9cgnyvxtrtsBL)IX}u*d^LjWTgX@YKg!$vWMy1==HPN)+w^R~IR?97l~+b2 z$N0PROMSq+(kOpHjQsPrBfvHleesensLeH*<|j$ZSV3gUbnn4R?9UxqvXwU-xz;q{v_Y^7g}q(P#XpRxM-|-sgKs|)z{qn zXMcY~bSZuwqvw@qUr#O^=%%@>y)|Y#kt2^%Ii|D=6&Ja)WQluoTyzNjIOmtdWzq0? zxev#NBZ5!b9bJx-R=r?E5Kk0(5J3xuKWlx_$KwfGivPi!#n{E0>N5Eo_Q!7;bNGGz zWc#eX-@9|8ykYqmc^LXx4t##;EdLAfz~={k^L%a-#_oRPw&ti`ldF1QM4dU9ei;+P zzwmt0IjzO|&ZOrGerrnYWLyC+`3!!}H=DQPo>zot^OcBBtga@%6U8_sP(q zxgV<6UYEugiJGW)%;4aw%2fva$9Y+++*CfitXHv3Sa3>NKwJ} ziUE3Sht+!}B-qNNfV8btjFcT}$~dLgNZ$cl%j6E&wuXKj>9!)z(0{3DhSTp4twi2{ z{Yxb@%^xe#r}+v+H#yxuCw&Nd;V|(7{LQ2=X3&IvXK}nk_a#_Dlf7S-jDHI0`|~+; z`x7N{(*LA{MzUCJu%Xzejtwf;&`#iyL(@mFZpPkAh*t4nrw3~X)*x1rpFsRJR*Eap zuOq&Kwc4bAjrbPUS(APr(JEx`V~ao}`X6iPyGV=Z&^r}|{VMEN;rguk898ef8vg{+ z`%ylOee&n2HS*{h`k6H}l@Q>S;}(MBOtuq{+iQn9cg3oHdj*m>D&x zCDy;nANsP#bzt^iKS+PbQ+`fKAQ@0TDP=ZD4{2FQWaJ0@vzY$^<%4?Vtd>a~$GxHq z<@y>x!oB4zD0=tT(1!y?aUB<9pEM* zUX*q`uQZMkBLA?7NkWvLBlH3MoDlUc6QbV7geb4X971w8A=x2BzF^XElm4NJ*9cMn zwuvi*IF53W%?FVe-6&xPvw)kUc)AiE%_NW1wR7 zGV(wGkD>+vx(p!@&t@TzNfANXp#XkEQfhEePNGUOrO5%j@*1<6h$lDDapc*6sA(BB zj>kER6MeZt_X3C2%8dbqF--_n1XW{+Y305cr>2$@VEemSf_Ct^x|=t z9TP~G3WieG{~|rge>5hHl?vJWu4M#inwQ7}CXzmtpWuRCHoAICI#jz&)S1}awia$O zEYox!pl|6?y%vi=wDbroO85+~o<(H1kVkg~`G?0ukCU}lBz1+?Eh9);T|7!OZ?UxD Lf3#Ah?(6**B_u-x literal 0 HcmV?d00001 diff --git a/3rdparty/C302/lib/libparam.a b/3rdparty/C302/lib/libparam.a new file mode 100644 index 0000000000000000000000000000000000000000..13604b1c10405b0bd1182f131046c918f3bae0dd GIT binary patch literal 75576 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 gdEIupRKBkK46bOS0KfUa4^Z)<= diff --git a/3rdparty/README.md b/3rdparty/README.md index 532f9bbb..a5c10b9b 100644 --- a/3rdparty/README.md +++ b/3rdparty/README.md @@ -107,8 +107,6 @@ User need to put C302 board SDK under [3rdparty/C302](C302/), including `sysroot C302/ ├── include ├── lib -│ ├── dynamic -│ └── static └── sysroot ``` diff --git a/CMake/C302.cmake b/CMake/C302.cmake index ac2b40d9..25533dcc 100644 --- a/CMake/C302.cmake +++ b/CMake/C302.cmake @@ -13,13 +13,13 @@ if(BOARD STREQUAL "C302") set(BOARD_DESTINATION_PLATFORM arm-unknown-linux-gnu) - link_directories(${BOARD_SDK_DIR}/lib/static ${BOARD_SDK_DIR}/lib/dynamic) + link_directories(${BOARD_SDK_DIR}/lib) set(BOARD_LIBS_SHARED pthread dl m z fdk-aac sns_imx290 sns_imx307 sns_imx335 sns_gc4653 sns_imx415 ae alg awb dewarp mbi mbi_dewarp mbi_isp mbi_venc ppu asp AudioSignalProcess - param video audio mbuffer + libparam.a libvideo.a libaudio.a libmbuffer.a ) set(BOARD_LIBS_STATIC pthread dl m z fdk-aac diff --git a/source/C302/C302AudioCapturer.c b/source/C302/C302AudioCapturer.c index a9f0f12d..d00c939b 100644 --- a/source/C302/C302AudioCapturer.c +++ b/source/C302/C302AudioCapturer.c @@ -21,7 +21,7 @@ #define USING_HARD_STREAM_AUDIO -#define DEFAULT_VOLUME 50 +#define DEFAULT_VOLUME 14 #define C302_HANDLE_GET(x) C302AudioCapturer* audioHandle = (C302AudioCapturer*) ((x)) diff --git a/source/C302/C302AudioPlayer.c b/source/C302/C302AudioPlayer.c index e379cb73..3f412281 100644 --- a/source/C302/C302AudioPlayer.c +++ b/source/C302/C302AudioPlayer.c @@ -23,7 +23,7 @@ #define C302_HANDLE_GET(x) C302AudioPlayer* audioHandle = (C302AudioPlayer*) ((x)) -#define DEFAULT_VOLUME 50 +#define DEFAULT_VOLUME 31 typedef struct { AudioPlayerStatus status;

y^av+AtRl}T4G-HkW44O7dU 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 literal 0 HcmV?d00001 diff --git a/3rdparty/C302/lib/libvideo.a b/3rdparty/C302/lib/libvideo.a new file mode 100644 index 0000000000000000000000000000000000000000..8beb1895048849215184d398d618b107e380dcac GIT binary patch literal 65328 zcmeFa33ye--3NTmT|!6#L_iITc(Y+b0)!+$K$I+(LjnO(7LBOQ4);Px(j+LG8U-y? zS`pA9SWDfCOEnQ`iHb=TE%gPPSn3NZ6|3bEl{O&Cb$Q_X{buIedvby5yL{jC_IbWZ z=Kjuq=0E>g&zw0k^PdwtsjR-jb9KaMS5Gr$T-La8W5NbdvCs`{l8(`Z_u>=seP|o(=KGcNYXTE z3yShet|@R&nN>2is8?E&0s_L?aDyvIQb#-lpbeJ+T zuVi-Bj|za_zUP&g;oW|O^pl2{v`pv5m^uiKveZ|to zl7^+_8m~*Ly$d~!xV*VBa49*;DrFuDX6MbDTQUdHFIXsqONW4TNhBDenoy^LhPtAq<)N;qfor@omoAYdT);eD<3;EmG-EIwkl%uux}}Xqoh$>S z31P0SR25jj0U5KJ_DT!?)s{-C2V{POB&GZDywSq zYHJpFZOg| zTC+P)+;A^wtdf1koa^SuP7HOpyrINvJ{9P$l0Q21ao_Xde-1S^%XBJ@@YYq7+{Bhq za#K}J#i-iR78lW__jGEgs%faLr(48mHDWMj1;!X-U9Jfe#=v=OS~`Bmq@|6^%yhZN zkDoA3@|H&2Hl@(ebsa+uX>=_~3sRc438M-aXQqH8ElP{j^dv`zEoop|scW#SZff?) z-qCeawfOcfEu+25mSHag)fTmUxqaV`HEbIx!?rc6lquN; zDO&WZ(m`(W{lrsl6uV6hZKS7jqUS%m>{0Q?{w@@BLb8!>JSy_Uxb<;6a#Ieiji&_r zH({R-a=+>Mx+UD(=^xnsu0P!6Fa3i*y8SO6ZDdP_KGNA?8yVB4Cw6w(65jE>=^Y@_ zdR50GCt~|vf$LXJ=>48J^iN;T$+c-rp>wO5UnlZAr89H7W6MhS0QdDMm)lO&K8IMd z*R{$L9yPt!gGq5K-6K(Jwr})|!HcdFC8fD2$t6;(p&YfeqdtUl4RF8b+3J4CrzP6% zU*gL>8C|C(l5?Lg|KzsP_LI6sN*lSSGt1D0kF`EqeFO8gMA<%e_*NTXn{N;?H2V6f zR%74VH-GS=Wp0@Y8UHAornz8`qA?$VZHC>4=J33-g}{lh>9AQl2cu30dvbT^hQD>b zr@ZAxuWX?Xqpo#eezGBBcNtl`FUr5jKr79ZE?@X;Mql^`T|V94~KdPG=*@Nocg9;PW*0tfK_cZaI z<2^b8)&+YBEbpLWGahfg#hvQWQg7|3#_!6GJ}1(8m&R$avW%aB+x(99e@1J)pPOLp zKi)g?h=;Y&dyDa9O~V@}YvydptwNZX@KR5XD0jAx?CyJSe{_*<*f&lzI`g0K+8$Wu z?)C5iw8XHjXuH*vaKy7fw2H%BVe$LB`p3sE+TRsrd&Jv!+w9rjb#d&LvRrS4_e0N?+^n`s3_W>Fhb>v_zQ0LJ&gl59s`s7w z+VHWeZgxP%e9!EbEsOLKjy5fBOSv{GyZhZHZDe-$pPE=BE+esd_p$DKCoI>JAL!h! zWW4XY_`Y=G!LkoMdh-6x3bgj@?jJXW$H#1R94T9*CI7HfkBzzSBk!zJD^~6A8Z>5B zcZO?!*O1|lE*iEz>Kps#mu-xQ|BZiD+6Vr*j}#bRyWjN>RK1bxH;yzppUh|b$Z(3D z0KFng?{L$*{+P5YU)ti2YA!Ig`1@?TD}TN*N9ARLk!^&>MWJlMQucR+Kf1pwLX@N| z`9Gi+)8kg(G-|cG!~_bvRJwuQWN4 zH{FH&{OBX^pp8Q|41Hkm`u$zQw2v0)B0myc8{-#~j@@{lFD%8;)(4?3@6c10bl6kI zcQ{Z=4>v`@jpcI0J7~R-b06ef^wA<&E)pq+bnM0@K9=Jk)c)Y%6^n;%e01?;8$Vh+ zY-5>k`gGRMO1JE9NBHtlm-1R0Ir&uVbN}!~%9!dt^0E$O`D-Gzxju&_Kk!YHzA`Tv zKAQ?Tt2-hp82Y0{sIzt{A@Ag{jMrd?Z5-d5^e;~L<@9iE6%)rQME{>`KD z`Ef=8`YB1jdeoIa-O%ozjdH(E^}ty{Fvyq-{e~oc#gE&%-u4H}u-X zcH~6=C;LyEu`O_w-x?jrP4DLJ-E~v>7nL8Ya_~=IMBw^k^my^cL}LufMCSh;-(5%# z`&#x*aj=+h(CT(-N$!q>!d32gkDf9HJy4ORok+0h!`)x?i`a8KJaW(RFxcL(j>x=4 zjuS3zPnTXE-(ZWcXwc#>nbzC$Vc81zAY*~J1Dr;)7;D&#i}FVpS}a=BSQ)<-zo#oa zBgv@S9T|9zkm{X3yi{_KBL8RTpVuL6vthGfF+rdW zoGNf(BwglOQnjSEez|KwnYX%%j|z=rL05&R=K93S8(obayhc=BpIE*0Mwhq2Rll^R z##^(H^F*dRa@XMnF(BcB;j5N;8xhhHH(w!KOJu?V37C;vP;!l&)2Ob(tcQFNP~u}% z`f6$$U1B(_X$|541)m1G7*3@G752MnW zSm~TdSc9^}YxtU^Dxe19;C540eFNTZVj0FPH&+?n#YM#hnoF=A^3c>8@vc?l5>4+s z#UJDq@5r;ODsB?*lot$O#w+qs?yaeG)zvLsSYIb-T%wutQj`bV17ECi!Ip#>BP3!Z zZh?_(i%d|mO0u;<^pIa!dvlGep`xt1sveEni)+y`1Nj#-0%rAz6f`WYsHkc{b(nF_ ztNE|Qu35{Ywk}v4X0pD!9NlR6^|i}c=-(Ac_%~oG;`~{Vb&Ps1t7ez6T-36+tQxZ- zm8$+l{jzIu;RaA$iRxig*`~^ScOn>4U5T=tign)v^f9B-#=DZr>X(d! zOZtT5WZ^SvjEjD0;f}nmz)T&haC2w6KU?IpKP5yv;@F{T&1Ki}g$G zG5R2Vux+S5%oc|SW{9!6IJ6UIt=@Lc>Z@sX{8^1%b7=jo4(ISYwTpZBJGGb)n*OB$ zH(k37*L>zk;}p+IJQV}<6}aMaUK*#Cii@=-sX4VVxZZA|nLhCl5pKFR4#*Cr8siBY z(#!ZC!?iTJX5eD4NkZOqTpzU1Ov@fnsuM^Fg~UG~@5E$Y*>U=SZWAyjNQI z7r>+1LRW)sw9xgSS6OJvpKFmv`I{~DGSF)*{I`PMW}(-B-eaNf1|1zpuTxtOI@Lly z06O17KLmP}g?w>CM0;GL(tj$%KOBDZ(0=AB|I0u>3Hn=D<~Mk6;JyJ* zMxbp=dU^=`!w~wW5PEe8{qqp|SZ+=`V0f(7247sXI{6M&!q=Z*RRtGV&hs7;WJ6Lew1|r|;dMZ= znoG%+MTLOaz_2=)z@DRL;ckw6gG|ApVbF~$QGsD*FqL9~s^=Is=vly33$qX^#28TH z$e1r_K`ynNVe&1i_155?Vm}w**0igMdFb1T26hh+r^>O69rqKTqY?R7J0KQl+7@E2 zraeLgKc5p3(=h*u{w4y0j3Qzo-phzHFlHdmlye;sv(Vp=MtlQtzf$gCVv#21cbOhH zY4Fch$bN?Wl|;n9h?tA_9wO3t2N81CDSC^dw-F(iV?IwEXPk0B3XGU7#{i5!4E+r;M&WRUnM9NF0FjBjRDpv5$SI90S+~qn{)_2>BrnL3)4@^DrMyoTF)96H$3_h=b`ELCnGP zK+)@oNXK49$2mb?i}?^@G3J_x2-ir&PL-c2dYi)ec;rT4P`H42y{7qz;1BO5aj3!( z3NwjQ(Y_QtO(DlPEQh(oSWPQd^bN!Wv^!#=rd29;5Akx0B^6yqOhP&py^NTGu?um8 zrZp+|H44`fhogNEuh6vh#ALK*q6_6rj6*pS<5A8E-vLJ4i1H;Ozn>71e?JlVjtZ9; zqi}>mjI=tqO5BlxX+>>EvE#)~QxVbYZcFgzTNh$P0V!M%Fu$9NNLd|eT=#aZZeG)^JLHVI=5nZO&Km1au5{}gwyxAu z!rR<%cem&xquT88db}=Tu{Wpf)<-(pY!-TykgLTzj7O0Na=&Tu$VC!z z!Psz&z^qjtj`xc zovTv^@8*2?uYAZisLk+u=&SA)3G1@$m)P!nN!KcE}daxH1ok+KuM(T-%1H<_D>zL>l9*t4g{pZ$X`LF6O``AR!`nc{x4!zH+x+r+bjldS_k=u4D|A2!r%gTp%5 z6|lVT=EAaFVjVcAp|CN3UGpleQv6D+@5Zf+Xwk8fQj4{=AUE6|@>E?TZ^xB4&AN9G)! zi+HvyiW^aKc%whTrH#10^LoV8ikO}`GgGX*%x`$!clPw-XR6Ap8h+!mk9@jwiJ>Gs zDbcpozGV_tIm^np%BO#0%h0zBa3ARE6?=DX?7=O$`oRZtFF*KzKcPq)IkmF^@_z#P ztIl9wW&Fy9)xO-0u_6^YBNE?dD)bStA{CQQ-Sphq)4x6QqHjy?;e#V*+~U69pU|`m zyD2X3Tns6bPc4A|6K7tB>mj6Z&Y47!;$M`nhLmgJviVFb)^At3rOQm;4FyKy!Cj27QeKG_$8RLozgjhK9D;&Vs`cA&I%u0T6@1MOfh?2E9^!@dB^_y31s zZ-s4wRots-PLH)#d{4GOQKGU+#8*SX@AJneL zJyh1&6`r%&-?#m>u3kCw8=`mj!M+jM_W8t!-W^;qm2@xF3M9qfx~UkNi}(_NgJDN@ z`SWg^d8?cE&W@%V(DqWWcB*x6ZDMUXjPSH6SUY_k>!q(_?eul5p|UQtBu~ezQ)lYz zM*GQc2BehDnvs3-^nmu0UkB6%f^fLu#x8v71dknvMXOr+-`R$bH?Ro9} zuJPN~{}J5{x#oYHW4bkQcNN1FeS4K~J6)Vr%Fy}WPMmfKdw&@Ax5a6tTFR78>;gi| zo!EJ$=bo1`Jb5o=%+TUD`R|O@hu`8p;9u)^x`J>cot;^Vb%)dGtd1*iS?EqkOO4%k~tm9d%!idx!T@8f>U( zhr?5_oDXh-y$QA&wiwoc&DwdfSU*nL5x@Ms)&aa;xwyrJvT~m(#c$4;ZTP+V%n|%v ziTggj;e2b#TH-cOvXLm#^?2!fzO3Cvkj*h6+XtVMqp>Y+xkALn&dRdo94qv2tKkOp2<3L+1?qZ) z6LFOuhWeYnGM{Qy(z28- z-NkBgVBK4~iFHKlvbHLh3oOJTemMo>lEG!t1BT@^PB9uARnZ zBIr#(Q{FQc|44+*3JJf<;{O%GwSu;mZ+=)%{zVAOc}i)V+NHSmSm?`ey~;wfea*Fm zXM5RYq2s~3$-U*`8B{2m0&v7SkP1Ul71{{wWEh5j0}X`*q_D>WTN6C92gx|6jCLTef zuoz}t34@NvRE#;?-g->))ig9>gGb${G%lD?=_H_pROQ7g&c2rf_aq1EwRfIA<=)&8vYj5{3%QnlG-{UI%imdy2dNC)Mn%sl~Cm< zr*JBkxS+BK-6wB3_LXs@rxw9VrWVf1%_%IIWf*g&%q^LllUq2Y1S@=^3csfkp}7bo zR?HS~;H8z6cpGXfCQK+Cy5w`!RY`aDAO$BbJoR0V^acYz8^AX-GWeC~4{gZC@feef^VgYt=P`3#Sk zg7pH>cFfJQ&D+D}yD-v`b+-kn`hw&P8NHw}6Ov{y}6UxYxMu6h=fm z1Br--&v|=4O>+?uPpWdCMl8THhwkX0w*d!D!+H&H@N~paEX4W~5$j^jK*rDK1d;bP z@nwa3fsC)42)S{%hlyhS=~6sTK$HIfkntP@4xWiU8AQZ$got=PCL;c0K=Oa4uv;Pb zu+ZJF@LPq^c%CzUu2V5y%$y2(1rh6bKO+_)pTr+%+7rath=(`_=_XJOY9Ex>BA~#t%fy2a~ z(ZQwY8X)Wa4q^`WViB>vwt<+3bsC}@`6Nz3Jp#F2)l5u8JrdC#!qHDt&QK!c#1SDU zl?XZMM99e|PQg1Lkn2%}M93*3LeAaFe~ZHH#B1fagZX@!d?PV#C1PD^4{;RM0m*kA z{BbXEz3NRO!VQB=;y8sIZ?N6u11YaiVG)q+Xf6@$rkIHKbORCXsT4^5N@AR*d5Cz} zRx9^9g^dcA5wU2pikN}@@W6;0j(ofX`}7(Zz5?+UiU{@_nCms_o$Gz`et{h-_GlG?3m2J*$v;NSDDF&RmeIO z9iT_l9=_9VeCvMSk0(Hjo)UR5!muS@da&A+5Npn5SGYH?2!}p{sYAl~!tmYUmN~@m z-C;c_+>T;Ak8V%wccX5Yo)l(`JZ`(^Hzx~cXeYNd{jIPXbHHmK?PsiVf8bxUalN4> ze(nCsZU07d|MK`x?|F2EmU3Okrv|hUwd=$>lkMqQr`DFoK;MG%bSrML8(39{vz5;3 zzIFDy6@x2v*Zj)&y0reUb=hHi_iy>4yY@BzUi;?KnDWUTEnjS_9f4ohZA&_z|Kf$) zk~%*)epBRY$CDx@j!>AYaFoI{h3N`26^>Jw6}kM#^Iv4%rgd*=$`|R>$0lUjM?T!C zx%wclyFattLrt*fzxZ+OKM?0)6(^B#5*a6vaS|CPk#Q0kCy{Xyvmz%S(T)36nTN*n zLTz{(@>%;k#8wu$`gqbkGNw|5WK2ZHL}W}v#zbUHM8-tSQaDlJB!yQ;>J#*dv$|bT zulc|2|C&E)K$`KI-w~gT-+}Rijn}%~*f*;?I_kBq&-clB;mM~Op3@C|Y>|E?-?V4;v zeN}sN!B=fVMrZwX+1ocxu3uih?#x}aZRP&8n>XD4SoYDlR|afMd@TEkTN-ZL>AW}l zZxi3R_&={+mECw}ZGLvl-`i@!X54x01BWO7^mi8xKdrwz`H|^qtKT|(=Vafz*|V-{ zDWAMIr+3EgeotnPTEETT^3RRgAK%%yEUD(M?B8sC=+h~6>Fr16{IjIr53b41z4OqE zcV8LR-rh2L&5kE$xBczwFMdDlsp}>m|LTi}6F(f&et6R$ zS-&;smaW;%_s+cWx&d3W$4&J8de`AK*`M1!dvuPcKKoBUx-ZVQ`tNO(d)~ORul>Wx zPki+Fr$@hjr0pm7%sle&Cu=9$_Eo>~>(6YHZ$(G843=Z3BJ^RrU$-{v8@1$HI-G`{ zRDY27YV@zxL+6maLd2(b+XnyaI&E}e$A8vnqq95bX8gq1;!a8^GHlO^+C9QweUiH) z-LR>3;?)NAe_uMG_3Q2|5_d|jakwi&Cnq%(r*-5SvCu*$ouk%mf}!;X4|iP>|9ijI zH2V{~p4gG_U_|Nk(y2z4F+^xuVomu9IlpeY3|9AtNy|7dhVG+HY0H^D37Z+`LFo7j z?b`8DPABK%$G_#1Y2Y=v%(atO(cU7^dGmo%35y|#c&C?ZC*4yMXWrF(t2@J^rCi3(DD^}Q_^gvTHJnFTUM_1@67k9+3DEI8~CqO$=k9Xd`ANkzh zW&Z9MRSEQ|3B8R=zwONbBpc4;L4BmvG&c! zeCv_UHLw^OnSJxrAu6pacYNUYte@450d%(>{*_2=uPZ86FpW%acpSCT^o>YoQ~V11 z2HQsG{o2p>`=hrpRa(4li}OKfk=F;)cm!#D5jAe>gv5w)&ENatbe(uYKJo9wcZ*IJyrJR(g|!g%DzVv8 z9A$$yS5Hl$TO3w$9^E4|9)?$MtATVcgjLz3PH?EOA(Uafp=GFWPHmkG+v>5=nq{F+B)aX^fp=e z8Q(q&T?U$SFVe{P4qE)lAA@&gX=MB+#TK(r5$^;4J9FsEML1b!oWuQDP`Ky|?+>B3 zfcC;R+vS|^Z$kWE521r~C;QgF!G93yFB^Gge4mH#b6(3d?2G$^(6J%(xDYxogy#I0 zX(;cy5c)?U^lH%8p*=hUUZ(H95P$A{aiV@!DgUQK{JB@=cKGwXli~jm;{Pt_L+~$D z{#_ydmN{^AccC-jVg?)Y-9VvGfeo)z2f@z;rk&vvm}lm-2nF>I&KDQeEyd%;oG|9R zCm%x8KL{Mlrsj$RbE)bnWj&%TaIlj_6G6>2^LcX4b4|?Ds)&RtZ$MLE2{z^~D-lPS zS@bJ{X*wVG(i*{UKDqeR<4iYIHv(=;Yv^hwMyYBbk5Zn=#(XcWFPb|ikU*g`5fHUS)0sXu5uIQ@5jSulaRA;|h)CyLA_i=a03)uH^PQA;kTmcU zBIL1;r#wILQlx`;2?`7MBFk|aFybndGZEp~$CG~*aWLjv>5g)JjEIL)GZAuMQOG`> z{2fFLNDmM(4}6OLIkFF@|4_t5bP;3GM*xRG&j0oKL{yEIfV7$hMK4U~eByzAC}Xra zG)eS+a^8%*iHgQ!Lzo*Zvgklw8Wsilt$cj8nFd8COd5U}22E2K%6rWe0vGa;44qHB z90~iO2qAySLz}Nqx@y`j%z(w1qKn~%wAGnj$~O?$7GJpk{jQ@d*6Eu z?r)eL=d_KSJ}Isa`_Wh8lrAmfu=j`J6rm%nY2tl8`Xz}rBmX7&mS;1T1+KKD%uc>D zUM5a<*?mmDhv|m-1~0>EN$+>qj7tLhH%*CJ(qB6I2V70*TGF37`UG~L2VLLn=pAs~ zgLim7-&u(ZVCTZ-!m>^AU2;&5JYBZ<;YIq$*h3e?mAQ0e+_)G!lMk8cNNeqf^fUG1 z4ZN)n(iEg*3gqwKeOBrnANz81{s3JL-is&24VrG2a__T7 zbY}Ee?$dSqqodsZsG)9uc&gj)nDoY!?#`6PEF=cb{K#UB76b-<4(` zU3Tz;W4*dBO3Jfo*ehLEHtSTc@>!?0=e_#nC-M8boc;Itho)gBaLu1 z>c{2F-0;c833Oo%i)<3Of7{AC5>*IcIW=P0#5b`+d!&wK6UkU7%5 zg|k7}CmWtW!LqmZ37-o$TnubCitj1dCfK2{EX(yxGp4OGCdINeSGcE74>Kwa{TrU< zV?UA5%YI_6^KE~0(<>~|@#ibiXGMu-iSoQ2yKf^8JL8aQq*jmLb;91S93>jwJ^bo9 zy-8g!sLRI}+R{-b%P^B37WVm~0WA(uS`Oq6eGN*!R|QKyC2pU8VDvtm4942o=Z_Yp znP>@_(vlL#u+gGiP#Xx>T~2P4NS8C7r9arhZ^ne00B2kXC)15m4|Nq~+B-kTQl>BZ zl2D#3SH8dPf#thMIjjp-OP<%k`(yO<5B%-zKSLXJV*MiOL~#^b=}_;>Xqj*Mv5x0= zM8AcT3g7ZarM-+r-?#kHumhv*saYr|M|a;#Qf(-QQj|y8TU|C?bM=qY%8 zKZhS$@}!P<+&$4ddEa4Wwr z9=3w*xJtC+0b_9*8T$#5FI&Rd*nOyteW)MYrP=HJ3DInSqo+@bm8~+|wbISD%3cGd zgAy9(LL3?IEgI4SrBj6L6`!D5Yp-4_(VHZ9$R5O%KPe9FwF2duhW^GMohC{OB@7v9 zwr_g%`Ud^Mu?}coLaHn6Ri9bM&On+(A0bk723$y8+HtO3)U9e%(qj#=!5A_UexxwQyq5~(D@_HcrIcDfPEqvz+_W;j5EtBGLCgL|*{8mpq zW`XsV@ZHhX;k$eFSc!A?pfV92Ls(It|5DE4?=Por=cM=ng=?C_u#SgKqxadLA1IE-QXF4avRVZW9;*%Msr28=L%=fvg3S|S$6)Nmx&qX z6+7lb7i`esEuI%!-u37s26kNTwVz0H+D~LT=J_3q(+qu7)S+i`{hiQQi|Y@~GM?P_ zZYfJZbNP1@CqPFf&FJ6C>n_aTTT8;q=Rn>y=MF?1Dc2Fxj~o65DKUo}%pB<_w6{KX4zb&tiVu-V-s z?&xK>?~H@X~7^otXAi7{hZxnE#i z`NTyocj63A{wB(s+xxVs_Y>{KS-*`t+;JV}vse?rKt1bNHiYH9O zFh|7pfq!7w7z4jJ=@h4-Mlc0mxtXI_gZW7_4*9dw4*8Sn_8gChlxG+^)ES06%P=xB zANkvh-0eRemSWoojVh5ZnTtQ&9*b2o%Cw0%|9QKWdi9P&{c9Njz0!TH-|^BA?@Q3I zvu*5sXcuHwbkdEjmabpmZjz~SiX7j4`@8;BEf?h&)uzRUck8;AJgxIxe^#`X43{`t zw{Fu$WOqN)w8bCeDmH8n$`odIzjM3o!Qw#csJUHU_dcQ99UEDe&ng#Q@3LG!Wx0L@ zH7UadCA}GNlOYfLqt`PZTRXlg)MCHNr&gv&gDZBCOv}p7Q|O&e<;zng>6T=~a!v8x z9F^A`l%&gGng6nh{?w{tuJ#E^OPYMD|8x3!*}gwQZ*HE|={)iwM$2|p`dO;YZEk%Z zebMz;84W-D9`uvYOO88x`U8K3XGgC8ee?rk&G-)l#@c@tA^z@r+j6R=Oe0D(&dmMf zQ}dpCGaskjy3AG3cf~o{2M)hcX#d43=mzRz&z>ImRfXqi#Po{q_koi}E0CJsAJ!5j z$7IFvq3=aJ6K1Kg=`N&U=wi0y_}hPr>l<*r>7dND{Qap$>sST z2)I*X9ymAT4^XSbvVW4lvVP?6UZ35#JHO8s^IeDXe;kn01>ZIKvklYtJ^0=p@IBzW zO{Mr&QEONGZsD5ygUszL(FU+$ydM3)Hr$=JANCJyo{t{F@77bp5AhyL?I4XiE>chZ z^58*#DztKOFU3c8>-NuEThW#Wbk??B)`DLDDwc<1tCsS&4p3J*gjW0eK3q?x&u6&m zed6o{UTdTO-f_}*qe#&gM{mf#&X^IbS>JV_WlcGLd6m)Zy9Tsb?~Y$=_suz{RsH#> z&6pVo#k-91Hlie^o#VO|u2ar&y#=Xb%H;1~j_Sr$s@#qoofIfd)|vOH*2eQlA~1)@ zH7M@=EQRG<={tC-+XMR|?8~t4V{+)Puy4ZdgS`uO6>JTx2bSl!;un)s>fBt&dHL%sN<*@T%x$oZ%>w>)mHUgHDUDQwb681CL1F&_l z3t*`mTm+j7%W-fVY&7gi1p5TmzjFZUXRya6##IAwKMplU8^f?KU{dCp(~ant&YT`A ze)pbn`!iSRV;gWM|MUHxtN4B~mhs~qi*tGASO%Bpm?o5I7RoF;`L4kLtP)C-4WQ+m zh{=OX!OJ;GT8>Yx#^l44G>ae*j$=lvG5Jiy%s~$0HVqdOW)u_^l*}$J;pZdpWg0Fd zgzf@}<-35D7ppEfyGnegff|${tMr1s2fzAAh72LT7jyn#=fuH8ouBo5^2z-#q(gsI z2wOs--1Kjr^vUcAdHgt!{GJC&;sWtX8BpwW)!~ymE_`f7Y}q(Rp5)`^gq~iOeHgBW zng&;+d7>>+fiQusA2)f$jt0`^QNl=LKr=#qu|%vU@x)ymxGXnJ)HO&H=PX;#kQEC{ zVzb2g7+j*#5Wn!m=`}d5H@KN1=+0wV&C_H>dM~tXf_dQzl*z7Psmpau0e5z|c;v6E zs0@cghc+FQ0W>MT7av+6GR;cDImQ7=5sVkd@s!t|?+jr0iOOf~iNuApTs8!ghw?oQ zJgNBHM4CK^T-J>XdLk9(+0@oj56S~Cw&g(Rzlbv^PksbNiG}mIfh=iI%oh|N$P)xH z1>$t%b0zjj>(ZL~hVM$NiWgEZz>PG*Qxv(iEr|OKeyoPjlbQpC#|Ei*{zbB7UlZh0 z)e(}pb7hJBK+v!j_waeRMcncR4>?NOnn1)Wc#uG)?tHE&3y-|5&Sep87RMETS6Q&` zDonnc(2Jq}LDWz;muDTHN3zHVcmn+uSXS0+^7&tVA2DZ9Cxy78e5LI3K7=kpKb04w!8i9V1@ zYlY(e5Aa=pf&Q!r6qcy33$Tfmd44Y~__-$8x5}akwA+8j?PD5-Q33P6v42d=`35AO zs{_xuCytM#af7AF$B$KVqTjPu((U zq0N;Y8!A79cV8yKRjzu8X12j zHx&q@Yny?=_9yv+XAVmKJr;hZ=YWNN7<9HJzQ;h{V4l{wtuH~1oX=m|D&LfS?JF|bFY&$ zPVo+!X`%h_D7DaBui>62X`Gq^b+OGtQx{;bh30!Lbwo}6OF&bn)1-%j4&FaFe;;(E z#h+`Se9t%ed46s1j0vZBfBx9wKN0@a?KJtbK_^&f1N0;d&AzSDLUW(kItyJ4`WXw& zclY3aRi{=7`ZJ6FBG3Z^?cXWh`7K>+x0IV%gwe%$7JMg`M%~YRc^5{u z&rKn;>B|X>J0PDX0agdi{hGYynipxFUtWys7)3t|x(?U8&*=X$=q6kzDVpv<!(~}-TPXWCg{ihlK4?_GaLH`B*2?$GhH-r8PG@luy zSBLQ59YX&ygx(oK|3?V@K?wbM2;C>pm&o>)970bGp-V#Or6KfBL+D?I(9I$A8zD6J zZJLJV%l(_CA&osg0YjSl?4}`|5khlcr)lUvKZLFep>GMH*N4!LgwQ)cPeK1=*0*K< zHa6ge9AJVS*ylgWA9H_rhn&Lm;^ppcwVhiYSW!}h*ULN)jtPN3WMr9dGzATHrrZDR z^Zt?O43VV_@vVRi@vVRik>*TsE=#633?);PPNv-2F7~!(ip}krB5bAzn<>I(im+ov z*s&t)SP^z?h9+iFbLP&SU6PwKXNu;Ya!pB)Dk>R% zyCR@jOK?J==PtE;<-Mk1wwi#;!?#1qdD^_mox?liTvu^Jo$K85TlZ!wnNhVwRI5qL zys=Qs3SsjIVQDN{T5ip7p7;t!kG!$51v&tfiPB5KGm^vYh?R2RQ^YE{Hz?v3Iqws3 zE6!@6|801WAvVeJb;Rv*Up@J2=nlG(h;VBZeK!%|wKU<-jhUic$1x_uCt&Qv@SMM)dnOU# zsbfQW5)piF0?EgD8oF}~M!xrz|1i`6{W%Xq|5PIU(-h73J-TNpoTMHdphxm~wwn;a?SgOMD)M!5|IvUHW%nu7#1z*XyU!72SwjR{4wf{xEA*h z5&h*u#5+-cM9ABt@EwK66n?ER8htPMhASLLMEOi2qI~j|`&@;bH{yLzNxTO4k)o>= z)+uaMxQtkW`8#4M+Jkamqj0Ulb;NSyL(!Xv`RE6THzHre`DmZY|1pKziO9<{if$%O zMf)OFpd6I@%f!Wao)LeDa#8Mk749Pz;C>`dM}J4W9_^A?h<=zj1N{&2TJ%4}nW!(~ zEcA!OBJ_vE8*u*;i}Ac6&cXAM_ybKm*zL2?uJM4k&%?YSaW2{+u?+2;i1Hmsti=7U z=%ET-#46nX#D!=N#0BX8h{$gm(Sv@FxCqY!q8If^oQ8gpcpds#BI4Ps@FC(7sS7m> z?V+!Zdkx6BQXsJ<>r7@MiQAA?(;&;j48bq5qGbyT^)L$0ym0A; ztZL)~d5+HH0m#~}!VpY(DYz!TosKZ82FUqJNd@`R;6VB5%7c6xdYN33kN$WR2|n`E z^hJWvYy*ZowD}56k7{PjV#q^-rpUC_2?9Ul8*36klaFY#xIYFy@eG06N?7JM8kS{e z<`tKk`wE;p9mXqZOnGSbJ@}e2aP^o>K$9=1Gl>=D?{Nm(nDnt}-&beSkGh5FsWS<^ zFo$vZ49AJoUfc zh3?}BU=r+L*t(rz#<0SRq19ne9s`XWz5C++Lv2IweVDDD0Xw*_fAds_vAOlqfHtKI zU$*DBdj5egieSflQqgh8rImSfna&Dfg8{Mt=o({B& z?4Pc2?D4l3_2=H`+b@OmKl%8(PvzHkcp#|Pef)jZH^AJ>>Fckqkk_;$IAcoYm((GY zf3wQZ!@za07*6zPo61{5w<*>hCIZu@GuPA)wSU@VA2nk`^DXW_``gp(DYKA!dw0gj zG+XlYljG=Gje^rxFeA3i$VPn zxjtU}hHs$Coyo5o(IGC}6aAmaH-=T(^D1)~f{O1rHYwT)cV$Pd^*_( zGp2lXc|;zxO6b1%rDv(T5w*$RZyWb%U$Kh%iTpOsCjUk2H~ITFeY|Ram+eJ;uV35RSJj{CXEUe~g*KD14BvBN+#g{t zby$cS?;}2AU94-^x}8zR8j%BN%V_$uPPF9x$8~7K*u+xAndZ^Du%vP6A5HGv+p|E{nWnc70bG2xb>*9LhtV-EFO^q9B z`4n~bIk7H$9nL$;7JN@HvqQ6aLFw?aIWNUmq}=*w#izH}cjzf;9k!Ir4tt6XTFg!5 zv%Wmrum>mL1;aUw{1#KL)2MrCXy8sWL=P1m*A&kXfA{GrZ$nmR=bwCfd_`$|*<#P5 zWlwu5%HQ-wL-Vmo$bH+F9k|{HJ+yS}?&rNKd#eK??^c)pK;El+<~^^E@e5Jv)zDI+ zu2LBEtS*nBmKC+G_TU>q)K}VbJWA98N+;>c&L_~4vcmTm_v6byW-Dri7Jzvj)kbXr z$IneVrftN^hp~{q4mPH3@yb{urj2LjWgA&>Y#&Y|2EEl~EP>UrO8d-dGzIF`^y{6^ z{w~eF6bF);Vt?D zANvMm_ifWR;v0V(|JrE{^}H`KpzVS@rv1(r-h-Cz{3BeVa_c+m#)*rPdymN#XmC+an9U>Ng_)tIJ3H z@wh!@|M9-)>!Ks`4yMf*I^1FCPhw>GjdslrudJylC$E|F`pJ27a`5zA{f#4D-x9IG zw&l@JKW>QJaMJ7i^fi0bhWVbYp6Cr1ZPeoTclF8WC;DESajdoP)&e7Jqs!>Gwb#bz zt>GIl+S*(B?P|3@=Q7^u3Xh+FZ@Jmyc{grv9U$&Rmg-kNo=p)P{hUBAW2L)r2lmvH zKZ5$kbd8n<%V+r|u>3CBM0}Sl17+*Q$(kRppZ4X`SG@VD_d>_`^h7}Ha(#QCu8apqHwUsj{6*vo{(E1V}1 zY|aza_BDQYoi_ZV%E5RZ4UFF|w0pNz4Vso=Jh|9$;sx!)suk`r#vcE!x;_4vMa)iP zyEv)Sj`8D&9{u#5u8|9p3_s4J))Hljk?Ng)g*qRU6iRw5-)*)b&6pk%>lA!f7zUfQ zbATwZ$Q^(2zo2EcXbG?TcV$Z*>DT=)WJifFDB4eK*JD;jx4hQnj2qlAG~>bC)1AHG z(@SYd@>`?GV_Vkle8^0N9SFC8O^vr^VT9Cc;abh?r8Vc# zBDkQ8DlGdWw5A2OcMDaNW!{EHv3a=xd!Ut{*!Nwtpf*&#;On99a&DMd#({Mup$nrn zkYArzd84T}Vo5`Zxy8GrLM?fnFG887@8F#|udom?mo2F-DXS{Ma#>;}(;?`a%L5LA zu3i|Rm27A`sI|9$nG&VFw0zs%FHw7yEjdZEl(;{9IyX59P+ zAcco!+LXtg1iAkrW|I&3{g-@Ze9+b?W9ga2YldfidTM4vy$!&!ol!7*_N>_@`Lkvh z%%3%LZcd>*(m0@=fxVbvDtLRv;zpuc+z5b}&V- zLfNEYX&pb7DWeLJzBy zq{t@1tEZHDc&T14Rn|KT87Egau%H8StqO$}_kTwv8Xf63&HsiD4dpv0aF$>J1qyG0g%jx$Rw zG~?sm3~6M1^DQ*}xi8)7?+7d$=o-tSF5vIf7J=Sop&35Q!q5B^TWIkjh@H2mZ4WYTWMH<;3 zWm{Nt{myhVs6$v=^rDYYPoBVC=zy7H)P(y|gprB21eA^y*X&^totKZei;Lug+J%`;C-!}L2t(mxRN6!4saAJdZ- z;y(d2t?7R)u1BIjnxy!bgz!_xhk7%n|NSBUzXtud#h>T8n1<>56X*{u{>MW6zX5$2 z`WsWeI4ed8VEA~1z0Tqv?8{|+&4T~^@ZSSo=C>TQX&8QK2)!zVrp^z~;9mw_hJPf) ze^&_o7U)j!f2;VJH`6daEExn0X|a(&xsdLKw3>$W<)HWDemjC|#y=*+KQDxy2l_X- z-~5WdCd9ufgx&!9aoisdDSn=rZW_kl4mt<@pPBzZgKo9ZM?sH4f961&V*0)c2_F^c z8)bc59zu@+Jr?~J`#pxw4e_5FLN5%V8$suw|KW=n!><9o6Lh#xFGYV<3O~koCdA*ObA#8D^D5n#uV-^Td>2wmHvh9vDDZO%LOW%Q&`ud6 zv{S|i?UXS>J0)Fyaad@lqzmnobP;2^&}>N;Vbev}bP+aPgiRM=Gep=75jI2W42iHA zB5Z~T`@f=5BR(A5P=}XLQ_E#xNkK!M`Egv9n^ZLjd=XgcE?^GR`~a}|0bR~h26n#V z1=zAr-V`x&=@R*2-t&JnxPf5`mMqI0Gj>+_B7E9ck{KC2$n*(m0pF<=nd8Q01W1I< zNE=VmtZ+y;XLo+!8^{)>3n;8`y0+&ge!jftOeryi1|kw%7G)U47nB?1?7974FkYK` z9*LoPHzw!#WS*-#fNwURN2cHlO(r4*a+)tN+Y_Am6JOa_B0qv5)Kh}Yfl{q% z%r6wvgx2tATxu3C;EISWu9o1KP2)_CsnNpxGcKgUI?rbP;D<^|4{wV=IZYObI55E$ za6wWOk0sO$F;A6KQ)yt9D!>|;H4C_~z{FfwpsMrAsw;%<&>YOV2-ov{F2#&0L<30V zr4h4Z<;&5EgEHmx79tCYSQM36Mlvm&+X~^r6qZ$#)Il;s1!klIfs_gw@)d9r8fRvj z;W3Aw9<$Iw6@_#luSmZ5)OM)jxup_NNisVX^_??(TX{md%nTTgM-}xx# zAQ5}0PbxYb&(w$}tO*g}&v}wTw`<~D^TBuEy#qA&3{yvC@M^qg5D_`Y_=E4n-dXzh z#ry>6yD$bLjs4i!L_7ll|V!~d6opz#rX+-KZRpi>bPVQk-mB$({qQy^$Ix# zW%}MBB7GclGJTv^VSF0KXiOh|zs5$UG?Pq8mn@jayYwh^z;wBOPl@?Ifg z4>HG|l*joPmgD=x5oix|2jADk`(Tkr@^K!9d@;n4*v~+B@QovGL^_G!6S_Xg?_Bbw zsqgQAub%$*qkI(~=UrGX>xmh1o`LP3^9K<>hb{wgGc3kT)JeI7i1MdS5aV$xmO3KjttCR9&^ZEf-i3Sih3?T5yfczE&_2lrexB_@-Ius<;IB~*M1)(T zQ0NSyjD^lnA<7@_+{3?(I1T*-`JTkN??lLpLLb8LoKIo9&mzvkeNIFt#j{y>pR6Z> zkMkzHFSY@BUpz)!jdT+4lsZCe|IMWDLcIfdA9e#NCminyl*9QG%83C|&QK!cxQLLG zK!ltmBIKk3MSlZi`kx{G2IWnB7V|^I=g_{0kROKk38K&u0&;$Z`AZ_+0C_~{Qc!1z zIuHwh)B&m^wxB+U2=}}~Kk<3Ak0>DOHH^3e{QwbsgNZ251fYmVVJfi#@es>U&dNQD zSdMZgqP$lDDSs^y@*W~09-)JTcsM^pxz8wUCN4mGCLh}G0pf4bu8F@xJ0b4E{e`lR zXvLlb;)_TJ5%Pu364F~l8p!z?%C97%3_Zj}QisXzMY)h(jOP$A;$=BsLw@Qk5%($V zAl9Hi0uF=Re+Qiie&fhA$civS@QWs^WeW=J{|a2--lLliOFrB}=jcR)_l2Xyke4O} zmi%@SFyz}SFU7AJFS=GCKVA8e?^48T8uC%*WQF9Xxg5_tG~<9F4{g3e)8iKKS&f;# zVmKmgb*3Nr#+n4sWG39Zt&dRrb zRL_0qCSOn|qO6V|lKQUiNR3ZROLGZR8u4AT zT|xM6eS!=oez~8{VWiGTo&FQ-pzmv3YRvQ7n~L#`kCiPGuy<4!J4%ORf8ZQ{LXmz| z9)A1m=q>k_PS20~w3y$Vd3Vvomxe6vGCpn5Q$}w^o-E4z{JN6blo z?v$aSr6G1o!L>-bL|elB&DXb}3*Ut>L%-{bwD|tnx80HlUZT6uDq$zWq8i0sx$d1; z%)Ap{pw^O&&P04m>ht15i%ztZEXwn2%yqtfk=*~4l+{_`Ni+sy7ntKjxP6{KYKV3} z_ij0jLDN4k9)dk~d)u^;m%X24IGekn-Eq43O3yFweTOeQay?H$PO^}*z4b~@IpoBg zBgMY{UEd=f%@r%^LQ3K8tap45Ae~mzz4J1|VQg&fYb?gD=@`^Sz9@YgzSg0|%Kd6< zTWwn>7#XG5(I~#yZGSMiGzQ-Vcg9DQ4%#xH)MX4nD(x0Mk}rI0L)^RTFrp!Sn6bp@ zXB_s|Z9D95T+f{5WA|E<`to#&VGHbK(~{hsxAM0TGIGVeQVwn+t#6Ib=bw*^ir;!*J-w&@5ptEEBga;ri5+n+wtI({r-X5 z^p5@hnDy3}#g55)r%yTAsU@B4l$5zUkZt%MK2v{(l+S1VPRS7;+xK8t_67L9wrjxj zfw*%XDt4Txc5d=l|3B4T3viXyo&WAD2^WxnxFm@2=7C-w2}uYqt8GGVF5wwW0E4=c zkOzq-xz{ATd<i%=XOv?*IFp_xT>@JLmk)`JYhtaBC`aI!)>JcgybKF01&EA2at5 z!o#_ba;BTS(`N@*uhFC)W-NVTPGy()uNMFQX!uBqn#;(2Yv_vy@>)bW#C>s!&J1KA zjua7x_Ce_@|H+3bYVR`ZDDU0y;qI)mV5WgBig ze!~(g=Z2+s-tkoR_?ok~pRS%+Q+Nb3+{L>VuIYKflOz4^Rr}HPDA}v_soSZroSU9= zNUu$(d6{WltI9Ru<~;6O z>N1_{dqgdz5oHkTvTi|1l1`*7{jchfDou7x67EZ?eP4jyAnaH0L7Na3mf3C1~O%0d^_|4MnXh0^R`B~&;M20st*EhsM&~v@9 zr9o@6)^oKI-0G!fbUojP_k>qN`WbN~rxsA@X8)0pZ zzi^z#3?kgPU9a1L_hE5m>FQN3mxMBLqL)#i1h>DyNk!%>`c38(v7P1^kCOftlYA4a~II){!P4<{)uwOBxy9O1q&f=S1~rXXJ-%r1uTX z_PjYqiTPV)glGE2c0*a_Z<&GV-eceh@Jc&BGJgjQcTpY#FNS}7XO)ruKQ`Rye+)l_ z!gwrnS*`CH{#OGZFz_wFKQnMG@cRbd06b*iR$z|(NfWS8JtydiW#6LMaOd?&HS)v! z&BPdvG|=0K6KBqpEKiN$PXAB3unG)eM=Y#-?D!exVsi#CWFh)UjF+6?e#1Y%P3YQ- z^;_ML;}QR>kmx#z=a~La;9MK}KZm0L2XjLAWcym7+_0Mr%>LPYhPCctBaASC; zR{_jx%x8}A)w}%P;ldp*yw!!f6xQ)`{Fmn%?*d+oqgSQpp7ZdW3J+&do<0};CGZzG zZdKt2UGAT|FvpR#;q?i*@KoT{IELZI@_)zW?!0RqAs0?YS_g4N5I6J7@nvn8-c%Q!>%tKiu5#fT7mm9y=Rlmsk%P3D{(~-e zjzf>f&1M}#_orR%eJ=b<7yeHd{=|hZxUf_A$oq38A2elnJ*K(vJQwCTwl?&Cn+wNX zc)JU8Ji8Y4#VUklc^`MV8=OA}D4=K)sx#}U9aAvpl5{8hza;sc1}4Zr*}x>jeQ|PI z>XJkYPqtr;)~OwM?dml)B}Vq|QuJYE!<~x-ttcZYTTu$8H^FK#_5PKzrRw-wUKUwg zvTot(XtbHv%gwz#vQRai1|aowEgX@&5Ph2%9?$Lq1%4~T2Q zyD}+7J}1(}hJ$9)4Xcr4v!=}HiB}9MFRK@;UPS&Jg4<43W=B%Ds$eeFl7gg#x6pmp+WanNaTw=(!W26!Qj1vBLP{RKYD66nuUD^Lg*`KGx2ZK7v8BbVAeyfR#A<32U zTkXSOSve($2Xer{HAs*0CUAU|)!>LI*Mgg(L<74AlI405lI41e_TaQQ_dEzPKybtB zm^4VtiyEz_JzQO(!N1)#_;!<@+Y`s_~WQ+sgtYrg>l~~r^z|(K6Eq%XALYkYrIU=biW2|N6Kq)e<6dL z@cdFDUu~4gS34#0y@?X#QL|(N)_JzT#k-*8Np#wFHGLC{hUS-kuV4r8I!f+Di zLnAI)&@TB!K5eu=N+Ubg5d4Yx1+d4I32|LgA$gs2S#fIB!}5?WB(RPTRc?a6RMb&T z44{nmH*5AhNwKN_uj1t9&R#HAdi`on?n%_QFg7PQ&bkcxbf|SAeaVhqU)1v~v@eCm zMm>8*XXZnzj?}1AG1S-Y1?CvCKV#JK+f$0qCf!Mdi3G=`J{_gWM`_a;vRRA}b*>0* zfckXs+K6@fX^{DcM^Er({S9zRw1RwAbjBHW5al+j{AD^ z?LE_}aV7sJS|gN1)=|cL8IIJ$;TNDi#MbJt=g{T$dDEfs_IcN#arSxI5nl*erf`h5 z?fgJq9Ga6MMwM*g^D6XK&4ol2BsdxJP*zUvY5%Urdy~5{OgH%I_O4G>c8!0U*Y~%J z$DS!3l@;wD4)tz@Cb)83-La!no=fc>)4lujRlDAT{v6*I;~t=PkKLy;cI`fW1&&EL z(s5k5i`OL+p~O7^NA=f2^F;t>#e+@T-&{IB`sT8tYwwP{xy1Lk_e9=UdRHXn``+)} z4ZTWwKX<9gL$X@nruIA@^*_S>y7RE#I3})5&+K1-{ifeL#8r^MF|r^RF(CywnK_NQ{k=6BBfGy2Y2 z+bf2OZ@lpNC_E{}gXg>C9ercq37b3ZLJ1oC$2|9&;jZs_qp6wmqhCalzqtAVmUI8| z;^<4*cbDf2pwHu8!Dy^J;weg-b>FA(2o}GJ9gjFw5(p}TRU;e-|YP|FsG%t`_Oj#8Q5m$ zH4x1|(mC%mILZ)r+y2yP_|h@sAtmw=$ET z_GYC-lOJYGeq52;j!|RKgb7=Xu=iRK;=nGiOBq+q?vr;g_jvi)4+WR^5q3+SrovSZTstBs-x*r}GhZ;0 z-x^3$@%?<@E>zYzII`3cg4~IUz7xl7IEr!1#liOLc~r_Ae`eda3kTcG$Eq;u>V&+%!H^K4q5R<8KL+hOU#piF2+CrsmGMp=^1eVo1i#l&lcb?rpCa+SB3S5b%ozE&?7ja6WLVfqRhGA_L13 zI`LU>?-M1J>B+J>?#`8f`0t5b zd8`!fMcXDG4T`c8y(o|eSAu9zAg@BH0{MX85=#=H?~gHbK-gKa9Htaw8d))>5szgF zU&+GPC>75h5s#(Ni^45gp>qPIDAXrV5>OC_b#xXK$INOjtjnERZ&hH71xxMa!u!mi zwYU%+)@3DY%GO0IDoe|hJ;r)re^ce+RgR6ct1K&tXipo!33ljxjm7k7soS8fwzYwZ z0opdUpjUu!%d4?!LP{(xu@;qbQH8)*i6Obgi^YR%Qbj`}c1;K}9yF!3jvB-+^#yQd zx!wXo?O4KYx#kTwH+MFLre<$JNtypTxwEOrYo@#w#>KHOijht|loM=0;LQxb(jFYD zh;tOELo=-o-_%dw_8&{J)ovItd5o+3tlMZf@yyq41&=t3#_|v6i}~ z+GZ#tf)riM^SZoEC#*bMf$q`j^QV}Es>R8LZnpEo`X$ubOW5DG%jN~50izIA4;y&_1 zNF(>OE7#Bpi13U{8jol*ZUx|Xg7Hs;{JC_*zsIV8||9v=j@)xjn0l#m!KaBGfJAA7!prgu+Wjt%^$Ogd zars|{KBhF%Kl}a~Gd_+1Xw3V=`R*Fiz0bg}0l#C!Pyfz(bou=J*6>gFZoHq;NcX)4 z)-IIfLh0WzN!D8m@R{|%-8AG<6a6P!?s+|Rh1a_9W*2_Qg}?8@fA7LSbm4<8?B-_QcDaAx!sKbSVR?i62q;55!G+U- zm*aV3{le>!2h26OX$nVxUjgQwr~A#oZvpciC+3=-eR!TUXc6(IHmSU8GTzU@!Tcs!QyN1*Qur3r9=wa%h=!Xm$>H!4D+eM%bB6Fh$s0 zDq7V-vsd^js!g?~>;{(2h9Qx*y7*ST64-rRY%n-Rn~>`LNqV}BM(3=-B;7ULTN$+dlP$`o0Da82KXbT2_YM7dDT z9bvdWVo1IRO$K4DJP?CLy7x2h7$f#DKS_+QQhKSno!fmFK5heLO zp#A@rpJ###LmR4o^obhs(DTT}Mu&BGSa~It z%kyfnzPow-#!k);{<;RY0$(MJd#C_KkWF~6wZUx@#?4=F|CBJEu`zIEc=|&%FoM6> zZ^Q*>;g{0QUtG#xz6yg|Aq@R}!UUCJx`eoOLgKX(=DVniaJy}z%Yj!=_(Rr(;o83% zbxxuEEy6jRtYREAf5bBrf@FDFBwgOyaL)9ZPnr~b_-UsN-FR$JQrkDOfnXT=p<&+} zd5a5xKl;OKVH@p_QkRvE`{9pV8Xjc})wsxCDkRIG%ZgKL87%KN0_ynOyvY>QrS~&{ zGTNWBmZ@WFhq;ysbjpGS1)xag42 zWlR6@)4;uVM>y8My=&o;$Es&GSu?ATd7rHq^0p^qG&Em~hbBXFa!j1bQQRk^@1C*> z<~3yx)|4)pa`o&iXob%nyxQme(s$1HQK|2i6l>PE`wOH0cFOAs71oxe9NoKcEHq93 zc;TnV?wXSH(V|I(H80orvtK*q`>7}U?ppuJq>myKvzz_1vxT;2j;G3$J<*e5-3HdP zh&2v=?Dmmf?!gKMx#}Pk9g7lR?N7OtlW60~dShU`F^+v|z!NohbYU95fnIB}J2K?2 z#7OHe2F9ox!e?zIj_Yyce(40PS4lm*zdF0gcSNoqDHl21V(aj?va@Tr+lSWK zE=PyY^?R^0giPu5Kr!N?$-}{TS@+?tUs4a|ru9nqthsm~Jax-7JezcDb_T1It%~m= z_ViC>rXsz>>Fgpd?dG1&&ITGMrLfs$jwxYWOuTV)UxR&TFYf;Te?UjShqx7Z$Io1# z)W#=j8jbkgn{Pg`uHB>`j_2^bcg)DS>*;WG>QSj*bG{uw>euA+Crv=in{Uz(@#B+e z7&-Ub8NY!3F1YTneFQ{Z*JI%8aNcKN#^;Q8$oTHDFN(yr_Yvil6^wSj*j#A+9bp>m zuc66jn^c^k$zvO0r>wGneXs2*@dGZ*@f&Rz{-6es#Q)^NKXu{PUHD&J_;(8PPIK<` zAmkjBh3ylT$Lw#S0{_#Ss>?p6P>`hhkD{ZgCzXBe&5_Zq6Wtf{gy$LdCOvy4e7!^K_IvPl@oXpJ~r$Jsp+j6v)Zhme5_oeRgwz z*?(fchW)3Rl&GOZ{{|mzj^QysODGZFDoUhRPnn75PT6l#nC}47>4IcBJ0RJ=+DSQ1 zu6OY90n6*y+S*yW9Uz literal 0 HcmV?d00001 diff --git a/3rdparty/C302/lib/static/libaudio.a b/3rdparty/C302/lib/static/libaudio.a deleted file mode 100644 index c574837449c41d06ff6b08e755aa0ce9d669339c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22904 zcmeI4e|TJ1dFRh)Mz$;~WRfTw#VFw#?5+Zi8QHR}fLo+kc5JG|6H6gZ36&IS9BU&> z6G;XK!lDq9xDc%kaek0>nt=vtz}+fF$<&Ssiz$W%$kzRQ z&pmf^bgg9J+5WT7v-k1Ud%x$r?|a_!p7;E`*RyzS&v5Vd->ZIeF#Bp;-JDs~+`MAt znjpy7EdOs1T(N4k6X>os#w;@?1^IvHZf#xHwSKU7s4v&GVYp{U&Ugu%2Kz^SeBEF< zr7dSg;&?`dV{jrjca4m;_OBZn+}3}yxw-46p8jnEJ$mZt9~tc#9(7McdHc|{v&BR`Pa(leTyoqlEi==J@5qub|BeMis0&X_>9=eB{N zp1#i8@~@l`iuLsLcJ*%0_1@Bz&kc8Nv;MI*ZP?O!_4+Pbdk=5P4di-8oYIh`bzoqq zceZ7rk7iYE!|;xd{`cmnJZ>6tZkplf$PM$a&?umarL(*%Q8@L{@5RJ3%_B-?ui`=~W=$b&N$*k%!P6k|i>hdCn4MQDG%x2tDo zUq34I{mX~m?DzXCu4tr>uga|8Z(}C2x~VA$Rx~!R2uFhM>JO}M-;hWo==b53Fb!q~ z8Pn8Z(<_@SX)x!Q8k26h{DtI1p}76%)zeus@sGyrE7hjQOPTcebUGL>8J<5G6sBr2 z#AE%H)O`ATgdMW#-~k7p;$jLURu^NUP_>+4!Q)~!rjT8o*18Qhjw#UkRL#6 zNo#}FK{rB4o6bUOpj)Bno4yf>p6Nd5Kc6}CBa_ZfGn!S8nQMzFQ%KA=X3_Se*f{p& ziG1*IDU*4)lrV)UllfpNN>7_dO2+J+lzfY+DyGfbi$6Vc=41`^Kh=8q3&w0IR#EQ{ zqBoWOSSgW5zNIjg&fHh3N#BQTN3mk8a6w|MkW5hSEtFY>FHE{nv^JS+ae%aL<8U{5 zq#1K}X#|}nkdFPOMEwl^8ml8rPo8JWdX|tbUg@9brC&jMt<#hA^f16LN=5o3{!Dh7 zwq0astEB8iUou^ovbF{;Fa3bEDYD;W3(0e_wJGsPsU?e#vTw)!&}Ws#oD4{>vcA|m znRNM*oo7P5w1w4Q39X_%PTle3iBt0X95V9#G4g8X$U8~i1bJ21tMdJ_isT(6FExkU zbL8zKufoYib&!qUA#WFXk*=s-e@l9wSC%hxguHh0=EZ#R4bq$ENdF4y4Ro?P?i0k- zQSQgN3*39Si4SulcMCUdX8W6B%$RGZfz@Fj(mx9QE{!lnIP80UlGL^ZCs() z0-Mb4lI6p$sBTf5E4_vSY@BD2|Nhm}X<}XdJKaLRB~ELC6!DhAuc^`om7i{#uIMgI zCCBLRLECgyrfpjGRi$f7CU0#n*4sF}zPKDZKclq!N{Pz~#T5Rxb-})j<+;!H+f;TR zW$eSg2f4Gwk5yJqeh7OMbCp41Dw3DGUiX$v_Rdnp_vzm*rqsqY0d~09 z`~iL+BdwBhqcp`}=uh>*J*9s*bB4Y-o5z^R;tAKrq5Z@fcFc43NB;YJc$PW8{(|Qv z?pgZhxv}KCq^pg0ac|{r<8I&%xYc&A)XwUcp`BqnpW1x+3mbz%@iE$`E>GLg=JTmb zclWsU|AQZWq?9FJ=~2Ji)A&ef!M?qdyXl|F!pDz~f#rv~>_hbVM~)kFT``$0T%dBc zlb0O(_;Hgt22V%vZTNmGX)Rw!70*4~QcSjd{CK-~GJ7XA&bPVeDxQhilO{b`oR`7R z>G9Hhd?h=|zGhrrZO5Evt?rt}M=BFRA(_m4e7*_3UU_uMx2KZnk4?RiGEXi3_Eai( zsFY1V4DXg=yTn$9SaxQv4DQZY;BC>BoFULHNW}1j31V_$}5Ah;=>6uHa(WGGE;GxXsnS; zB50XT(k>}v8k}7fjdxC_&AlbrrgG!~TR~^r3?h49UNPAzDX_-!E{^&i_^)gBGwkx)h)F*jP^;6weiz zdyl6W$CFw^EyVW=3rXp#bpooV>MLH=t0H^v@pjEm8Mp4Tb4a1s?(9+B(#$ooBh5Os zN_>n9iA=|IB2&1aYGQwBff+wxCij=l3Bvi(WG0JMldLNlw^+}Xny7CxH*43@TJ9>w zlzH6MZfsHe(w{#Y#a!sa$)e_(g0ovOmr)y;bWyewVAV^ghw5uwKS`OiVl0u4r8hVo zBAS<NY};adP*`a_a3jy(q7CH{y1*BX&=(6#@zgomrtVSarnnedkpKV3_O|f z(mec7l_^a5b7VB1Vq@{wXUzGy@6Rh>+ zgB0m0;#PB(;`btG0?Ig%WNlrkHm?A`ix?&LNY_58P*mLc^WxjdFXNW%^zVc7%-7L+ zMeDt2&0OL1bZYL!My(MPk4q^_`?3n=|8uKbP8)0Uo%jJ8$L?fpbtmK2cr?609w1w!P0G5@vAQ29ojad0&}r~>Ei_FTzgku(*0fL# zxT-rW?`xEorkqH>#<^#iR}T;$re%_GFWf^s4PV_XzPn5Gu|-;!`+R>1-}YGApOdzg zG_4Ws9F1O;cbN3H81LsuvvZ4A_NPfZ?dIPBM-?OcxfPe)+*$6m+^lo#nyqee7(2DJ zgT`USkBu9~<7hm)(8WU(2ikMR<3Md-eZ%@_G5KXo9K0UlW>8e7|d*yOy-LkH1fPLyVX9Jz3-Y z_!$1u)ydt)jSoz~ed?;qUnp#$4)o*7?A}TC3Dx`Qhso~yj+>VIsdH!X-;!20rsu82 zWS+4*ul+phy0OA}k2(?D>L{umQtnx8Qx(Y* z>$LHr^y_I`Y|);orb6wDO|*eYf30K!^%-#RbvxduO-|kYF7zq( zYBPR_{Lv;^FaEzxdquu^6S_4W|%WTz6{g@j@+*IK%3gT8y5QlW(Bi>fAHwwhf~_U_^CBbE@^p z6K*^?8O@>W#aLgVH_$qAi=9_BhN-Vy=5$5=iRg3q$=5Zrclw@{JI1*3OV>70`5G%! zw+J7w^9<#>c?P$JF`m&}d3R|{`7O#1=eXJVyGuHoiN?mSqFd{W$iDWNEKL;ZW^Enq zEi`8Q6>|5G>0dgd(e-Rd?B8zpoPnNN$608$Ftvm+e>dYqMK}92)_5&r50~2V>{VN^ zBS=p-<2(5nyV-UYic54xap#jKI?rbu-8as9j(M2%pvLj47S;y%Tx0cu3~Qe5@lra= z8R!`2pLut-8Dyv5jV{ge;*s3B)tgSI7Jk$2c{Nw>BEO3LGV2n~V(nSy1?awT9+>^z z`RKhc#hA1if27H;B)!)1jh#<<7gmAmz>HC>X|A7A`Bb@DHfZdN%9ZW%-#78!9^%&4 zM{8Sns?u8L+*_)nKH^J(>oc7DV(+Wf?Jcfu>CE`FcvZJ^tJj^Dj2+*p-&=pf`la9t z>)*kd*;obZrX*(;m9JK3&DXC~XW0|gIcmp9zjUh%>HiG=n2!&?K>Vvc#u$UO4pACs zmp1Kvr0Hy_(~Dp2@7_(CU9Y(LUTL?I=Etkj21twc!J%I!i#L;YJAoEmTCcQlD_#R` z?L8Hj$B0?%oK`h?ODNdh3T|=UCyH~sHoT8nDZUlQ2kbZs8f4#>->K= zcQRd=x_E*;)>NUW^ZJ9_4O!M4q-6s38sMgu@zS~AX6SzKT4*J>Wpcb!07vah*IRUq zexkiDHnPW<>Eo(9XEL0#&<8mStLuBD)JAj7m zjl5CxCerLH)A;F4j9J-2@zfi>P2LT~REGB*1>RX?ct3%UE(NO($uG^^Yq^(Y#!J}C z7*Si~jIbKNYD@^%gUtV*CU5P^ur4WQuj$r4i#8e_J5E*{21e%cx-zG_aE2$u186$ z;CUI(2i&t_f4`p1{m11G`9SZd=A$na@D3$-JN~(LO8Y;5zh}o|7gq`Vu^k^Q#9qDg ziPlYDCr#^_P0;2!>}l}q2|RnWZ}~sjqcz}ZuiyFhm@(Q3o7Pe8vmTGmosyaR?cPUw z;_u<7L!`+@8)H%Y?)y-w9@zt)Y-ddN8DwvaWV`9d=Ke6&vv-xwLDtUu=#AR0iZnZx zdTB}0s+a`I7lXj_3@-6&V2-p?FdgOA8tz7J*5P&yS2c|9Si>=vOzEruKUKe^wbK}T zp5$NDrVOewbHAM1ncq#aK+-|n$x&BRTSG<&`PPvplR zlD0j@r**5&7mUZJJ?_h~*g0|h%$Yr;`Dgotj@=s^gFeIk1ot8C{oG^RdG2oREVuRv zO|4;!X`fJs{~FXzcAxMad>fuM)hW&B-A&fMUyIi7TC=O~y;*)&pK@zw>lb3e?#Xx; zXfjWuYwx5V6WV_ql}xwx7vHsI=^e|2?VJ0{{rYvJ9iBtC-IrP2-XgFBfS8dY+zAsU#{kkR?+&M51F4XN ze*FC2Trj#l7s#<;qo|dF%&w)oXeu+qe{*j1EJpd(+7N#3HQcp1Y8vO`fNz8X`{5Mj zjf{pZ?LOdn45278(%>1@Gw}-5xA`!>+~B?Rea0WIo^G zxbEDp{!xjT!J*M$WM@7e==!`^A)NU%ub!33lXm3=QAr^)r2zb@lqTO|4y5UbkVx`Yl~s z@Q;^o>%5sh=st0avRXIEwHhOO-?DUMS=7bfvUKONV8nh2IL!BA7`$v|h!A-9(7?_e zr0>K#t(*Vv6wsczu)Flw;e;MCikAYMQt<_dkutB7)5WNB!6X~Izoi>6waw=A5@?R>D* zt`W+1N&Bq0e`R~;h%tQj+uF;5#jZ^Q*^9g@FJ?#Cz8MctDaX5$RRdNtDJn*1ba=dF zy|Z~+*iekIaW(IU{-rVOIZQ1#XR&4}x4CNFy0-)kS6y>m&^a_TKxDDv+Q!OUYrxja z^TR{iSXT$F{AY;%(OmE7&fy&2JTG5)`HIYn#^sqcK|{~*j>}0|am8hq*_`E#f$}n| zS2UW|W=iPE_1x5N61;&lmCcv8nt898-&&PeP*I(%Nt~amOl1HGv?XQPtSjN6l=tX3T=3(VmRq@AO3G;dAftbD;FJJr{J^Ww5k9+)2f+sxub?`GD{wDaShyNP-7@TN_jvizzt-+(BoMZDyN8vZ_wW>W zNlc&Juu9yuXTw4ZES9}Z9+tiV4<84w_4NH1Jmz7^@ACL1zqN)x_6qGC@UZfq^6<~V z6P~_bf}i)W2Dnr?zAH^7aoOPEh2V`IJ`X(L;fuigJS=;UdgaTW$=C45UI}vv{0BY$ zH-L|L_%iT|9)2@8&Brj|RcTg%n>?)YYR--F!~T>>&)~Ph-|q3Zg1bF@75H`!Uk%>x z;STU258nWO%EMjYV;;_dU-a-T;Hq+et2DQQmw5O+;I$rBeX^eY^54tn&(!Dr@Mk^# zJHZ1U{v+_1hxdXHcv$+^YI3$$=&$F>lTyOm2mj3YQEC1o_&HDh6X2QgqSE{+xT)M9 z!~RvHN#E1|=tVR5&*1Nl@lSa9s_#AJ2`^#32>))6|I6S~&wKnYfM53TPr$Y1@uSlG9Gvm+ zufd%jPB6FJ?&101{T@CCe8|HWfS>a4#o$Q~zYd%#j~{Nm!C`-7zv@%_x*5C_{(6u9 zP2h}&8^Ieryas%uhvlz6PoMNZ8qDaAobg2s@$iE7#=Lk#R%#|`* z9KVLNgeebfmL+M*f#7gCkR4uN{=ms=&2l~(ZgE%)Dsxv1e*i3ArHg-WEdQYx{zMFa zDTXIv_~{t_Rt$d^to73}Y*6_pz?!ey9DXUrUq#*|x4v-_|HV8j$ZXAFNhh98RI&&Tl7F?=M3zaPUtis1wy&`iD5Mb9H1UgJW7>VuP}4y-kB zh*ReE;3f~h3A`07G08Xcp!L^Uu>6+=YkX{QcpF&jDd|xD9bm1O+8lleto2OZ;m5&R zzeM>*z$wNH*(>?yzyWxP!#@GHfj2tL65VM1GU4zA<+(D9*UP|KzeMfxdtkM59k=T9 z`(UkCo^bMAG5I`L>y+x>WA57(NMZAf0Mi zdwvC$tr1?p+^PAz&Bg1b<+(JhM`H}H14}lN?*ME5e9_s{7vmp};X7k^X6_Hm`(!Nt zi!nU276|#j6U#py!@r2(N^eM#zb=a5%fOnik2-(6HI{!(4EKOF|32pGzcZGli+VSdT90UlPM_jp5E1-T}@a7q##0 zV6jB_BLd84eXhO_3A;<>9gg9z#_%&>y<~{SgTDb2&Sm^};7)K<-f^(zx7%HNyabLe zm6xV(MwhUe{U5x0&5}N|ynS89Ea?$#)Snglvr>PW^kkugI8n9oKiR+qnFSE25{y%u0TLptV2S-=~w|*}tF>zQzqtl1*N} z$gs_4(xIk%J*>B-W`})W6@$1dsW-I9QI!io7p|Nms zBpsc&M{h!H7npVGd;Kscj}e>yGSuuG8OY`GCLg|K?b1t7%hz#3hu*BN+c})=>@Zzd zwQs(%wY_Weh7BF-JG(ktuWVo675=Kl|NjXR`%@}mlg{~S)_YlFTj)3ZVUqZ3Tu;rv z;xCoBmo*)^@b^jdOCc_4y?syH%4^#4&zD3$P4b)koJraI(bm3Pul=TQKiQt-@fYeMv z_@h6we-p-*xyiaCeB0+0>HSKKGfnDt-ZayaRxp+ly{vOD{UUEg$!*~~yeRp)!8tQF zbG>dD+F`YB_!i+VpGB`r-|c9@(I*@|=BUp6C9ku7(IukjUF)dcaU^T8SCsvW&is>{duByB zwCEINLAX_v^Sm2HS=Vbnon(KdGyfzD&+Ve@&jv)#p}tVryH6B*4~hO6XI`R|ue0wY z>+ygEYW;tvT+zem7yUeEXQE$VKOl)v)zHmg}t*4>?={BMZuP}#Xl^f6-!qF_cwK-z{>+Mg6Z=I!6`ob9-g?K8T+9Ai z>EEIg5i|8i@RKO{dZ!`3v_R#THc{%g5t`&Zt=?%UUte=A`tR5St^YcED`K(!D7Pqj z^e#hu%b?=ZSzvM7!!^4mqp z*SigscOz7KyP?UAw39I9Zx`OgxB->?fODyL0!3O|cZW3OnDaY*$0e2Xs%-yzZG>Hnf7+D-Hyh-a67+NHnj(rXwq zC08d3UxUMI9c>pyPp8Z8bLn}}BZ`U3q<6uu)a|2dcbyh}gr()BJz ze$)pJYTuM7<4Tq21n~_`_7ZQx__1U!j+Do*L z_7dGjdx_qR-=V7KgeZPE3cUosq-w#`qehf^)I*iNM40iiMU?txMSnzGi++Z2#L)wy z@E;O=k^bb;pLOYaN2GdBLRIhQMXC1*QR@97G&w+g3sdjY!h^)OF!BDfDDkfkLXx*& zFH~_?CA@?7f!6;o;!E@=`0d|7PZ9T`q>qV`UUiX67scMZqq`k_&{4f}lD!9^vgeQ} zb{~c&Z>8NuNARcUFzqioO1+?(x4P?~|46x_^dr5KO1_8jUifR&SCsK&;9}@$;#>3^ zysHsqJbOYExfey@PccV|KO_1y{Gva{K2hWz7e($lQRGgE!q@Uz=r3q5QR;h-=uc^P z(SO3fF1@}!%x@EYiE-57G0|Vr??lmi$Wgt+l7AkD$}dld;-?8{@($Wx^aJ!urT+>2 zLbO1+qMySLqQ9cQLX+>sZs9}3hv=p{eHpO=Pwfhc?%Mal1kD!URjL`WzOfo{x!A&&QSiG0GLDeiNe9 z?SH-=QTl$jR zx@s4PI7BngZz4hb5nmmAH%3g*sN4+C(zn9piSO2h4nV}G{I@w;0o8TSGGhY!6#j|y zT?G`s^y)eU-yepL_OJ4EXC1YP{HeY?dJ3s{baiu6hrFJ3iSLT=(f*D2L?hdj(FR|4 n+89-(z%BcL*2j@gfacNPCBEf&cSZWn1N(eWZSjmCFXH+Hzw~BT$T?<31nz+u3V&TNb ze$m=#5+3nTL7SG*F#4edf8Ya}214Qsny6H?RzihJMX+g1e6XE8DGVgCF^M8onBVWd z_fk9Qwtj#sy?1=hJ^$~y=icWn52uTn=`Tii8ttQR_mDX_G}OOq&@fCj)%rG!{=orH zU?M6a9U|KIKj}HVf9&AM_@l=T9N2$k{D_sFd?G(-$-&g&c@zD_vYqJ~*4T*He$pD*Dc~scTQ0Bt`|<8G&D{f7gn>Q2#);^+_8&T+X&M&99hxNM z7ACTwD|&c9frP~5E?F7w{i|H6);q5sZfvSm>)>*4sMbUJc_(6=cY?#!ddxiU z+#^3<*7X+}q0|Luqg3l*qgww@v-!8TjcavXo^MF%JI;!68M(H%1R%$Oh zp-V425p&TA=+I>>Ix(Z{NUaQd8T7KFOSusOo%%wusBoP+;Fp-y`ld^+Zz26Gd^+pI z%(L+4wPjtNYv{1|U~?z*E;w=cFLDHNRR5?+^$pTjMi3+X7$}q*^gEEM*0qUhJy>@A zkLZg|SiVyKg2?w`u-yq}9$UAZPEb?SsQq^DHBl0Tc>0=mh<++Q?-QX9#L0?{~(Z3Er0o|RGNE!ALc1T~2U3aAO_(^K<}-~!ekdHxst8z@&A z*FSfy9)WJ=^#f4d)AoQ6F zl`Aokt3MNY&&|!eil+-Pbb_BTYErH-7Xjq26Zz(EhdEpe!zOFO_mzHkAU4|VLA=Uu<(uoffwfNPuK%JxS7R(apfQiE zg+HJU76R>cz&QN%{vFnvwa2=fXTI>8^+tPLh>7_Pz`n}yn*9C~e)fO|`)UdMYso~e znD-g18)Q<@$$P zFKcSg!dAfTF?FTitXw&v^c<-_-E7`ZebB!|U9hpLn?A5cSSxNUx9Xeg%vxd1uvS4%`Rw}e&RUaI-EG(>*%k==xt>t54;TI;SC zJZAzpSu_#$mN*`s4T9c+9v@NhNool!QT7+;Q~ikkXxO6>_;Qoy3LyRBS{Zn-UQPm! zmotawMS*$|=ONUjT4UI_4|*Sm9_kHAr9rxe-`v}ZXM#16LhKa>{WeOz0q})V?m81k ze_y&Om+Q<$M6Wp4;SYOi2(eQ~2)YWepTNA|YyXY7<1ILO$h%>~SB3aGOo)&6W&1pEpV~>0GYIz-v5b%_>!G zR@>yB=6&zZoNbeX_I$>ev1anc)5cUfo3kd@<-z5l?T_W#x2=F2rR}u(;Ux!gXKkZ2 zm&sVAQnWqRx!Kl9k;g_y_Zf-Do;YS4&F6EO>2!A1n93Iod)hKadJDz;6x=gLaMebv z8GEj1;r^D~)!T3O_a)6eMj~CD=>?^K?~Wa6CfR3j&fMMKCnGGAw3R-Y6%D74gok=Z zWW(JXM7UD|!x{eiglU|_5EkTw=%I@$)d-|7g-`^{AZKZ0#H zMdI!9K?zA`tH3(`u-w}=9~LyOmJycE0%I`laQQp2>D{5Jyd@);a>U$QKK6hyH2!2eo%+vmvmU;4DZoyqS z_Z^hg2}KCXs$(7=kw-m&#k;1t#Je+?9u!^V0!(RdXJs$QC&g0Ic z;vIs|#NPn!59)i%M*xZA09+l!KfuHM9uK+l9niyk(l6>WR&(LXZwG!I^S|=uA6YX$ zwg&(58vMi>JhKL$2F`pBd-}_3=4IUnR7Sef(mg53L!%~NeSG!vwTrI-z6SZ)&DS1j z`|@1;?ByNZd z5N;7UM~LR|C&H~FfA`=G!Y$aNs6j&Zh9GVSU4;0L;W+8g^Ao}cL~v=6I4%=$v?}r+ zA_RSr5cIzgZWY1BUCoD3*PK7%juy=iMF^ z#6_hHJcx~3A^a5b%K2WApL%@1@ZcrD2cU<&D##|5ES;XQ(BXprrU$lME{iz2R>3LkN;adGeuL1SwWHmR*gTExJe`F9%Yo z_&I|lTC=-<@KUT7@pjKb;l>qmDqLkWB{{)1mDc}vC@4vO2 BoBaR) diff --git a/3rdparty/C302/lib/static/libparam.a b/3rdparty/C302/lib/static/libparam.a deleted file mode 100644 index eb4560b45923c7e53ca8587ab505b06c50fadd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87772 zcmeFa4}8_tndg6Qas!tT^{TN_M0-_isRq1|fH9@@0#QQ+z5G$BO=}_vCex6_B(zv* z8zm~GpsCW9>0r6jVRrq^x?N_6opl}hn@nXa>*5S!nHkox?M=cRX$my$GP6vFmVJND z_k3@@`Emj6%@FjCkXz#way|w3j;rTGdTG=5E`MCM8B^`}TwashpYiwILCM@06+TP=&|KAII4q*)>9K@Ur@xTksT;`TKidFGbvEMI8vYi(-oI4kvM`6>g} zGbl=Vu%6*;oJDDKa+a?zKFE`V7N#qd_!T`}&5dgdg)Cm%_;7Qf0L%QW04ueS?>Qtu zUs!^l{5-GKA763L-4Bw}+q=3ty3##e#`C$axvQHd?y$u)^tz6Y&vZMywz;jjr`aL! zynEf+hnl?eFo{quI}dhTYFlTG`Bz8(?S*ck@F#8KgTa0?#1+d)gywx@1^~8 zt!?b-X>JO7FI=}~O>@_Hzckg**4DAQag0{Yu&b-_(G{(q_w(U|zL9#m<+qwgE7A;7)u%ja&R#-tYubYht_V9wFD2CSdhsQ`g{5+)jmgC}h z8TImBILsD#;h^P>pBobmQc!NN$|yyP79<>30Z@8)LDI$TUbh~Xi96al8Vh*WcC34- ztvQ$qFV9|41^sK+b+)xidpNdBTiaXLJnE3e-HY2l+t}9XYoW#6!D?UJ9cU|yy8{)y zxI56;gh+)tp6DG9_pAc1r7i9rSEq6t|ra;K}e(M`o(yN{cmA3%w5RB??T$}fTYP<)@8Smj!NLPgI z2}^lafJU;sfP34=p>SJpwyiPV%UVhuL5sjzN*!SnW5GBY&r%xaWrYR#kh$@ZEX7$F zuw;4Po5NG0@e`!8uv@$d68;UPt(~hMT)pPu2b-GLw6-_T>bN=Y)3~mwwd29njh#K~ zx(WoKT_1g@arI{urS#@JM^9LOPF9&n+Gmae zL?RKUX5JGqnDssaET3(Wk}3;kn2SuA8C^8S(twSd9ja+f^*=!{KY<7al3@UsA^ilWQ z^rnX%GNv?glgG!WIdsK}V95q@{* zck;~=1B@gymn(i*@@X4ClIk5QHv5L7rgtb3&kQT=hV;bE(>daoMia;*t@57|l2rzN z_}T%R=Tp~ye^B`so%}|x`~IMTpUTNEqilS987VJkt~WN^&yP>*r%P#4+Wd6QD3Gp8 zf4G%8-a0h8@w-P$C_9zgBx7Fh3CU{#FQ)X&z zpv*KH;iE$9>vCc$Or4v;9-AJTbv68~oXs zGq1zOt`{^o@%eyne4fA8d0mg2E@75vdACuT-+o|8DVrE;e zH}aI#EotbeAIr1Ec=F0@{j3;92bNYv2>0^!(~1JL6DDsvt~8bx2#dL})3p7tj2JQ| z(Dtq|X0zId+D4poiC4VToJdW6`GkJ&D-d@EbgGZ{lRnYxDnO(1kHK@I%ai(bO#Pbj zUr+ffPydzv;LB8h4yVzVlT&|oaU`#{0PPUG`suGNxF%d3E{U6tE5ot4XIOYMEC!k$ zTmz1NY3QT*dRKo|o%?-yD}DAuxQ)0j+@m=4=_R-oxHUNS>1ev&mfHl{rs;Kkx5n$+ zml*Sw`m|rSw3obYjnQ`%M}1j+x1Ts_+r{Z8v-(Z_435%=4edBadHQ8J5gt*>Rc(G5 z@})PT=t9Lc=DD2WqF10XuZX|xFV2tt@|Nmb<*qtcdG?o1JRuqHQ0IkYREK1Ynl}f} zCxb#cO9piqO6QyTbe=eK<_~_Ma+E%m4xIe_@qx)FPsD%u^An`^L(i zNnMI|u5mE+Y*uxs@>gG?iB2_!dg+zE%MAYNQj;IQPn|haS`NP`_2ugVW3rYu1>dr< zHavV;KzB)3NjE9p7Hp(VDNjG8&A=}V_EH&sOA=d$>Kk|F>X+@zO=x&FTatb@8$)kh zQkptBA(d_N<- z!Zp@2z7GEn`jP1K;gt1d0iERA1b(=mE|qhTPGgPqTCg6DQNPpiSHJZAeLjkRgz%LS zW8^f}OjCW`GxH~r2I%AcxpLXGX4&up^y$IMowCFts`l%c8md{g?@v3*zP^m536~mKBgT`gqeOA}Jg59$FuA#{ZuYFJM zfBl{OxDEf}%;s!RFBO|rgMWYK%qz+G9>#@b!>^(5%QaR!tG?ikHT0jcv41oC&8p$w zVeF5Y7p(5}pIl zmyh0w4#;FM?K78G(!SNtBgidIX9kNJ+}O~c9=g@_ajWk-(?c`C6Ui6oEBC@@#pPFn zd%Eym%}IY({#Vg=MU$lePEWm%+g=>YBHrrESgJ2uVjdX0jCiH=>%6YxcO-w)F`rm&#RCOs&>`4`}4^MSl6(D^cbSsT!s zve~pYQ10u{bY^gx^e1JfGK_bWrsedL4LI_x;< zW|e6xZO2IO?B0~sT0oMpC^i{u0k21C7ot&KqsjMUb3Q#Zkub)I*UPA@XaYxgIdq~? znq%?4p(yJK(Zut)ICvTPj3hTQ-(Nl$N4NbYam&*$BVMco|~jh)y7RjX80RL6SFEOo0e4OQt5f|xFN(tHu6O5;t7lu*ou~? zT^Dlc(YjDV>0vyTEb6ZG*dsf0$FOaVVcTf@^z9p^GdNDR(=V3e?!wjLK8kw)Cma9M zIGWnX2XN}^yO@s^C&v1N-{%=fr~2y_%BRvm-rssRc^&!Z@#PiHtIt<$E86SL(SqZr zVJxKlF2@dh%kp|kDApI`KU*_&Um-k|ZhsCSc{Ulf~94ARG6@!QOQqkfgged>F( zGr#{yH_Csv_5VTMUpid=JMiC~_yKwL*315j^WPNW^GD9VC&WkNl=w8@KN{fkZ=Jud zN6hDca9m^hJEi~gMDnH;$CSr!LF4PM-{E&Qf~Ik92XHTy_abf^t{11ZoK-mK5w)Mg zw2uWpw)$iEH2qoqPJKgd1wDXXae4uN-|mVsuE%I!8QMZnH!A#$v)e^O`+24J+MPMA z>s>^fC`qED65e{GUq>y3>9@buD4Xs!co#{x#GUTJ?o}O4r+q8WT1T^Mpr+TZA(&Kp zh&Ed~A>s8^zdj9PM}jz#JCQJN{mtnIbHD7BsXndx+=3r(wd-#BEjfPJe(FW`-=x%7 zyARTf_C-fS-=Zyg?I1`K=DESqPdEopwFTeKE`dfe{+jw#TL_l0EduL8{WOWO2i+i7Y$F`5O*RLWCURu;vq%&J^~=zQ zej8Ff`E|FFvX~SfUr*xU(`p>1&$C83o-P>vQ^HSECVJF=yE@qP?_oK_ zm>arp=oZv*mzgUc?QGWX<~5D$+Iq|lO@z0tG0X3txwNCH*|3LZmNu>@ynA(5tKAGT z-ZoRBv8kymvAVJSLp_OyniK78!X_Hqn-V=O&53oL2urlJu5Il}tXmv)woId+leMTDuZAbSKs{ zwzhFXjGVL!?deFsw#j-oHnfUm(|v8TTdbK{vw3)wwE{r|ThOx|^Fnqoh;!%`~=rp6$-4 zYfY|MK&1xbMGnO4rnvI)Yy*PQ_xRjHHx+J2E)8D88pqn)TRBI`GxyHMS{2lW1J4TQ zzry*iaQ=5Jxo5#jg|A$``0hK6S+IOLKk>M8(IV>m&b#kTtmJIL>Xt^zj7DI))Pk9v zT^(!4PGSLvEUCHG+Vx|YImtP*XC-e*%xLUdI}@Kdw|@A;He}Z9gu;^Z=FBz= zB)ze@@u5}|nZ?hN>X{47go`IGh(#t9l@^ypE{m2&u83S&JSFn}$kd`~k!y;si`*Eg zErxddgF4PXQSiUu;nO^cNXZ1g`wl^V@qOriCBU!`@S3uw6~Rk2-#e>pc3;9=(%TY-arAK(F}wtVR$~#O@QE z)=&GCm|p_t=bND?|4@M5#=qE+6JLJ~0s0C2*1m-Il-Rw9fdGCPzmElQrSD*XpZLe( zE;`H=J|%!pA@1~ieV3SPz^ekd_CIO^_>JHz1Gx4`ngaMd@U{T1ymtn0rKduZZ~H{d zLc+HP!nN>cuKceG$X9yizt2mJ3cn5d z83Fn(@QMJw9=tAqi(gA1zWDWAImXZbC0J}Gg!D@o&vy(Pt=PnZ(TP7XgikVGBt8D4 zYJD<D3?1|73snuqBlbN+-(QN&jqkon9SEYY*^>3d3 z-J*Zh`gg1T%}$!>jd|0VLtXxiY3x-1QCXg|=i~`>tc78v8Jlm#tPEx|K?DXGebB+}}#|oZfb2`Vyonzz9v2o|v zxRo|;rHzY~3WrJ?x6;O~v~eqK+)5j_(#EZ{ajR_HDjTb0E~cvxFAC)d3*jfAy3nx2kzZ6fO7u&o76hUt@kEIoMO)d>rp z2X$VQwImljd^+w3rx!PP8Z#d?>e}lt!2om_B;Ju6s&i{zuecl-s#gk1p z?SAGNf~#1M5hPxNAmOrc1Z8(hZpPtz1V4d2ElB)>g2X>6NPOvZ%U_UmO6Logy(nDs zkYY@j20_MH*^R}Fl`VoyTx2&EGnUC-EWU^_Mv$>RtFQ;IxOZrvypIA;Hzu53-e>dO`BnDcEGpfFSiUg*2%i zrVHYq5^Scv1gRIz_f-CG3xAloqhJf|k339k#Q}@2Bj1A8lV15#FZ%>P!+gQPV}f*| zD0vc`BDj`v5o{;Ff~*6k9c*#1(?KmvP3xro1zV{P2VZvKninb^`vpnk0l^Q_Zv;QY zx&duh{bP$@7x@#Uy(MVF%4eq_<#0fda!F7pf;|rI7o_~+)REvS2Rj8x&vrrh?G;qH z0ab4M1#g0{;Ej}@!h4t}QpdLc3a+Ev1RtTj3zEJ~g7EDZ{4Dc+7ygpN2LzFGSP;6b z^FJoYTIy-%ulZ>4Y}$d~EYdHSq&x&~ru>2GS1p3HpI(O_7Nq^07Nq?oF9kkIdle)- zO9YA6CrJ4A%YdXKez^y$1W8|$gBzUxHV0pFaG!&3J9yH;DfE5un=S|+&0~u{LOKL* zr5_2_(2oRJ#F;NRkM=7#mwx16or6nUc-q00g13-gpxWyeLE85&LFDchq@5oYM86yr z`~u}6_(jT-x}EkVoFIC+N)Z3FU@v-C@NwFY;1lRChxZG@KjZK{4&N^b-9hJn#Q8_x z=h07bu)@JALHKJvt#+Rh{3!W$c%2~qV2R*uq)TuS`a>{9`xRV>UJ#_8Gzfl-`Vw3~ zy8}+^qdWvDpM8Rq!y!S+;fNsP(rLjbDUU0GPtmRfN!K*Nr>P%7@|$x0bV)9rY!6r!i($_oHij8Xp2;Ia=7_|LSUPn}vDM zV`gc$!OVIHTWnTWhY(TEo`uotp=Q?Vjd4q9Qdq+?6ES6$tcJmJ1XUwbx%a_jL zEyk|ahcGp|5%}(&4?q^dO>pE@z<$!~KMYg$xr+aja4CynH_V{zO=P19T=7Lm_RS3r zF9zz_7vLpaw0clAmOe-~#fEtQe7Q+b#hK&6#P1V+B>Y6DaGH*VML<0X5=`;uAD^G9 zLiFORrv*CHL;g{iT-rfD;58LM;1P|U1{}%h)Nehaqub{npH9$En+=>s-=e@!?}lb; z^AQKCj04#-nd$TeKk{ zU`d#Zd9y}mg(*Fqp)Z}n-sBatILi|E&d`@7y)%d=`9$uTGdFWK+-n1I_6<$a+v6=x zus_OPBm0Y-cSUco|Eay$PR_Y%?^FBN{$4P@2iY4QOentb_J_64?(b!453`fAuM~}4 zU#G}fA3C?JBr^KaJ99esp);%gUbXhZQTL^7q@~Tpw`oCUlr-3LfSe)l_Eq&x0sFM5 z2c5A#$0S?7K2`TzKHxe1eh;GM%Rz48RD zXz=64)Wkx5w{sT%GW?>@+jEqTwiep*5G{RZ^EHn>e>?{5_aEDPBJOBWw>1g;gMPH} z%{LOiEX0=~uBIZyw-VZU_{BrC^y!*vpH^o$$-_)&M`M|N&B>pKl*MnJ#ScNqPM6n{dU71w)}L4Ana%BJVaMtfKKNK!g1Ah z!+sS7{Io`TlsevoTaRnOt-{seC{w#%lpNqJL3U=YY~a~!QI>PlW-n2m;at}~7 zSC)K+bL)GL#_=o1Zwh|V(HD-)AbypLt9Xj9eyTQ6mi!iRpUYihULxMNi1#hxeG5J> z9gSvRIHIA{7 zifHF|bLL)c(0u;YdX**9-X23nNfhR z&hq{ZXG1-;?y6AYTJt^;4hkVb0xz(|cK-*Q>|N^S=)qPX+ky3h|AG z(z~eu-)r)`UgbRdSb94Hd{>6}#zK6n3-G-$&+FCW75U!>j%NaVbrvO94rL*}M`@ek za+sIr_3H8J{O<$D4+i+|@pZeaw|I!}_5yqt=6St(yf**)z;P334^1Jy-B%*<1w$n|t4O~=$Br0wyOqlZv8_s{BsRKnB{QtCL;d+}S0+(M7fo!u;vYCGsD9$p>~%CT zM-zjFcM7ILH?qrxmASAo!t_2A@63#BabY@luQbF7`w?O95Z2?u%3WAFVVql^nkCHY z!vURfb>lGl^iBL#KS94Y@T+!wjN@bA!+F4|e?izP>f|(aa2WS8E`!^IlWnsS$GBzB zRV`S|VS#b)7wZ5F>qV@0CwLuMXE5xUiHd~vawlOFM6q(NLwEHg8e9F79qTIR+}_^E zi~LQA8=4Xr*E$c<)!6=UbLm;M&FzagdbIj%!oqwPai*xfxvl$M(KolRXk6Rb*1Vi+ z0t!V4r@Og*VQbI*txY{GXH$o1$>V(;ZR^$+VqA#!k!G(*&gN{4&h$`vtt?`5rxQ9sM3)d4PVe^LJhjd?MxJ1B6d;$hrBC zm5(3qUBmxF&NaP%T!BRFJ7X1jzlc$|H?|eJe zIUw;*=LtOi+XA@4GXY%uH3oQ3#Gae-+kww-uOIBER}I8I5qqvGz&r ztG5TjS(Y;U1NcIIp90H{aOLS! zt0q@FM0Alr&B|NnSmZzUOfZi)L}`xXSC~A{V!P5YMt%0VmQvH}g4HH(zquJezvjE#5mU+AmdK65S5LGGq1tufEmOzw$q*cpvd>^Jz5Da+=rG z#Ge8bpJ{^CtW(IJPFXD+g*xB)*E#HBfx!JD3tIXTBiF9)-^56*KA5{%`S>$QPvWRtlncR|ztMl0GiRxHFla9UOH~`=X-XAV~V8mzBOPg2e52_%?@cclZv6XB@8m zQqjNY@RuCE+u?g0{<6dOI($IzTJkp$`Q#&tUbp4up!B@bQ!5DnItQ0Hn09cbgR2~@ z7reok2EpmZG&z5ohbdz58dj!=e^#G@&v5=~mkK8-Haz9Vl@w6Twf3;J=fAM||dpdRlN1HpkGqUaf zoxPhD>cfA?mVH>K8@G3}>vGy7{fX|U;;?n5XjH4kY4Y~j5#S{c(dxMgr=TF+GzGZF zmzxAv9Dnad{8$vpKcZ9kA_skbEhMbh7e<($3{6y2H7T4P?J=spl@FSGJ|8Rit>}`k zhs${i?(x(U77%0Z(Dp^(@x$8iBW<02kmyj2`NyXd3}nyrLYE?wh_`7`e&aah!Otr{ z%>a6D&}Rbf|HOM7o%S#{D1v)@I{$d#XLZRfx2fg#c(@>~(A{ZsZkapJyKe1W?D4c( zVdM6ASQi@BdNB1;%9_2svnK*%U90rv(0Y&7Z2dhU)NJXF_|Dv|Zck`5{=y=_A&3IlZx5hNe`^^3tZ_@eQ^|3L(g!A)h_K;oa z8dY{0$51!6cSN33DfVngm%VEx>AnAm1!&*r9!>TQmD@CHkIM7A>tlUGSK=2>efOw+ z$I|m3VW>3q*Yj>F@9S$XX|}s##jqA%_dIK6nauE{{%5nLy_vy_vYA1>^UHgDlt*Ux zt?X`1l0TKQ`mpHG4V!D?>tXPZhn&??yX4;tXHN<3+wO`QlvGxg|gVn zTK}G--#Av0jqvVw-M|+69=X>4Vcfn7Nbs!;1ij>F$?c} zo-4?6`4f~~Kkrrc^1dZ$Qui8_~GX&pW178+A>l3ypM8H83oHnWuh{YER{{LTvR5p$H&U#u4n%DER)+w zSFlX9XLK=Z@I{7ptNSBp=i1Bh_k49{PJUfEJ$}!3wtoi?cSFd&OW}0hunZ@AR0_5V zARYFv*`H4*ynX6Z4c_~{df!`jzD-ab()7dh6S*kP=7T+D#?jJ)&>kdSNs>GIpjRE& znXN~)uZ-WIuSd{E!zIvb&r0#-boW^&dWGL3{qPt~J~gEH+K*QJa(Jr0i;tBF57zjn zwm^F&VWL&|UF}Z|iAHgv4P*P*!_Z1zP>$a5odBI*_ThAlQm%6QoZAF!z|FwfeHF$D z?W-^b+OcB;Iy(pow9%6?`6d1>s@SbKllNEzu4_f-&SO5>O+1tMP~CF{K9+F zE1+!&(cTSh7k=>pw?95r_W;!oRzln3(>lLd(0&m=?M(;w(w9No>(jb)ErE7(a8KIp zKi>lF{Ev8ha9cuq(@EkmDhy{MDwF!*{{dtVY51RjWs`U263A7#fBUh1Z!g~QQq%pkI@(%jce{Nn?OAEhoig0~3Vt&}v{lgV4bk2V?Q6)YfYzP|a6CQ= z?fy_2s-b-ozhsDZCbWk_w5(NcuBh3WtAbYhlRxsy#+B#Ch?5QZ-AbGh{HlHaj+T0= zIToV*Ftq=O-~15md}vRFXsM&k3ohO`l!CVCvA9>(uU~nhjIz23dgG_v$@?Jmmwt5P zP_3oEeB3z+rN#LCU0EqDwYPGYBlODao!BEqkGXg^dS@4~70-%?js4B|r15=ZE`8s? zOJ^&@OJ_ZTZF589>~kKUi*U{(*p8jdr=U&v@m*RUhgLes?~B{3ksp84%90&5!RGDs ziOA>QI36`W%tcIkkae%ku>$`0!2dG*BgFsyW8>p|ia6y3;@nRhok=Mw5Jz&nb1CC_ zNsi8q6c>n7PaN<3h>Md{npX_oN1TCMbRV8qj>_AOHa%nKV3tEu5%OCKzj^qD&&-Hl zb%=Huv^u9!Rv=xZd9!y`Wqe*1!{-6wTvQ;=oy4iPGRDVQK%6!BUtAy#{5H1)Bvh9#9{qtv!@@& z=WPygzD}IW3dDim=IsUKR1xRf_+MTi4*WLn3dV8eQ9+!S=jt5NSb2OWNaxDqNzMlB z4*I+JU!wnRDA}32vobndHE$8~0c?SRe(bjTLFN{v5ysz0^7BHH#;z+XiGTH9@ zzPvp7y(?;weMLa_D?u4f_GP4fZvp=@(*7F$?<apd>|D5w}kHRfYU6!EbuVuN1%XkY5RYQT)Q~^33ToBcseUg8BO;ep9rVhO1@)D2kh2%AAhL zL>W%+{Pg2qX3bmc;CdIT6Q_5mv<`Qed7$3!+JfuEX>O?ffhyc|TpVX`+H1(-4&nxI zyKxy@Kdu+oiEF^6aVcC9m%znw1~0?dH>iIxD6-p-hT9^UNO|r9`lMaLn~OS+Cm?r`!qC z+S?N5;nP{CD&3q~%b1sa#-_uU5ld|0%;^@+mnv;r7+*cP zQ}CDUX{z&7cG$0X-NAjB^60}g;g;aaaVi_FL#mvpayysAKDKj7mR(C<3bh^a-hrR; zBi?Fn)7^Iiyt#2^STq}ycJo}$PrG+Ub_eCBGqT?y%{xf*4$jE#AP?U;s(WFVq!_Ex zPYh{Iu#<9E9k7!|nJV56^1CDF*GUOuh4^^q^*owlv+L*&;qxN-(%NGWt`?{D35^xh z#b6OUY0}IGmknPHJQT`boV4qXy-}CH=c0+M)=+egaqJxHUj)vvzM4PB+Rqy3G-x%} zmc?JlJy$h7Ys}-MUFUZ*!&A6N&tD&HIfsm~Gp&CSIMe#-asNzf)dgfs3&=P~-uL1* z;TmuixT1jtv}x}f332AcW%P%C6Y;){u#mo>^T%B{CMzQu{C^ktUvPhg`w1?BAN%(s zvvJtKBaOJna5}5pGy%K!YOh^C%Y z&KJ+XZdSWGSNXLC@@7J^9&qz(^ZD-`ujlt!GTd3%1K5M-lTi_nu?xF1n4dKP87&25 z^g9`y7m$$*$fyg+=nBZ_DIjCO$tb^ojH-Z)W6|;X_+mgtZvh#jPR7gFj^`_@>VS;? zkc`a%8Cwd-NECT>UVi}@^8+%fLNdM`kg=zuGWKDw1htURq?4uh9L`sEEdg0u3XIY94B`pgDQwbxIK8*uf=l7b za9k8^cH=hT^xmKD9XM5tEs5KK>%paPQ*cMHHFb7Yd-)Bx3S1O-5IgckTn|p?ZDdzs zsdG^Pe^OZLA8uWYvMu@7)?Sf4 zC%Icb?8()B$6Y6$7&6&sphq@5{&Dh;SX=bIuVOxb;P@%<{*QZi8tXl!-k7IfmRvw) zzwVpn9VK68;yf}(LNbqqWTu_WENiXj%jcGm%sn&CozEYIWM)G$6HaE&1!Qgt$*en% z%r`?a4~1loPV~w)b^)1BhwAg~51l)ouZ3jp56K*GGIy}nd%m)LDkQV>JThMi$=n-~ z+3#c~FCg>Dkj&_LWPT?kb9YE)gOjN>-Sg$MFC=sO2Lok$4Sj|F>GzdyV*`8r@xbw2 z{2uE!e9OYgtG|G}jUjo-puAAu{CX&l+e3LYPUa{!<@xgXL`deo8v=O@$=n>0xg{j? z-~_MD_FX{c;~|-=&Li`SA(_1)nHeW@$^~ThhGZU_e(rpBg=F@GWOh24FJXh8uWY{* zlG%G6nQKBaTS78ZPG;%?GQSv-S$-aw4}@gahh)Z`%tP3y=ga38LNZ^x{@i7IcSvSB zBr{v$wV{>^$lMT;IsZH|7lvfkhGgz`GEZY)o-d!>A(;oSJ9j?kg=AKTWcE6lvYXE* zbA4z`X*!S08$&WHLNe1%=JX55>xTh(dqeiGY@?H`)9%Lg z;c9VHaED{qrnoko&L!)>=ONZ`x8YiFGjOM|nYE^?bJHtvGjK<-m-pf};L^A_PWJOI z+00LQ|ESMt76ZN z{H9^`q)lgPBFP2z8@9ZAJbWX2V58bw9N^4gHZy!UzBBi{Db9Xt{`J=GE@nKR;KuP7 zaNK*#?5$m5kLZ4SkTuj-bOvP_`Oz5^&Z17W>x6M{o$IT~>$B6``@1Z`llRQbvk5VRC$^@QuuX<(j)sJ1D)m;e116#5SC%5RvFTUDFUs1Z<~5Y{2(MV!dCu*?yKz%+_u(GIwcsAXeIB>@namVAGeq5r#2YX*U`YIF6%8ndmJHdj^+ zA-W1j$F~_QT?KS{mwSGQF6rn79bFQ-zkzN_h_1@f@lLqqR|VYx=ydl&Fn!gIj(5Q= zT{U$2=GMUw-F!#K_Yp1KeCS?=?xhf2t)t@`F_x|ty6-@@DMVN2=>CJFtAlPAbWI_; zC64a*9o-V>z6o6_M3;7Sd?UunO+(iY-Lw$hN=NrqN4F9>?GK;QT0)@SRyn$-9o;JE zHb8eML|5wk_xlN9))zLLU_i5-_LUb*T?m75g60hctQ`Yq%xHU z`qA>+0No!#C*2m5`vph$6-W04==4n|>9!!<7aiT>j_!-ly#SqbTafNcj_z}g?n}@; z51n*dkgnI!t#x$0(0v&?>9!!<FF_~W7NmQ^(S5?vJptW1=%m|%bQ>KV zZPS*^M(92Ropf7}uFugi4q3WB=o+DuZVS>q>F9Ws&(b{!-Tlx>w*~2*a&)sD-BZvl zg-*IHNcXg(`;eo18oEW$Nw)>*Ho11Cy-V2&n`l?JLMPo8q}$@?E_ZZWpt~75>9!zU zzoVPv==!0%0XpfnAYG?RAL_l%O z7rMX1yYD0%=Z=o9wT*nND0~CVxnx}E9+>g`xqqd0-P+DV>|LJEqCamz70LrLxWwIl zhv%$ZoP)k@&b;+^b`(ffA^PTaNcH8d0=XzmzkKyM$j_DMg{?h>n?@o2&Fvkn-OZKfynAYVx~ms&(d?Tfosuj|o=49|{GfL_ByM#+V&)J}Tc{(M@8GZrp8SWA=*fB*SXB;GJZmb0h7$qV;;;1xf9lXkMNQ z(&iJYoV=TKhUm_FCz@#AZJr9yUXb^@Ed%i$PkUb0_I|ifnH8*E4NIstccy62<^1fBAipG^s^Rg5A#i>tU377m6ooIn{~Ou_^2{v^?)cFZ5dY9^e~{ZCZ5+w#>}g(N+yXjrg6CAVeTC3 z7f=u5<CScb#~gl-S?=C@y2+YFi|OD|mjuX#0h zEMBz?4$cZTRmofDiQkwp&F{RCOgmZDNgb1SAO@?^r$d)viz*I%;`Rl1FSAKpy4e1p z2p3rX&iFJd+Pm$Sd>1cWRhi@<`yHL#8a{|SJ9$TXg;G9yuKmHqiJnho%^c6Cs;1KO znOig0`!SDZ1TnJnGeet>D$NnaYmR;>Z41|R+jiB%a}*#JKF_;(;CQ@&px z;j9_jhowsM5)<^ZpDC#=j*q^Z!Cp!J*~_NL+0W>0haLSfU;+Y`80@oS9DhGOCgp