ࡱ> ` d*bjbj .PA""  3333D4L E^2X4n4n4n4n4M5M5M5]]]]]]]$w_ha] 5I5M555]n4n4]BBB5(xn4 n4]B5]BB[ X ]n4L4 lF3;H\]^0E^`\b?b0]b ]M5a5Bo5 {5SM5M5M5]]AM5M5M5E^5555 )$ )   Ahead AAC Decoder library documentation Version 1.0.2.1, Menno Bakker ( HYPERLINK "mailto:mbakker@nero.com" mbakker@nero.com)  API specification This chapter describes the Ahead AAC library API functions and explains how to use them and in which order. NeAACDecGetCapabilities unsigned long NEAACAPI NeAACDecGetCapabilities(void); This function returns the capabilities of the decoder in a 32 bit unsigned integer. The bits that are set in the 32 bit unsigned integer define with which capabilities the library has been compiled. The following capabilities are defined (../include/neaacdec.h) #define LC_DEC_CAP (1<<0) /* Can decode LC */ #define MAIN_DEC_CAP (1<<1) /* Can decode MAIN */ #define LTP_DEC_CAP (1<<2) /* Can decode LTP */ #define LD_DEC_CAP (1<<3) /* Can decode LD */ #define ERROR_RESILIENCE_CAP (1<<4) /* Can decode ER */ #define FIXED_POINT_CAP (1<<5) /* Fixed point */ This function can be called anytime. NeAACDecOpen NeAACDecHandle NEAACAPI NeAACDecOpen(void); Returns a handle to a decoder context. NeAACDecClose void NEAACAPI NeAACDecClose(NeAACDecHandle hDecoder); Closes a decoder context that has been opened by NeAACDecOpen. NeAACDecGetCurrentConfiguration NeAACDecConfigurationPtr NEAACAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder); Returns the current decoder library configuration. NeAACDecSetConfiguration unsigned char NEAACAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder, NeAACDecConfigurationPtr config); Sets a new configuration structure for the decoder library. Return values: 0 Error, invalid configuration. 1 OK NeAACDecInit long NEAACAPI NeAACDecInit(NeAACDecHandle hDecoder, unsigned char *buffer, unsigned long buffer_size, unsigned long *samplerate, unsigned char *channels); Initialises the decoder library using information from the AAC file. The buffer parameter should hold a small part of the AAC file, so that the initialization can be done based on the ADTS or ADIF header. Buffer can also be NULL, but then default initialization parameters will be used. Return values: < 0 Error >= 0 Number of bytes read. This amount of bytes should be skipped by the program using the decoder library. This function fills the samplerate and channels parameters with the detected values. NeAACDecInit2 char NEAACAPI NeAACDecInit2(NeAACDecHandle hDecoder, unsigned char *pBuffer, unsigned long SizeOfDecoderSpecificInfo, unsigned long *samplerate, unsigned char *channels); Initialises the decoder library based on an AudioSpecificConfig as found inside a MP4 file. Return values: < 0 Error 0 - OK This function fills the samplerate and channels parameters with the detected values. NeAACDecDecode void* NEAACAPI NeAACDecDecode(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, unsigned char *buffer, unsigned long buffer_size); Decodes the AAC data passed in buffer. Returns a pointer to a sample buffer or NULL. Info about the decoded frame is filled in in the NeAACDecFrameInfo structure. This structure holds information about errors during decoding, number of sample, number of channels and samplerate. The returned buffer contains the channel interleaved samples of the frame. Structures NeAACDecConfiguration typedef struct NeAACDecConfiguration { unsigned char defObjectType; unsigned long defSampleRate; unsigned char outputFormat; unsigned char downMatrix; unsigned char useOldADTSFormat; } NeAACDecConfiguration, *NeAACDecConfigurationPtr; Members: defObjectType: determines the default object type assumed when the library is initialized without any data from the AAC file (eg: when NULL is passed as buffer in NeAACDecInit()). Can be any of the following values: #define MAIN 1 /* MAIN */ #define LC 2 /* Low Complexity (default) */ #define SSR 3 /* Scalable SampleRate */ #define LTP 4 /* Long Term Predition */ #define HE_AAC 5 /* High Efficiency (SBR) */ #define ER_LC 17 /* Error Resilient Low Complexity */ #define ER_LTP 19 /* Error Resilient Long Term Prediction */ #define LD 23 /* Low Delay */ defSampleRate: determines the default samplerate assumed when the library is initialized. Default value is 44100. outputFormat: determines the output format returned by the decoder library. Can be any of the following values: #define FAAD_FMT_16BIT 1 /* 16 bit integers */ #define FAAD_FMT_24BIT 2 /* 24 bit values packed in 32 bit integers */ #define FAAD_FMT_32BIT 3 /* 32 bit integers */ #define FAAD_FMT_FLOAT 4 /* single precision floating point */ #define FAAD_FMT_DOUBLE 5 /* double precision floating point */ downMatrix: determines whether a 5.1 channel AAC file should be downmatrixed to 2 channel output (value: 1) or whether the output should stay as 5.1 channels (value: 0). useOldADTSFormat: determines whether the decoder should assume the currently defined 56 bit ADTS header (value: 0) or the 58 bit ADTS header (value: 1) defined in previous versions of the AAC standard. This value should normally always stay at the value 0, it only exists to provide playback capabilities for people that have AAC files with the old header format. All current encoders should output the new ADTS format. NeAACDecFrameInfo This structure is returned after decoding a frame and provides info about the decoded frame. typedef struct NeAACDecFrameInfo { unsigned long bytesconsumed; unsigned long samples; unsigned char channels; unsigned char error; unsigned long samplerate; unsigned char sbr; unsigned char object_type; unsigned char header_type; unsigned char num_front_channels; unsigned char num_side_channels; unsigned char num_back_channels; unsigned char num_lfe_channels; unsigned char channel_position[64]; unsigned char ps; } NeAACDecFrameInfo; Members: bytesconsumed: the number of bytes consumed for decoding this frame. samples: the number of audio samples in this frame. Each channel is counted separately. So when a single channel has 1024 samples and the file has 2 channels, this value will be 2*1024 = 2048. channels: number of audio channels in this frame error: contains an error value if an error occurred, 0 otherwise. samplerate: the samplerate of the frame. sbr: tells wether sbr is used in this file or not. Can contain any of the following values: #define NO_SBR 0 /* no SBR used in this file */ #define SBR_UPSAMPLED 1 /* upsampled SBR used */ #define SBR_DOWNSAMPLED 2 /* downsampled SBR used */ #define NO_SBR_UPSAMPLED 3 /* no SBR used, but file is upsampled by a factor 2 anyway */ object_type: contains the object type of the AAC file. Can be any of the values as defined in 1.9.1. header_type: contains the header type of the file that is being decoded. Can contain any of the following values: #define RAW 0 /* No header */ #define ADIF 1 /* single ADIF header at the beginning of the file */ #define ADTS 2 /* ADTS header at the beginning of each frame */ num_front_channels, num_side_channels, num_back_channels, num_lfe_channels: each of these values contain the number of channels of a certain type. channel_position[64]: contains the position of each of the channels that is returned by the frame decode function. Can contain any of the following values: #define FRONT_CHANNEL_CENTER (1) #define FRONT_CHANNEL_LEFT (2) #define FRONT_CHANNEL_RIGHT (3) #define SIDE_CHANNEL_LEFT (4) #define SIDE_CHANNEL_RIGHT (5) #define BACK_CHANNEL_LEFT (6) #define BACK_CHANNEL_RIGHT (7) #define BACK_CHANNEL_CENTER (8) #define LFE_CHANNEL (9) #define UNKNOWN_CHANNEL (0) ps: PS not used (0) or used (1). API usage The following pseudo-code describes how and in which order to use the different library functions. unsigned long cap = NeAACDecGetCapabilities(); // Check if decoder has the needed capabilities // Open the library NeAACDecHandle hAac = NeAACDecOpen(); // Get the current config NeAACDecConfigurationPtr conf = NeAACDecGetCurrentConfiguration(hAac); // // If needed change some of the values in conf // // Set the new configuration NeAACDecSetConfiguration(hAac, conf); // Initialise the library using one of the initialization functions char err = NeAACDecInit2(hAac, asc, asc_size, &samplerate, &channels); if (err != 0) { // // Handle error // } // Loop until decoding finished do { // // Put next frame in buffer // // Decode the frame in buffer samplebuffer = NeAACDecDecode(hAac, &hInfo, buffer, buffer_size); if ((hInfo.error == 0) && (hInfo.samples > 0)) { // // do what you need to do with the decoded samples // } else if (hInfo.error != 0) { // // Some error occurred while decoding this frame // } } while (more data available); NeAACDecClose(hAac); ./;<=>NOtuv  " # 0 ȴ{sskssY"h:dCJOJQJ^JaJmH sH h {mH sH h+xumH sH h:dh?~mH sH jh?~h8h`UmH sH hcq h?~0JmH sH #jhcq h?~UmH sH jh?~UmH sH hRQmH sH h:dmH sH h!#mH sH h?~hp5CJ(aJ(mH sH h?~h+xu5CJ(aJ(mH sH h?~mH sH / # Y Z ! ` a D | gd:dgd?~gd+xugd?~$a$gd?~gd?~A*c*0 6 : ? X Y Z ! 8 \ ` a      9 > G Z c h | } ~ DzoDzo"h:dCJOJQJ^JaJmH sH h:dOJQJ^JmH sH hRQmH sH h:dmH sH h+xuh+xumH sH h+xumH sH (h:dh:dCJOJQJ^JaJmH sH "h+xuCJOJQJ^JaJmH sH (h:dh+xuCJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH +   9 G } ~ 9 : m ./>`gt01gd1egd?~gd:d   $ 8 9 : m r glt~0'+09>$%ǿǿ}uuuhrmH sH hRQh1emH sH "h1eCJOJQJ^JaJmH sH (h1eh1eCJOJQJ^JaJmH sH h1emH sH hRQmH sH h:dmH sH (h:dh:dCJOJQJ^JaJmH sH "h:dCJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH .1@L%&5AH01XY>gddgd?~gdrgd?~gd1e%/01XH`fɷqqqqi]iiqh#hd6mH sH hdmH sH (hdhdCJOJQJ^JaJmH sH hdhdmH sH hmH sH hwLmH sH hrhrmH sH hRQhrmH sH "hrCJOJQJ^JaJmH sH (hrhrCJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH hRQmH sH hrmH sH #>\Hy*r"p#gd#gd?~gdd-G\x%q)Cq!",puٻh#h#mH sH hRQmH sH h#h#6mH sH h#mH sH hdmH sH h#hd6mH sH "h#CJOJQJ^JaJmH sH (hdhdCJOJQJ^JaJmH sH "hdCJOJQJ^JaJmH sH /#  P Z y | ~ !)!B!]!x!!!!6"7"B""Dz똌xpxphemH sH hwLhe6mH sH hwLmH sH hwLh#6mH sH h#mH sH "h\ CJOJQJ^JaJmH sH (h#h\ CJOJQJ^JaJmH sH "h#CJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH (h#h#CJOJQJ^JaJmH sH &#>Zs 1Vz P y !C!y!!7""gd\ gd#""""#-#^#_###$$%%%%%%%g&{&&&&'!'<'A'b'ٽr`r`r`r`K(hPUhPUCJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH (hPUhrCJOJQJ^JaJmH sH hrmH sH (heh\ CJOJQJ^JaJmH sH "h\ CJOJQJ^JaJmH sH  h\ h\ h\ h\ 6hemH sH hwLhe6mH sH "heCJOJQJ^JaJmH sH (heheCJOJQJ^JaJmH sH ""#_##$$$$%3%T%u%%%%%&f&g&&&&&'''c'd'gdrgd?~gdeb'c'''"(2(h(i(((()3)5)+*0*@*A*B*W*Z*b*c*d*ֲynjfb^ZnhA,hhsh?~h+xuhhmH sH "hCJOJQJ^JaJmH sH (hPUh {CJOJQJ^JaJmH sH "h {CJOJQJ^JaJmH sH "hPUCJOJQJ^JaJmH sH "hRQCJOJQJ^JaJmH sH (hPUhPUCJOJQJ^JaJmH sH (hPUh1eCJOJQJ^JaJmH sH d'g'''''''"(i(w(y(}((((((((((((4)B)C) ^`gdgdrC)r)t)x)))))* * ***+*@*A*B*C*D*E*F*G*H*I*J*K*L*M* & Fgd>vgdr`gdPUM*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d* & Fgd>v,1h. A!"#$% DyK mbakker@nero.comyK 0mailto:mbakker@nero.comDd:$11T  C 0ANeroDigitalbf9xEPM  nf9xEPMPNG  IHDR2gAMAiCCPGray Gamma 1.8(c``$WR~  |B@TTd` 24\PTOJjq2H ;(Xd$e= vvH3+Iep/,L(QHT0TpLOJU,.I-VK/*/J,IMSpQ)/VJ-N-* 2@~JDC= PCXCa(v!ɥEepf<Å@ȦtPLTE  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~]} pHYs.#.#x?v1IDATx^m*; $  H@p$  H@8gYMtḭ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @q  ;\@#P Iq"z %@\*jcJ4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf b *jc 4 HRܩf lv'bػ{ 1r.O=;7qq`爱Nbz&bX6yG\!>[,:Zʛb1O!ׂ^. ax*;@K+踿JF^NM˫xp|ϫF&ˇCihJw_BYg]5yefyU󪈧3gӛKM'-b_dռ#y|ܮfy_ZAuU팋,/u\`ՓWĻIrxroa1a|wj>ԱiIzЮP.Ŏ<ŋf",}p=U}P-WY^@e}縵웭v!z?<]q.vd]:|=iK=H_?fmK$ j(CS[UzX#^p3W.pPw5쯦_dbG 3$8Onq rS!F<]8}HajnlŸWE躚8c'1[탾^cT؉Y^dJ2BAgۋ󟯩_)gJGkΩV<_Gep4}*1>k]/Ǎ)RL({1nKt]GL?_ҼٺCۺPHBa ݲ-_\%rNpoKlzol4]&8gm``rޤ4%GFW]W*y[W ػ&h˝ڔ[!a3R= `JQ똶w4/1wuڸyVzRn^&뉱'Sǔ7ː11-yxRtUQ.#r`&0Ϸwzc8hKiox_^zͨ_2Jsw9G˶\R_SLTĸӘ\f^rx3@X by3"]ȱ mf5n{ʝq׀Wo:du>b;K- ?;vzʟ^/'R\.^QxU.%=6b|o]H5vSeS?-ĸ!z ݰ ̯lF}WoL^Ft14ϔMKԟKw)c8n;]]"V muUci>IO+anfc/]Jqvy,% PŜէ̈XMUCcO;o4fqOgZInyhU&A $UvO_c8]cvT'!~nP*5KGy˱n b-Q zw[I;:z T-qg?d4E^O .`nL3.A%C"axݠ4$wƞA^e`RzVl1#Qު?25]"н ,٤>uEd1noLdT!ڃ~bMhTѱs1W RŸϐ3hevxjψø_qSsWsjb(Q+ I^R Dգdо+9iΫLN"~]zbܮ68܁Gƺ5z ;QxonJH$jdŤ1c1>7y\1,=F5Žˆ-1jIŗP2ָ+ǩ(a19+l}$<(C_KÞPcbRCp׬\CQ6XME3AW5[QͱW1n{f4pg+v⃪ Jn&cۖ苦GxW2<VTwB ߊqO}+E sĸ1uRU.ki5e?CSkcjn;9)s‰ 'nF=K1no߫ ĸyɈhBF6xZgŸ}q<&kZbB۷_վ0mC1ޛ/Ę@h%F ĺ3œަbP>1'^x.M+Y#%!o8m(rߪv'3_[{#0 =vKͳc8_V1G9Xqu5Eob|P0θe+ԄjӍx 1œRϼxc._Ql͉8bG'-+[+xUًa1^ί}۞O^ν #^ owpo2[_bbbů:XK SS꥛ccM&˕7v;_OHfC/f^eM.hszObHޤ{1>άW}Lv;H8wC:XN:EL~d&3Ę#p2隚=2w!ƎMS846"5#}+H?Tl}>xK D}UZTGIԸqR$_"_yUA{S]XwSԢdh^Xu$F]N4QBT1^X3j_Jуv3^ĸĘ^z^MτB1 ޴D^=?hև{9t3/MM G /6C^QMjOt"&^^͏9=o g]cY_Y1!~ *^nMqBC̗,c%I݇/K6j0wPu;1u쳮,'؅7v/%GKvv.b<`D7f;՞?k[eύ®[X S3_@CQ1WĈ5vw>eMگ[f811vwc>6}@(m1, hNdO$FgXqE ۺta I/ ƽD*O٭1Zqqa{13Jvkƅ1st4| ZAqa{1X-ؾ yPc_D:1$Pn "gS;q%f1剀4,zp'"hՃx>#ut7TM-*j]kƮp bK'1Zķ\gʻŜ# %vaX bO2=Md8i.Z^}tD`ۺLME? *ӴV bLM`mDQ6nFC:2c bo^B xc?w +G$2$5jAp)R^uU^I78 qަxhӗc#"jA1΀۔UH_>Cc@W B8ZoSΩaD:-Dc]BA1΀ݔsyZ,֛po,S﾿8@?;@@sUuD ΖW ~s~o\KcQ08<ֶpf R99-vH>pʭE+cШ( b\tuޜS:fF]ӟ@C]jlN M26UWz/V}P.wiw:"bܺ&BqڛDxyIp9:ȝnM_gHE&c6ݻKaATW"Ɲ0'vGV.: xjxCy.]>ݵ}2Agۇ)(Xo֍'?.Mud*ivX;ɲP+J/};_cRn?x+nzYoO9t8?@(~8rH=q뱗}#(b낛Hw?6敌-.)8%B>~Wմ-i!&nOc!yaV;0^o鰜9%uf?g8=: .|zfqbGիtPv#w 1iYv>O?$ISԂQ!=;vw&{c#4>ܮTԍyT`Eu1A_X7zPײn|ABU*?kwTl'r9NO!̓߁=Yk_?$K/OO~rq>[յ؃#n?!:py5?{ 7uBCO|w3?=g & ؃7A\$㚟79 n_n ґbR~ Ehoܓ$oyd_n<=NAU^XE4g'֑x8.R9~4vNܿiF}oc]OK2L/Atvӿǟz] 9^-m'D߯  `1^dsun|li]~j/Vs^Kjƍ壋t?xq3Ǐ!?c'տ r*̙ԯ_O{vkBWj\ָmuzp16{}W['7g]JkǶkϫ^opkc<۸˞X1vu*uEN'l? TZZKkZ",ƏC"bgvsy מ:i߽ϷǼ~`8s9tR}ـ|N$ Uk`1Y75}hܧin}lwwmv׻/ۑWXM"+>iC"DmavةJ|ݴiG+ W$ UkX1ŞG81^Tߞt)Ƌ2 kON'Rnol*!YE]Ϊ95:YN^)gT17"aT@d\9ĸ!eMy|8|l40/u&O[s .ݛ~Os[Z|yUGW>{g{l $E{ukOV7GS|6\!}\*_k)3sV-}LNs[g-8^[?Z.Ά]BxS?¿8f'fBQ!Y<ɉ5l$]l}NaJLjwqJ09<{*"0.ϖvoځ[csjg9݇; C,IIm vmB/.NN ْ.nϩ.VGv7Ɨgfl[\6cta-v΄ S;nn7ћ=_7\4FG-D/.N_|؞S;J~\ $oL?}1>a]F/skz-;\\ڶCυ8b[s2h`mO36ֲ2 ɑ8b1 sٞNC zHiuDꤞq`.~OAzKot6.^h; u\Q'Lֵ |JGDfOUpyB1nQ]JegVgGޗpvA]{_zwQ1}B=tFxHnHr(5z.~=yBޟ QAM7z~]J?t ן Qĸ)uj~_2?z9iU:mAٚ'ύ8ZsjC,wbz=<:k2Ȱ xx ZυʼE1^]ue~(Y|KUwɄ DTy[*C·bl˄.7t^mc+K`.Ce7Tk? o|<0Ho#<>ss(f?%0y `y2{ b p၀񩑃.,He Ư3bL%`]^oqqmhS,Θwf"D>wֲvb$?ӡSC/CA|8Yu/zWs NuA1OF}eKfǔ51⛿IJ3AG:6Lڎ {LK74fcy̯Sۋsg-]RK셪=`=&%+b>7cR j|YTS[q`q{({L*Z>x4)qK߭ =;Tm~ITX'wIfЬy2X7X U{*6*b>'SA[TDB AƔ L1G͘@WsAEb\PKq2f:O]li>zW+?ĸV Ħm^JX 4wXvپIv?NtNG]7VG+8#qo(hpUVcJ12X/o4FwEwŀ 2SAub*c͊[#W-tصOĸ} =@u*<'Pqj{1op rH$0~cz`kOZ_fi 7֡ b>x@op%b <@SJ88-%U@qF84'"Eib,!̔3;cu2 b\%}.ۧ3+T|7FCc("Zb,'P!˝,'wƥ71ВcŒ k!=:#ȎWFt#S _bg:8mKe&Xmߘ2)%P!|]f/1^<Ý!ٕ$  &px9u)]1xp1Ty2a[6OSXR8 1Cي@JA\X6ٮ0b\nҧ#+驛=~l'NA1/?+ ƎW|W-o7{I,~gz`mS#ĸ}*|I9{t/G:Oe b̝qF:2"94|fbCclk;c.b\2I:Vc!ƙ$|?ʽ4c>iF[m=@;!52Il9y{8xn:1JGwX\>4oq g՗MޢoW}]R`\DXN&/KaVej36 !jT\ U sBn=-־Zc]{6f:,S='r"ƋoRi6ڣ1{~kzT|8UQxپ):T*};1JG^, AͅKP@.43-{Dmɕ"fQ, Gc4{e,?u5[e{DqZXg;hU:xzZeE\LͧM9-1Qŗ!sޗFQk^1LK|ٓѢdXoԂ]/,|p|'j{bec-M-km`s[/p}UC5]-Fٝ?49~jJc, ;JMή⫅`0bAt Wlrݤ-js(7סqqU*vga= #xLY{XFubl'vb0b|q:pbXJa{j]9;bz8bl csSߖs>z'҈b(\v2üXX~~wzg|ZT1yÿ#R@6/C :s;c_ݫ<Ʀg9P"ӗ?cy%eΈ+LbcIWMO>Fw\@奔9#jӞIwY;;`. 5%Wm^/#C_4=e׷&yxw> Ʋ:*W-w MFA_ttE~bAs1֒Uxj.J=|4iy@'L?lK]@KJ47;+pp(1vq.k돢DqcQ vQXnsC?8ucsF}ej>sNfxK:5_.|@ I9ul1#\Nn}5+-#5j1[(֝sj>nfSFb_,Fl}%^-Z c16~;6kuA;L]O=σUV֞d.5b0ĸZ}c^h~L!%>όOGkDl1Zv4E^Ve>1qg\^bq˾jX(}/2&?QB T%b>5Lf&u׷8]"Z=bgY:Z-R>ߘ/^<k\G'LĸZKrSP d!/w,"a1a'n6<0T$ˣX1Uxĸ Ỡ钵Jv&N<6>NlvbY:q#Tx'?y1LkuvX3}ڹ<j;8rYqҪ0 vgqŕ[t"U8}_ l*yޤA)Ks߽jKֹ18'qFOɛҾ-Vy}DENՌcP/?y_WhqQ!w+a3p;LLr-WRk?jHk ^|UĸZKj߈.^; 0^~F;Z7S3bp^ ]WY_;9[:Z-I*-׺1Fs1֒HPk-98$o72v'wBe1vrk\"ݭM\141]mdRϝvE/^jj#s`1ݵR5O ;_p^b\M܈WhUOԯ.vYXȿ91*A;n%7,'7fb|Y:섓VSSltɾG1iWhu{5&{z0 ;tU|XíI _m;1~+4}cGg3={Y;ϊ?v8Zeg] ղԑ_<5 _]Z/cp}>ϧ?Ut0KOB*/c'1>zj7>n'ahp1v%SI=WESo*:7GW[>if?ȇMZYS{gZ$Wb|;KLK^0|\t1vaXoï۬OiWesu>A˒N0ۗzdP;g9Tבax1!?8TKj2k|]8?q4ޕ}7`͵'ƾ_hv7_a&E!YPIPsڿI580gZgR*ķ ,.7s#hTC]bzI6l+d0~[k91R~llFblOz f{x-ǐͲ_C/6Dpoۯ!25b[-;ìoc;"T-.s6 R"j !;j~"cG-~;>tb\%c kUWqgAP__6f"DeS1qpf/縺}W=Y-ώ!R֫sH|{<3D ۟v/oqg1b9afH 1K\TJC4G&#Ƽeb|_x+Za~מ.njIV*f~d*yB-엷x cJ`WBL$!ƿ G%I$0m"5oS "k(bm=덈w1j=Bc 1/ή}d?8%|>RK$Cq,-|dVOk 1~,Dj\>c@"ƈњSBo1~Vxqa:b8'1bCwhrj͜|"O 5.@/Z1F9ErΛ_@j\n1Ή"b@s՜B_A3Џ#9AD_4b3>D_jYM1Ή!b&N9u$ bP ňqNcjSH缻/ on7Չ@(+ӭZ;C&?JJ36X@sM8}i1w^' ƈUN*1Cj,3-Fe#O93gP9~_wyYbNj]cCi77"b$9rgxV^Gc&PO1NMq]h4,#Ng3ϟ3bll%v^̀\}ԪƲb<-oSm¼"Okp]q:a F$8ΐGqLM/T/+ 1N(<~n( B u=CSc^n7&qJiq:>Vy0ORZΘrR#cj i.i돊 rg\-Q{yfA,қ#bXx<8~Y<>sgĞP>K1\ڻI:ΫOaRI+날7'c |oަ GiE+{1N.<^$|~yf0B{B^ŘJBQt|D'5cAO(ڭ_ߪfWiBB%OU$oQ5N+TC$9VLS3: LcWOf>mD%jvP{b;XXxwȯ;.V! f17/XW iU3Fkzq'E]>&Ѭ'^zs̓guIJvfo$OtF"ODK.y~b|9-"6G8p9I=O?E g)rXb1Ϊo1ΐ)qVOș41懜Dg ľYglA<>wLܼ_.GΪRz-8iپ`q%`^ @ݯWԑz}kl`u.I8^f|^ fjX8qL_΁ ;Ģ1.)h 8]ΛNH56%[ƬrZi$_6f51."+W=Pĵn9b\$$W9VSA%dlwJa AgMo(i.V՞MbV2>4.1M.#Cĸb<:szTcreeL&ᮏ;{bfZi'XX poVv<_lȰEF`|Tro$ @GOFaY|DnG9~^y_.xR2ذ1I|8l7e.͞>awSeGP_p\a^*@7?\]V]owF3~<%[ז{I;19) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w*bO) UԂ#=6>B@$ŝx @q`q!P Iq"$8B@\E-9bCj# ~HRܩq? z WQ v@w+1^ A\E-+1.0T@@P 20ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@?mshoHKLCeA-##ȧA. 7i1q戠,\⌽~ه{KaY(7B Sfw8G񢸫)+K.p''nd ARu^dS?t,_VKrXw|3ui+#IUZ%'*\AWɣGʹ^ W봖~Yҗt= `]Htc?%tjr]_5CJYܡrC Htc?%tlRU#hp<~TLa r55FmXҗrw֠kaCr1]XOZ6t@!wa rUR*cvs%}9siD%#z:QrI.pn*5BjTo{+jry[[җ %ui.#IUZme{Y [4B*yTq{K䪬F*׵/L`OI.pn&܊ϛ nBw;$䪰Նʱ/V:ӿ#j /5TAŇ2+i[48+ٵ׏v{=LAJ{]jb܃#z.d/.&ۻa? 䪰ELkşŷ%蓍F(y˥\$A8VihBd3d4JU\^?*nR0Z<_TZҗkTL(\$A8VihBHӬw n{fvY{\ͩH9:7ǒ\! 7%%tiV.#IUZ}i'7 n{fvY{\Z^.sנ.Hi]ݔQO)eҩuyAM`.+`Sh4t]X3iguiR\$A8Vih߆n 7 n{fvY{\ͬIi;jI_6΂Y-]wHtcmXfD5A[,{{ea r5&5Xҗ`n՗sg[b!\|$p߶[X׏j=LAJ8nxeȰn`N$* -wM,ke${p}]a r5(5gXҗuۚMti(`)]ts"ǚ=^?|_;{\Gˡj,˪mlgƶ. b$ JC:ty5}oM뇇]V W+elXҗ~d]Htcu ,t"ÚeXw>^?t W+eNSM$̍3f =nys3lk)ºTnN1^*gJ<~$* -K 5A>^?P WKRq(I_Vξ/. A$* -Еw7 뇇]V W+e6fe'$l\$A8Vih_XJM7AK3({F0Z^d_Ne1KL\.F 4|/BL7/ Njx{@C{\ZҖ1;e8Z7J`b$ JC5ho#g\V$fK1NC:`$<{X>DTJD3U%X&b,P(X%[ͯOY*&ATVƠZaܸ,u˷A Dx6#;٩y4(V?,յm+o!; 5Ww@nq+,V?,؆9Йb,YS@%Apg_ ZOfDuuh} PŅ)ź/hJQ+nkWhPnG13CrҼ3[r}lň!<3V(b,ӧb|(OGƒW*<~g+Cn ɓsѽz؛ "ÔzW? "NՇPqkkm b\_ur"5b̝qqy|+ƒ+ucb,|@Zޭ 5#$Sւ]k1Fur- jl?!iK:A>PiOz#"PZږ<}aYKϛB`x\0=LAyf|Ǿn*ߘmI] M̷b ydz QV1Fwݖ)պ=,ƗT- XeH] M \N/KMeW{M`.+`Su{j(Ң;~Z/3&(zYuJQ48`^?<첒0ZzJN.ŸuGJ t1&x%`}|u^; 'g/# ~jݞ'C|9SBo&dbH[OJ&hba&XQK,]NLaWr6Njݞ'pZ5@wCM4#-b0uslb<\ GOr}TIG3aRWa rn8v~/w1@x%X2wd.lk;[ס5>oD$ۉvjݞ'pLb<uQ@eE-Zeoee?I?+GU_ WDcAT/;Y${Ƀ M̑SKs3 luYP]n~t$a{\Dew1;OJKA%,d^ S/<^ 8CҋbC2׏d{lS{K\.>.w'DAu]x|OA9cgMIu6^?:R=LAVy|1($߹+'XK,^cN2Z0H Vq:^?n-{\ݸo1^vʝ\sDb,iD>o4u5^?Q=LAVy";\ٗ{dE/D!^ •sDb,y›JYM ׏nP;jSX 'A;V) 4T"b$+*'xXP<5%g_9K7NǼ<ϲϻW W+uQ:V$W:JV.^ɺɮ$y%]ӿ$hpJ`Gv W+"!FE%+"ƈN%yX7Iछ?^?3P WgGA7.('ߩJCS 9` ϛdqt=^?\o_9{\d A7-Z~Duȝ1w*Y\^b7 |gw*blsgbz%`M0DpŝI7>~CIҍ2^?z!=LAVyjViBr 'z϶#o++'Xa#YnXT GU_ WoDDka|)U晱 WΕRkAuLp|MI,uyI%JK_=]mI7@'6\bp$XfblRPNMx%Kf!D;z[-/GmX{yzB%+:)`ᚉٷ5*ZDB}S/ŠzZZ>aF|Ah|,\313=)sz:tC+ۛ׏{=LbL.o|T"Zy v Đ),'v4xabOa t@JRkB|N-8,\11(('!>9t9"m7WGSTVLb<i &`hb5ˆqףi}$=:~a(:8^?]{BkAоn" ヌf(A$tNpܢUym-yGy4hi#͏Q)rUx֚CU&V`z9EA9fc#ͷ0&YMkMAA'Pk~ţ[{Q.e꘠v\Ԭջ8V& V.夗=i.K[fV\@y~FG?,=)HZ=Ot ٪Qd[F)(b,;.uiI"zmm Sbu) VpS1T )M2 b[k%fTYEHتhK5THZa j2;Ƶ UjɔEpLI3IS#qϏx^j^ :v׏|ߺiSPuzDrѽm#SYIf_ Iˀ{O&suU2vNmIU1A0ERMխ6bh>Dauj؍;Y)T7֪KghKu?ݍ@5iW4i>k: 2S# yC`\I%:߀8z߻?.4]xfKt],l5A9U3<5UA'9.F_/Q~$WFa ^u< $?C[N;!(zb,qJQڅVXƤQ^2X)(TK1fJ"o%Ƃ.ԚwōAPN #lv^:v]^ 뇗V@x gSxവtAzDPNXE,EWz8Ѓ]=VL{90âNNxz˦O7v81,lS51՗Eg)TI~o{ܔ\i!0|P'路CNxI"n(ɁC/Ih_گ̭=&t kbWִ5eIR^\|Z8A/z1P^C"gt.>L~crڤ[(9b<Jc>]}ޔ -j~hxى {="MXEȶ K;…n[&A ~hxى {ͫMxv[S.B/If`'uwQNe'6av,K JSd^vbfblUXdQiH)k %失[3ËCgM7J'`9i~hxى {!m 8?G/nY^o*}ۙF+$ Ɠ@ խ)'E)Tʮ -j~hxى {;xf|M9E3ԭ)ZZarRXkHv~,Mai:Xce'6aJG;XɆEz&+I?ѧ 뇆ذٝk1PukJЬ?Ee}.QMA_y9zx/#c؇ь)Z\˴uW4۰4UAS:Q;|8(b~hxى {šԸXoROVg v6ukJ'b^ts>Uig2G뇆ذٗ#ƓF^6CuC#1~@/{=jTkW_2q*wCNlJH'Sk82zI_*Ǐ"/>oLPcr /;a#16\aEoe2TE7z=B7ndz7]x'ȮVCAi^vbf?b\ڟOU֔"ƿы6'|EQ\r /;a1>/+LR5\nt. V%ǚG^hn2x5eH뇆ذ)\A֊71tss!A ƿZGeEoch~hxى {]qQ/^eH(=ܥ}x+|AQ־JCNl@O(ƓY7N~"-@dEifTU33uqe3^?4Ć=Lb|/\9֭)8$u~s}ٵޚ xh9e'6a:wŷ4YXi肍Hʩ`SekFe7}9W_ /;aS=Qg~Q?NnyZNR*u8yBї5/T84ie'6aj"JP߿֯=?zY9/uCeMϛEOE/ 2dFCNlÔUoIrIvm|AnM 1^.-U'cgYhr /;aӟYf/0|g$_ \M.FW[/"rg뇆ذ)t?żudHfpɺ$;KIT _ff.mm-֛]r6лe'6aM6b%"+>_>0 <KCVwkr*Yܥyڋ ئ~hxى `v(܄ `* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`S& "~(01@ C1T)@"LLADP 60ab @ bS@? LE l`* @`y @ D1gdS @%8 SĘ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb؂ 8 Sʁ Mb?@8 N!@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  ˷.IENDB`@@@ NormalCJ_HaJmHsHtH b@b +xu Heading 1$ & F <@&5CJ KH OJQJ\^JaJ d@d +xu Heading 2$ & F <@& 56CJOJQJ\]^JaJ^@^ +xu Heading 3$ & F <@&5CJOJQJ\^JaJR@R ?~ Heading 4$ & F <@&5CJ\aJT@T ?~ Heading 5 & F <@&56CJ\]aJN@N ?~ Heading 6 & F <@&5CJ\aJ@@@ ?~ Heading 7 & F <@&F@F ?~ Heading 8 & F <@&6]T @T ?~ Heading 9 & F <@&CJOJQJ^JaJDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k@(No List <m@<?~1 / 1.1 / 1.1.1 F6U@6 ?~ Hyperlink >*B*ph  !d"        !  !$      d"P/ #YZ!`a D|9G}~9:m./>`gt01@L  % & 5 A H 0 1 X Y  > \ Hy*r"p#>Zs 1VzPyCy7_3Tufgcdg" i w y } 4!B!C!r!t!x!!!!!" " "*"+"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"e"000000@0@0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0  0000 0090909 0000 00m0m0m0m0m0m0m 00g0g0g0g0g0g0g0g0g 00 0 0 0 0 0 0 0  00 0 0 0 0  0( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ( 0 0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p 0 0000000000000000000000000000000000000000000000000@0@00`000000000000000000000@0@00@000000000/ #Z!`a D|9G}~:m  % & H  > \ Hy*r1VzCy7Tug" e" @0@0 00Y* 0YY00p0p0p0p0000000* 0YY00* 0YYK0000*A 0YYK00K00K00K00$K00K00K00K00K00K00K0#0$$K0$0%`K0$0K0$0K0$0@0K0)0 *쐚K0)0K0)0K0)0K0$0K0$0@0K000K000K0$0@0K0405HgK040K040K0809g@0K090K0$0K0<0=(hK0<0@0K0$0@0K0A0BhK0A0K0A0K0$0K0$0K0$0%$K0$0K0$0K00K0(0)p$K0(0K0(0K00K0,0K0,0K00K0203{P0 %"b'd* "$ 1>#"d'C)M*d*!#%&'c*Nud"X8]^@]0(  B S  ?d"e"e"9*urn:schemas-microsoft-com:office:smarttagsplace  FL ":QT^ 9FUbcqrz-.6mgs9 G H P a h x  ` j " - = G   0 < P Z n ~ <>am ;D%>H",bnp! /CThxPZ`jy|-6al7B_qs{4<[\`; ? A D F N Q [ ! !!!!"!%!*!4!?!H!S!^!k!!!+"8"9"="A"e" #+IK 8GK~:l->_txU ! $ 1 W Y  " * B J ` h % ;C",'/BJ^fw5=Zb~#PZy|O] 64:U[go<\" & i k ! !C!E!!!!!+"9"A"e"33333333333333333333333333333333333333333333333333333333333333333333333333333333333/ #9Gm`t1?@L  & H r8opggi x z } ~ 4!C!r!s!u!w!!!!!!!" "+"@"A"e"A"e" x8v2  ?C(L0SF&n@z+V1_$V%  [e dh , x k^`ko(0^`0o(.0^`0o(..88^8`o(... `^``o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........k^`ko(0^`0o(.0^`0o(..88^8`o(... `^``o( .... `^``o( ..... ^`o( ...... ^`o(....... pp^p`o(........^`OJPJQJ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH^`OJPJQJ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hH^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. P^`PhH @@^@`hH. 0^`0hH.. ``^``hH... ^`hH .... ^`hH ..... ^`hH ......  `^``hH.......  00^0`hH........ hh^h`hH. P8^`PhH.. ^`hH... xp^`xhH.... @ ^`hH .....  X ^ `XhH ......  x^ `hH.......  8H^`8hH........  `^``hH.........^`o(. \ ^ `\o(.808^8`0o(..808^8`0o(... ^`o( .... ^`o( ..... `^``o( ...... `^``o(....... pp^p`o(........ hh^h`hH. P8^`PhH.. ^`hH... xp^`xhH.... @ ^`hH .....  X ^ `XhH ......  x^ `hH.......  8H^`8hH........  `^``hH......... @z+Vdh0SF?C[exxv2 _$V xS        Lr                          )(\ m "d!#"'A,,1F2\9V>wL_N8h`=c:d1eW"h+xu {}e=jf#PULRQpA3l0?~rr>vsU>@ 8*##d"P@UnknownGz Times New Roman5Symbol3& z Arial?5 z Courier New;Wingdings"qhoz2%>!24d0"0" 2QHP)?+xu2'Ahead AAC Decoder library documentation Menno Bakker Menno Bakker0       Oh+'0 0< \ h t(Ahead AAC Decoder library documentationMenno Bakker Normal.dotMenno Bakker21Microsoft Office Word@"G,@Ҫ6@%՜.+,D՜.+,d  hp  Ahead Software AG>0" (Ahead AAC Decoder library documentation Title 8@ _PID_HLINKSAh*mailto:mbakker@nero.comg  !"#$%&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~Root Entry F'KData )P1TablerbWordDocument.PSummaryInformation(DocumentSummaryInformation8CompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q