From 463d66f6ac531295e5f341e83ac5f0e9f42b20a6 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Sat, 22 Jun 2019 21:36:49 -0700 Subject: [PATCH] tune libsoxr --- .gitignore | 1 + components/codecs/lib/libsoxr.a | Bin 340110 -> 382728 bytes main/resample.c | 16 +++++++++------- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index d2c8ab2f..39637f48 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ $RECYCLE.BIN/ libs/ /cdump.cmd +/_codecs diff --git a/components/codecs/lib/libsoxr.a b/components/codecs/lib/libsoxr.a index 02c5e2d5916c8394e26fd9e3e0cd8df20a3aa1f3..3e802732a43cfc2a85691ada0ebfc61adfe17094 100644 GIT binary patch delta 37228 zcmch=4O~=Z{`Y_8%wZT|RK`J6G-YN`0iR$7cQBh2je8jRnh=%x- zgeK}*A!!SyrS>2y7Lt*=x|!>?wpnRw{cN+A(rt}Zxj)}?z6WP&f4~3hb>H{@KCg!B zeSNO)_55(oTyrja_DX2^YuzgDlZH8y5}vd6kcY)bC|7=vAP7l zFD_ZI>G#sW0BV!Cs`M9iVQ+jd{d~XTcPRdq;+R9?7~RZxAMH@7tUKIWX~;t(UesMJ zRIm!z?a*+eIQ5ts^wRs{-ajkR;t#ohr*HL!FInJp44yuC{t&h0BjSb*i*r!kLzTP& z;vGZdW2@x5`u=kK%jgxoAjHEFgebuxbP?Xls2Tpk&>x0x3H>&;&%5W2B|i3bL&Bcf zX}ACId8*^2~*yI{D>M*M=QQ<=_1=<$yRj`P&!YK02)M%OkI>{9Q_HTd$Oy z_}?D==6Leae^0+ZVcF+?$jfrPGuZj@|HfSlRY-& zRr5PZ4G)DMz4dq3kpVg}rSY|AlCR8^KRR;P^um$c*)Js@|D-nA{7C+h=lAY8a;rWl zxq0laywPmV|##DodW(BROeS-Hany-|aeVuqP*<+;Jf(`Gd|!p4#>O z;SUynnDlMjPf5;Us}HaG@cY9L-Zm#)wqHs*&?&b5nZw5qFLedifBI2P(#y}jotQnc z^zgftckA8q2boDTpEW0a(c0nglANxG3x@AYjK112>5DzF^}j2)Q@`bPN5UIB{+!rz z^5}%mn(OKfmM;#)tX-a%`F`ib>JtO&FMZa%{^Hz^5@MsxiNCjvIke4j_t4ho6NZ&s zIG?ce@Zw?bcin%er+nX`4afH-Se6+Qi=TQW;hVBu!}ee4_*R$ke@V?tTy!RF{)KVF z?UuUXr|PZ^pZu(O#1{=QBW5ldG2*v39~?2|Pg6$Rdaq!_7mFVsF@N=<5%X6r8`1Hr zr$-1v$q<^!>IDwbnA}O}Rk0>_yEjK!fI*B@nI)^%jI)yrfI)gfb zI)OTX8lM`T8l4)P8k^=68b%gqLeXTRiA0l#CJ;>?nm9CRXu{BBp@~A1gysj$4Vo7; zCuly?d% zu^4KC@Zo|UK9$_v1Zg|@mExbiZLl7>H@X67o zhL((w0Nn>=j{mo{L%OQDM@X?m^XO0abowg@A?Xv8Yd0rmOD7fgvUIa@tzi8(Z1)!X z^GAf}5F3`eKExjrVpI!4CUV^c?~Dhr_(lQJb#ELP^NCI#mLZfj-L{B2y-|pxctLJU zYiZLhg=3teU>8M;QE-oJP1ol{n1f22ZX(Dj>g}qi%Zar?Y*9psEybKzvb?T{0sfZP z6w$zzGMipi)IfjJ%Zh09PxO)^cJQ~n2oYvZF^CGvX5TCepM8k#n`*O z>WX5w8}IYCiL@Ad`P=lh8+*$BM*S?taDSuzc4H5Jn<$I1yT47e-Pq07#$pU}iZSgr zc4JqkIDl%R4MU}f11-i-x2z3UMH*x`T6`07ii0i2F6{{^Hbd-2v%gKO#Tepm6K6Me z_P23ZjGg>#oOWYJ_ehy$h1QJm7Ng1EXsF#7+@6rdsJ8Ynf13omu|vC!Qp7}y(dciJ zWH$!-+az0z1}L&RS(Ruhc4L6QQL4o#`6rZSH|qUuhFgrHzs(4{QP*yRG2|4}k-pC` zx~pWDVK3+Ax80&BJkli@MKcQTUaj?J5IJzs-1yaiG7=1iNuSyN$&dqm*(Y zDeC&K_#d_#quY%XCC_4v@=s`z-PqsXX0pZD&)?<|yRomo%@m6<(%)vP-Dp>Au>SKJ z@~FjV^EaAiH(J{hvKS+rVm^x1K8}wFttn3|ZJDitZDw6{heEL3l&dxkFn+_UEh=^$SJG{ioKF`@#{aC^-CO zk)nblcIMy-DWoE2x)@*=4f)|@5YZvr?WEAy6-sDPjztXAi^h;_3KbH<-Qy_KJwutz z_MCBIhmm5C`|EHSYPuubeS?Bqdgr+R)_Pf=gQu21xrFyzx;I?n%P##Um$cFqu+U|g z?h3THI_OS%X$(z`+gU694qS#2*oE5^R^ ze7@5xSpJImm$#c&2*RFiZhfm@j@f_Me5BqUEa-!Em$#XF*0pRmhln|7)SgKrMd92Y z^JS-bPi=Cddwi=iNU-aLba&2xIyogN#GZ4xJ#=J{;KUPZKU29q>%U=x9Af- zP84B+*pJmcl@t=0ecw`>VEehVoGYvSL=@6iz#!d#)$!H)IZdH`X8bi)TrOq z{rg_j_LzZc%$idnj#K7e78qgUL?a4ZbE=Eul;xL2mT4p?b*?!T>NwT)m(j;*0(xUfvoa*!I=$*CL z5sp*VU&jtnV>?dSYfjnFTxtTziRkVTp zeF1%MwG9ed|HjF_$MlUSO4XFqBG%YCs$Pdpx8-j-$Lnn^E6vH}Tbmlo&1=`x8XfQH z)bR2ytL=ZQZK^qau01+cG0}GEjoPOAJ$-*{D{nfcZ;A@Ke1^s$ikfJXdpeVBO5Ilo zv%MSi-sVe%)~~yYS&2g8g4!-g=7bnAD?wQPwMid5A%8+hl5Vym(e|`7V1n!9?Q7y$ z!=0dcQm#iIJ2E2AS})S9*?r3MO~%g;?XGFF7Oy}TP!t=ya>PU^C{Z}2zb&t0N)(Q$^Jf^f<+^F^d0=mT|XD&@M9 zo&n`KZ>-VjN9j&a_%7HKo{)lc5?zz`)aNG0e&l=X~?gUMWGlf3gX`Vij8{y?`o>NbJf@YXm*=7k8^agH*t)7b+ zC!e_W(DpQa7Bz&d-zWV=X^CGpM9?SP5M@0DO6;o*NJytQw70}o&&ekSly9fD$U<9u z7Q9bNND*tQ1#XO_PtX`sC2EW+rBZT#{G}#89w+$(D?USm^e;2z}b-pDUaiwyx3C^Y=+QQ*cpvnb!VaCWN zTk?5ZO8TydV*zRc#|7ad)Ff2(sef~Aj#8V`J-PAWWSvPWIog;$rt#xQUF>cu=uj$X zX5;=hm4faz^?X<@XlBmQ>Jf1XzbdG`y`=F6y+h093u=zFHT4J8+`@uPRh|AWc2`=f zs_1~uAb%XAPi(4rxzX|7xpHT*e(j#E3(Ke1AKa5rTeJLM3%mop-T@A8OsRKprFV$e zJE%@~*ldUv62*i)Vp*~f>}*+RPF`Bx)VS3AWO;F7t?}T?jZYpuvS<0fwid@OjV+&D zf3U_IQ(IFc2RM|()RY#eDQ$Tu#>`Iu3fB<<_lnWf8(z<7XY7FVTl7m77)L?RU`IpBq3| z&r8etCmptav2hs=Z)Aqrhc%N9mUR_Ut8`g zi`HWYGdA`B3u0DZeL<+_t94OmR5IpD?(YH*_!)$$mC4-Q?2fa zt?umBr-MuZ7AZw9rP-xaJm=n!hRYTy*(oJm7Ghe=L5MbB!Z|U=E{%w|5!9&5aY~7H zDSdzEoCr&hQ%bN)8P&QR1UaQ)cF9%2`cS(xvV`?`yOdePy3;P*pU=9(E@in{kF!go z(pi^d?NT;UcMofg?Tn0vIHl1jM(mG4?tZk=J0*yNN$H{}WHZPqjq$e`YnKN4+Bl^L z?9u>#o8Q=_7=N1w?NYStZ{)U1QT|2`*`@yeHo11GpTEsGyVTd;X1raB^tYK{m+byF z6YY}CBm30MDLrhLto}xMb}7O?p-FbBkH5`iyVTp?<`KJepTEr%yVT3yW~yE4>A~+M zK280oT?+R%nr4@J_$FkRx;v$Oe;bco>gH?Xl)QE+%-?3ZUFzy@Gs7;0LXq41)hW%i zOBR2l0=v}3KcQK6$?R`4+b)Ip+Z5WR&i*!Y>{2IR8@treDLqDtd~cx5wM!;nBd0Xa zE(QB1^tfH3S>jXZ`F5#;zfF-{GWy#*VV45^Z5G%igJL7|sCG&V?NWfh(IUGf`6sm4 zF6sSkme?iH-)5;@()rsI+a+2N+6xUHlc`QG8h?Tigy$$_T}ZtlCDZp`DGh5vNL!FQ zjFuQO4areK(6w5m;Srs4LM%acDG}lgX#|#r7OfqjSfq4BfdS0mwM)ZpNEuFPXuFL? zazTfIyPw>u8O7g_Mmi;DyOEL*71Jjn#|`OzrxfRJljUy{dqW!Kl!o}*Wc%9;z9Efv zN`qh{BLK^cl39+w(ZCzh7^gJAKcTVhHaDaPoKm#9sQBCbrrk!Vebf!7b+$?k76-rvS{Lz>`}to}9=+ijduA1o+0q=!*5#Rl!q zwa;reQcB(XhBV13-RGasWPh7pH>5|LQcr)IDgHL$H>9afsfWMKqwO}d{$f$NAx(2i z-TaO6+l>^Pup5%cDRphPu}EI%${=bVL!mdM=}yVgZUY00G{ZlgE;po^PRYzR*bY>T z3jB>iZb-A7QfL2!X8YT8x*-)haj*9q`E&ejOgE&*oKmpA&D?gI8B`O_9Hi;fC~tQws36S>SIY-H;YKC4IXMwZBDLy{?$77gFrDUVBxdc`7^ofMkS2=$e-;|}Y# z7EJuqQM+VmxY&GNs4YD#FR9utW}OpiCvGr&BnaLbq352$%59}}$LsQ@b}ZEG6a>Tj z!YkdytW=@wyzq5*(QuNUe=gV3qoKPeJ?*%oT8UE>&ThS?ggm17X17+JxbXM2(I1Vz zGAJPFhp8RX3=edgXS8HU_KW~$hGC?f5jZZxI6b4o;hmNMlRhBGsl%HVLE{2~?E#%E z0mfJ%X1Xo_KLd{pFysg1*aJdt=nN5=K`pwRaRFVN0n&6`pxYUgFTopX4-jwYjBZ;{ zi#}&$K$s;!aOygwn}cG-oN>CKn)e4f-n-@2<*b{a&j{%oa@T?#R(VcqNLY+rFY0w6 z>uf@o97`q^=TTu|^QUcDc$w?}VpacRP38XwRo$(-Ytf5twWgxrS5sN7YTkj_y6h|G zo;OE*v^~=l;r|mgjd9@L4u*Mt?)qk zfrKcrte~ybBh>3=n=e0Np1h>zx`&i@qe0oT)!ml{0u&5Z_Za1NHi48pox7mbbwa*C zPsh_6SK9+%^YA8}DQu-=(n~?_Nx>yT&?d>aQtI@EWC#&rO4h&|^0FjFm~twP!l270 zNsKk-H0}Y1u9SrI;GD*7L2pQ5>oVOzIs40l@;l@d8FO%R9kVpJVB*BqveY)A9A9cK zqohvroX3(=_Q}#$|F~0U7*nt=bJnIG%HrGVYxaq|FWx;_V+wBHSuu6Z>McwSK3Ic? z{Kk(2VfMsxN6qJUn+uO0nOd&fGp}Uj$TbHhF8gEiu(mww!@n1s8`{e7g=V(S)T87T zYDq)&7PMqtWySB%lH2mgWPe+sF6&a8JX=?P97d+F>O#eY8+)4$Muu10wjIcNxouDY zHZybq*)@3wk1Jn>>Fb=sv)1O>go#JHRMt)FPw(qs>U386EMWJYyYL^huB|y0U+LNO z)gQ=P<5?e-FU6*~TWuke`gvJTx$>V4DEgqV8zg%iv zSG2e>e^yiO&daZK?_n~QdN$75J-}Vih>V4<=|aIyuV-VH0h@bDh#3(OSmMqX0@Cx{ z2XZ|dbFCW%eY(5oz{e|v*rI%)Te`4#XUjNqvYJu(Q18o)c>yH_CHWIdyw+6<3J2sC z#x(TvMkkh9<&A@y>f?Nn(eRfhRJ;BQg2kHH@egtU+EoMS9-WI z(YC-gXyV8yhjrC@OY>qeJ9pxY2eHG`Fe=y9Z~cukT@6b`v~JG{xt?`p8KUrUU!iP) zSZdwiwG9j|PwWz0Q0m!$S#B6EmKjjqukB*iJP}&}XDnHd$zmm<&7m91D4+~buH^6kkj(ExwvW0V~uZ{kIbrn#T2+~*s`pBhOescHuVcC zIuy}9!4BF6p4Bfa+y7}qL`}rZw!0`tdvYbugtRO%&smBsQf!ti+bdtJwDqm+Us~O| zy}Y`%bZf$AhV6UmMjbOWRqGIY_rEE2d6N={VicDreEhX|(7LfUFh4)P>E*_)OV^$e z!qSDuc9zdNy$9P9CIj|b+P7++mdZ>*<;#uPfos=PBG#<>r5GX=`3Kf!nz|jwHzq6q zh~)CdU^fPRf$692ySQwTUR&Swe@@>RfDz=*i)hI-mjwyS|Jky|>>d|OV|m+74Ak`W z=LQ<#V(^x%49TA#mp(e85r)3EZ){m3I;+Xn-(`!cv_-$tJ!g4q zbz-dhfSi%OGXv50?|+V7-I_~DR#z*Wv~ysGimf3g69r7zNq;kU=06q@n;cOwb5lk9 zriv+>D#mUqvk2G>L2}b$Th^Of>de#{<&=)w{T%Tgt(d|4-w1)+n12A(0aU~uXp}#U zt9U6cJtt!S#7+B0ZrVS0)BdDQ7?2Kcv||@qroYRJl_uBQZ(avi4eiZm1tQS8Dr{x{ z(p^Gqc_VCdt*b7V(;Do~u&ymEwLX))Exml?xszs7aLCRGELx?WXIc_@^9ie0*k3w* zX-lf9uGmxanXEsnJJw;x@ZIb0P7V4jsK#0jzu~Lj-8IY>gfBgneb?Qsv<;gYROwmu zrM2?waM9ounrsO*wzwuw$p_c~e^hYUhB|EVF3-xdx=LH@0-M8S!yqor^{m)nNDDe& zt!tbTF|Sh-3c1I8&=y;B`ud)|rJl_w*Llx#^2`Z$ORbyr0rdWtx{=*vU5P^GIL}+3 zJDu5NEq(H5{r$q}Ljwx-b*vhJ4ejLQAHA^-Z`=!=_v!C+T#7yJ&N&Y@SyvqNI$U1o z)4}V?Kj@95K~s>!2GtBe?~PmAlJUn-gVewrUp4Yt17MXCe*2H5GpaC z#@5&6DH#hxV;T97GhYR9KLRC0|XsYZ3E zQIqF6wAjq-yHp!(bHCEM67_4cK9}P}18&c(w3e>DjS6kAAMpJ?!w0ffqezFh?^&vm zVYOPLN~%#mm$(0h-~}Jts(P(UCDo@YraafWB5R~>stG@$Ozn{9@LJ1I6PIRRe4DaEqcls$2cF3-FEtz7GdNegJX+R&_%1>6CG%S%1$ zzP1Ezbzy~VeizbuY~W4R&6#ZqJlVBAV4w6=8*b}8m#&*IrXZpJx6Kb=(Ai>gJ*8p4 zw|K43lv+z$3e2S^FL^y{&}LtUiH6tkGZD3DrKhwCqhyb;z}6p2-g#T(1A!*fRNd41 zCQr$Rpj_FrdS1sg$z@%6&=yHQk?cZ4eick(;>n-t0+O?jbvA|1qDIQeK~rKlT;65= z(HrUV_T5wWL8QZFE&0rVCP{q7zHKeM_w+xz^Q{p0e}aNUpupU|56o z_ealjy900+FZt2>+yHr7UDrxa$&;@qXU+>Ub^jMOz>PJwsGRa2ZP9y1c@fv!cc0PJ zv-Q2D@z@AIo$|Eg^7g~fa#`0ny!}TF6tk}5fuR&Vvqx+`+tz%ITTg2{Y`yor?$daG z-|EVCpqbH0%`=5u*;?jBYY#P-i^;<(ai6CaeD>=eVsi}U8MR=OXC>wtw!1gzUAAb4 zEy`qacuHKJ)eF#;L0((GTwDJajHce7nbJ(9o(hbLG$T4hnQY3?tW{?khUQnj>EQ(} z(_~$Z!C2Q}&cEcznQPxZJ)!5yeVs7hmX6Tv>zI?Hw(rxO_epm;%}UYT={PTV@-z&_ zgVtwqz5Q4Bv|);l+4e!qma}@wtHOZWTAFcUeL!=Z@PIL_wx1zXIIBm10}-f#Ym+Cq z3oss^Rqyq#O`7DwfS5 zGe7SQx^=*dTgS|uv9sUEKiY@||6pO?9XIfh<%o_eDr*#s>F(+SAD0XHvl_{8_fBly zI|}1kW|>fn z@}bM3i|=2PR6b$Z=;E1cCY3Kpw+DB>~x1^u&tv(liT zv|!b`=U=`K|LcJMX&o`lOg59{v%se6Yo_3JublUUs}|?2;rqm-u+-pB460CbIu=h6 zb z%{aWMwE9g0oz4<43X7@_kS^mz0e9&p3O#0AvumHU`=>i6cO4VkpGi$U%fpULIJ|20 zZmG68>ytKQp6M#+obHI zC+0V|M~2c3RwYH3Cp6d7RaI=BE)I`H)oVQ6o(>v)WzrAP8A%V>JRuH`Ia-%wF7$Xk zVU%52XF+gTLvpQV>b%jqN#^V;c|WLzHftA$)j}QavW8~mTDwMHN&3O%>5}WQ)ObP< zdb&n5Ma2FoqQ)9>(8`Z!)W1#EF6XV5+VEd%ISEy9C^YDQtYsh)4x%Nu^52|)jchOvDJsekK z?Q+m+Q8mh);@4P14_dpbnosU4>Yr1!CTq}nE04qDRf!WMQ`PQl$sBWBEv23pA|pTKM+Je3s!yqx-KI5r1fGP{h+(gbgZLKjP|;y=~1a_tinMnztBOc zR;BONg>m(dAO5JeJxi*Vn$*eT7e7*os+s30wT7+kDwg#Z9tg~@UZsYp8F-s{Ku}JU zI<@_R4u*∈K~IggQK3RYjc@*`B;7lnJL! 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 ID}_4#7yTj}wEzGB delta 394 zcmeBJC*Jo^WP&V~)EO0SPnK2Qe_tQ^UaZ z*aY#3F>&xQ;KWDU7?@|9;l}^Git{Uq;>%KtiZk=`7=WD3HjLHGlaI0}uz~`_aPmJd zu}!Q$UBSWA{MT#yUoXZQ6EJUkZ9U@!IS4aw9^;ctFmpPPDZV{`gDG||L~7$vrZrc= hhM9s4+g>r7`AO3BBTHCB!Sd~Qm#}QVyM$HS2mq$^Vs`)l diff --git a/main/resample.c b/main/resample.c index 43dc20b3..d01b5e4d 100644 --- a/main/resample.c +++ b/main/resample.c @@ -190,6 +190,7 @@ bool resample_newstream(struct processstate *process, unsigned raw_sample_rate, #if BYTES_PER_FRAME == 4 io_spec = SOXR(r, io_spec, SOXR_INT16_I, SOXR_INT16_I); + io_spec.flags = SOXR_NO_DITHER; #else io_spec = SOXR(r, io_spec, SOXR_INT32_I, SOXR_INT32_I); #endif @@ -208,7 +209,7 @@ bool resample_newstream(struct processstate *process, unsigned raw_sample_rate, if (r->q_phase_response > -1) { q_spec.phase_response = r->q_phase_response; } - + #if RESAMPLE_MP r_spec = SOXR(r, runtime_spec, 0); // make use of libsoxr OpenMP support allowing parallel execution if multiple cores #endif @@ -307,22 +308,23 @@ bool resample_init(char *opt) { phase_response = next_param(NULL, ':'); } - #if BYTES_PER_FRAME == 4 - // default to LQ (16 bit) if not user specified - r->q_recipe = SOXR_LQ; + // default to LQ (16 bits) if not user specified + r->q_recipe = SOXR_LQ | SOXR_MINIMUM_PHASE; + r->q_flags = SOXR_ROLLOFF_NONE; + r->q_phase_response = 0; #else - // default to HQ (20 bit) if not user specified + // default to HQ (20 bits) if not user specified r->q_recipe = SOXR_HQ; -#endif r->q_flags = 0; + r->q_phase_response = -1; +#endif // default to 1db of attenuation if not user specified r->scale = pow(10, -1.0 / 20); // override recipe derived values with user specified values r->q_precision = 0; r->q_passband_end = 0; r->q_stopband_begin = 0; - r->q_phase_response = -1; if (recipe && recipe[0] != '\0') { if (strchr(recipe, 'v')) r->q_recipe = SOXR_VHQ;