From be6bada41fca66274dd9cb90a619ec8c633fd2e0 Mon Sep 17 00:00:00 2001 From: Rios Kao Date: Thu, 1 Aug 2024 07:36:53 +0000 Subject: [PATCH] tegu: APMg3 tuning files note: - Update tuning of APMg3 with version 0807 - Fix crash of channel upmixing correction. Bug: 343339070 Test: manually test by test build Flag: EXEMPT voip feature Change-Id: Id118582f3e560b99395836a9bcb863cac7318f3e --- audio/tegu/audio-tables.mk | 22 +++- audio/tegu/tuning/Android.bp | 108 ++++++++++++++++++ .../downlink_bluetooth_headset_config.pb | Bin 0 -> 74 bytes .../tegu/tuning/apmg3/downlink_dock_config.pb | Bin 0 -> 74 bytes .../apmg3/downlink_external_speaker_config.pb | Bin 0 -> 74 bytes .../tuning/apmg3/downlink_handset_config.pb | Bin 0 -> 597 bytes .../tuning/apmg3/downlink_speaker_config.pb | Bin 0 -> 597 bytes .../apmg3/downlink_wired_headset_config.pb | Bin 0 -> 74 bytes ...uplink_bluetooth_headset_aec_off_config.pb | Bin 0 -> 1828 bytes .../uplink_bluetooth_headset_aec_on_config.pb | Bin 0 -> 1828 bytes .../apmg3/uplink_dock_aec_off_config.pb | Bin 0 -> 1000 bytes .../tuning/apmg3/uplink_dock_aec_on_config.pb | Bin 0 -> 1000 bytes .../uplink_external_speaker_aec_off_config.pb | Bin 0 -> 1854 bytes .../uplink_external_speaker_aec_on_config.pb | Bin 0 -> 1854 bytes .../apmg3/uplink_handset_aec_off_config.pb | Bin 0 -> 3474 bytes .../apmg3/uplink_handset_aec_on_config.pb | Bin 0 -> 3474 bytes .../apmg3/uplink_speaker_aec_off_config.pb | Bin 0 -> 4351 bytes .../apmg3/uplink_speaker_aec_on_config.pb | Bin 0 -> 4351 bytes .../uplink_wired_headset_aec_off_config.pb | Bin 0 -> 1828 bytes .../uplink_wired_headset_aec_on_config.pb | Bin 0 -> 1828 bytes 20 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 audio/tegu/tuning/apmg3/downlink_bluetooth_headset_config.pb create mode 100644 audio/tegu/tuning/apmg3/downlink_dock_config.pb create mode 100644 audio/tegu/tuning/apmg3/downlink_external_speaker_config.pb create mode 100644 audio/tegu/tuning/apmg3/downlink_handset_config.pb create mode 100644 audio/tegu/tuning/apmg3/downlink_speaker_config.pb create mode 100644 audio/tegu/tuning/apmg3/downlink_wired_headset_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_dock_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_dock_aec_on_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_external_speaker_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_external_speaker_aec_on_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_handset_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_handset_aec_on_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_speaker_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_speaker_aec_on_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_wired_headset_aec_off_config.pb create mode 100644 audio/tegu/tuning/apmg3/uplink_wired_headset_aec_on_config.pb diff --git a/audio/tegu/audio-tables.mk b/audio/tegu/audio-tables.mk index 2a78167..caf0b4a 100644 --- a/audio/tegu/audio-tables.mk +++ b/audio/tegu/audio-tables.mk @@ -58,7 +58,25 @@ PRODUCT_PACKAGES += \ waves_config.ini \ waves_preset.mps \ compens_spk_l.conf \ - compens_spk_r.conf + compens_spk_r.conf \ + downlink_bluetooth_headset_config.pb \ + downlink_dock_config.pb \ + downlink_external_speaker_config.pb \ + downlink_handset_config.pb \ + downlink_speaker_config.pb \ + downlink_wired_headset_config.pb \ + uplink_bluetooth_headset_aec_off_config.pb \ + uplink_bluetooth_headset_aec_on_config.pb \ + uplink_dock_aec_off_config.pb \ + uplink_dock_aec_on_config.pb \ + uplink_external_speaker_aec_off_config.pb \ + uplink_external_speaker_aec_on_config.pb \ + uplink_handset_aec_off_config.pb \ + uplink_handset_aec_on_config.pb \ + uplink_speaker_aec_off_config.pb \ + uplink_speaker_aec_on_config.pb \ + uplink_wired_headset_aec_off_config.pb \ + uplink_wired_headset_aec_on_config.pb # userdebug and eng specific PRODUCT_PACKAGES_DEBUG += \ @@ -83,4 +101,4 @@ PRODUCT_PACKAGES += \ vendor.google.whitechapel.audio.hal.effect.spatializer.base \ vendor.google.whitechapel.audio.hal.effect.spatializer.mode_2_ch \ vendor.google.whitechapel.audio.hal.effect.spatializer.mode_6_ch \ - vendor.google.whitechapel.audio.hal.effect.spatializer.mode_xaural \ No newline at end of file + vendor.google.whitechapel.audio.hal.effect.spatializer.mode_xaural diff --git a/audio/tegu/tuning/Android.bp b/audio/tegu/tuning/Android.bp index a21ffdd..990a762 100644 --- a/audio/tegu/tuning/Android.bp +++ b/audio/tegu/tuning/Android.bp @@ -144,6 +144,114 @@ prebuilt_etc { soc_specific: true, } +prebuilt_etc { + name: "downlink_bluetooth_headset_config.pb", + src: "apmg3/downlink_bluetooth_headset_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "downlink_dock_config.pb", + src: "apmg3/downlink_dock_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "downlink_external_speaker_config.pb", + src: "apmg3/downlink_external_speaker_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "downlink_handset_config.pb", + src: "apmg3/downlink_handset_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "downlink_speaker_config.pb", + src: "apmg3/downlink_speaker_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "downlink_wired_headset_config.pb", + src: "apmg3/downlink_wired_headset_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_bluetooth_headset_aec_off_config.pb", + src: "apmg3/uplink_bluetooth_headset_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_bluetooth_headset_aec_on_config.pb", + src: "apmg3/uplink_bluetooth_headset_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_dock_aec_off_config.pb", + src: "apmg3/uplink_dock_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_dock_aec_on_config.pb", + src: "apmg3/uplink_dock_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_external_speaker_aec_off_config.pb", + src: "apmg3/uplink_external_speaker_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_external_speaker_aec_on_config.pb", + src: "apmg3/uplink_external_speaker_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_handset_aec_off_config.pb", + src: "apmg3/uplink_handset_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_handset_aec_on_config.pb", + src: "apmg3/uplink_handset_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_speaker_aec_off_config.pb", + src: "apmg3/uplink_speaker_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_speaker_aec_on_config.pb", + src: "apmg3/uplink_speaker_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_wired_headset_aec_off_config.pb", + src: "apmg3/uplink_wired_headset_aec_off_config.pb", + defaults: ["aoc_defaults"], +} + +prebuilt_etc { + name: "uplink_wired_headset_aec_on_config.pb", + src: "apmg3/uplink_wired_headset_aec_on_config.pb", + defaults: ["aoc_defaults"], +} + prebuilt_etc { name: "vendor.google.whitechapel.audio.hal.effect.spatializer.base", src: "spatializer/base", diff --git a/audio/tegu/tuning/apmg3/downlink_bluetooth_headset_config.pb b/audio/tegu/tuning/apmg3/downlink_bluetooth_headset_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..4d26cce56c49989bf90fdb2f01672f9bae51f424 GIT binary patch literal 74 zcmWe)qaFU%hbEcg^h7~6V1CZZfFTn@^@dy&# literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/downlink_dock_config.pb b/audio/tegu/tuning/apmg3/downlink_dock_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..2fdd177a4bc82233ef0c8641a6c94ad8e68049ad GIT binary patch literal 74 zcmWe)qaFU%hbEcg^rWGd#1CZZfFTn@^@e~r? literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/downlink_handset_config.pb b/audio/tegu/tuning/apmg3/downlink_handset_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..fab1f2a41130f4d0ff85d3c679e313283756d969 GIT binary patch literal 597 zcmYk3OGq0*9L6^>(RFcxW(lu8R8R7z0@<{~2a z2o?-g+Uh|>d=YRqGpk4uwDG32B0@nehzBe7AcczhdGa*O?#%qZ@Ap#%EwcaGoMO(o zjZyx`yy_^`n>TM*T=n0zmUY3FPc$9tMKG6zO$Y2#-Jo-J*y*CWU4Qv=ojI0l>Sp6F z*XTdL{@hW>Zmk2XDP4C zh|Z@C;Xfqk9)X}ckmwG#rv3pd63P;0T`J3clbB-rx@Y@Bkn10zdEs zU+@Nh@c7s(Ji|ACVK1e|NCEe%_w6Z_kbmkL`DY=y#KqcWhz2v13j^ zhsBZ}3rpLbYC9dT@7tldUexMf#C^*NKO1&xXd3MJ&)T#jR?2>t!UqS-g}ZiItvRZ` zV>|ESU7J36TfNA1us-b4Y(39uo%PAnv#ePPjIDXrBwKftuCjjAzsNc;t=YQlXphzD zy$-vZWJGq?R!rNe7H+uv{iE95SCR^LbFBNcTXX7%-CVa)c6Zrx?a2}k-m}1hVGmHv zo--~J_f(l_@7eO0ZIAb<*gdSqYF38axz?|?yxVhHPhv0MUe`VTwn4l0*BIH(-Eqg3 z<4KUM_IIYec50JsCrgXkm0a1lck&8zdoT^;gTz7dAax-1AblYHAag+Gfy@P&53&bj zAIM&i{UCRM+yinK$bBGpg4_#oH^}`Ue}Mc0@)yW|Ab*1V3-UL}|DbRHg$F2HK;Z)l zCs25S!VMIDpl}3*Cn#J&;R_09Pe$-w~RH`q%s0sua`4l@7% literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/downlink_wired_headset_config.pb b/audio/tegu/tuning/apmg3/downlink_wired_headset_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..0f98f6575369293ac2c62a2c90353f63ed31faa8 GIT binary patch literal 74 zcmWe)qaFU%hbEcg^x)mn}1CZZfFTn@^@ca_o literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb b/audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_off_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..40dd10b6c3f76ca080051bea4635c9bdaf47c177 GIT binary patch literal 1828 zcmeHIO=uHQ5T03*__}84x^&y^*3~5t+y(<-m+BHp-fp5&tA#dr2*pFmA%}tpif!pB zAf6NiZ}B8}^&oigS_C171VlkEf_U}hP3Xy)O@vZClm>b#%gp=vX5QPGdEa~LB~=xj z--?bFx@af@Y?2&FK@sSu1h`nHQG;ZSq(yR{#Q2s`Pl-L$g{2r70VP;RdrO@YnmO}s zHFO63Tb2Ah<59T?0MWwp`R+|4OJEQL(&3RkC$gsc_0<)J4CDdRT$aFgyFE1Z_HY5f zjl$Uo7I6jF;V${?Q@QVo2GEfvsfgCwm3ba|Si)t1ovSBmyd11R;oLC6KXz_Qhn0&S z)jWi2oajaH6THp^sBuB-Q~) zI6wIL<$Cc&w_7b?h!Hl@+UA+v_iLX}q>PK|q{fgr==ZA*_l!wx{?4-sPgIf#-aq04 zP_^0m{NpE*z^C%BH5;1jdB8deDIKOGu{6ukR_T}Am{$80yS|sDpMfScEP+N!ppJH; zc^^q}c4QM;Q|y+ULP>5tPC`d+Oi_rsg~`BkN)r{Hefavrh0EL6QUxV(_-#;M2Mb*A z!2Wy`dYvYEJvbb__L-j0Ydm%=k9)-sy=I0d=O20<2d_RJo>z3S2Ep5-^C}7RKfF37 iR^@zR7(aAsA(K3Mia%=0qqa6`>6w8h(qo6=8|4o+d2&|( literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb b/audio/tegu/tuning/apmg3/uplink_bluetooth_headset_aec_on_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..2cf36927295619c25ba7c2eb3f2849016cb59809 GIT binary patch literal 1828 zcmeHIO=uHQ5T03*_*}DeyL8*_*3~5tx(x=xF4ZNHyxl~lRtq(F2&IRTLk@)^wD?0$ z0r8|Dc#9{&t2Yl`iy-8XfGFri5U-xR2|YQpiBPJC(m+pTnR!3o%zHaC?|V*8{GbXf!_2(6ys3a4-f5Zo% zYP0plCr>4T&*WcgHZ`gml`cAKq9+SMhpxC8?sA#@4Z?q*wSS`?PhL+Ggn$)V7TsFa*? z(Ubmw^dxwd{sKi2gdEbVRWItbo<+#XncawI7zBSR_0=!c>~9xc=r z0Y$RXMS%vu$TtC=v>hxf0&6J&7B&g(lI@Z8$?lQq=V`ehW~hn0qNfE^oqa4G$rVvB zUc9@uW}Z%OdG@Qd$BhaA1dS;BeOu26)u`9&zR6K>MdS>5cC|&QbuHq z!C;W2Ix}n#vA~^S03D2Q9}cPL4_ErEs7#&t2Xx>Y-{#Q4D&7VdZvJO(5)z?*>Z~>~ z_`4hVlrnb_mM^PugHLYWd2N0j?)nyTcU`!_+a0LI_{J{*S?%OS`B@w6n#)u_2?<}` zpa*)^rUwFWFeHU(xU(v11WmRH;?nc?Tb1MSc%3f50J|CW;o_&a@!5H~_W?ypzb>^e2Hp|lj zCtXdu*+AR5qB3qku)0Oez64g}EL6dT06SWAw+G$4Ks_Z;!(!}X)m6A7J?Q6>j&VfA z!_62x$kG26@~Jp*3e}Xy_yeAqBkW5-hr85O7Y^u~1{8=5lxo~08dh0O$Af#JHeZ{` Ris5{v>3|;6kfM8{`~=cb)kXjS literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/uplink_dock_aec_on_config.pb b/audio/tegu/tuning/apmg3/uplink_dock_aec_on_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..a6bb5a41c8d01b7a021730daea59c0fc75b44e01 GIT binary patch literal 1000 zcmd5*&ubG=5T1!)`*>u{cAKrqwyR4dxC8^shR`J>-A!6+S`?PhL+Ggn$)V7TsFa*? z(UblG=}GV^{soF62tm@TRWItbo<+#XncawH*(2$b+#%7=6uBT~sEK?^R|L4uKAJ~zMHGx@ zZ?CLbC(|3v(#y4nwF&@)wJ7_2Th9p9s8*|i#g@4ua)vy;+@R+mD4k5F&EKxYjK~;+ z!60#UW>_O)p+CbAIvC+T98%C9s`xpjGIi!3Qo`3kiA@Jxya_Pe{Lj>+O@#ibvRlO9 z?`jl~%UnfRzNp3pet!MdE9>iUH?Wbb>%%p^?tmBL8@~p~ZY3S%w$@nHmnnYICVY8= z8uX+^4FYhmofe?s&Z_VTnrsuqp=a;6D#zpTIz50Pb~Ebz#ZPbI+?DiO16h zM{yND8)`e3RK^VmSGS1Sm(Y%!1s8k>v7<$|d(h1b)M-aFG-Dl4U4<*sgMKcl7+VxP z+>F749Q|)0pNW4Nm?ZLNX(yUIWD%*5SC`91(aY7 z?MHG>WU@2wZ-&mGf1{GWYd$F#0U%mI4Qspd9Ymb3)I`Z?7-WcA)l{=5zwv z?e@^r+r|X|HwtGXSi}`vgF7^5m&$$DGJJAAenjhiP2>F;p{NL zKQ?YDhn0&SCbaoWr z?;E$I%gRHaavs4I4)h`f8Q$Ooq@2(OCBRF{tT=T^b(-e)Q^KbkguhA%2k5@u9jc+di4rM7-Lh@AD-U&z-voeUHyzAXI@Yzb+)jEgF)TpKXX!_ zzx}+%1GQ{`j}h}ds5@+Z?&&j0;HLa*&4w1w++&@2HW5w4VriD0uG7X|LaY5syujD! zOwfX+Ezl%#80ci0_mSjoSGJ%%#nZCO$Xx1kEV^=iiaa%J%sReXIZ@-$2X8)}zxWv2 zs-ReozIFOHzy=R|aJCM@vXjKJ`}w}N7VNauQLCgoEfpPTA(cLihWG~+%yzN> literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/tegu/tuning/apmg3/uplink_handset_aec_off_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..b70f2b452c5b3fca6a73ffc889d72530df0f8a84 GIT binary patch literal 3474 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 literal 0 HcmV?d00001 diff --git a/audio/tegu/tuning/apmg3/uplink_wired_headset_aec_on_config.pb b/audio/tegu/tuning/apmg3/uplink_wired_headset_aec_on_config.pb new file mode 100644 index 0000000000000000000000000000000000000000..791ff9e40ea117a166094b2fc0f16747aeefcd5e GIT binary patch literal 1828 zcmeHIO=uHQ5T03*_*}DeUApad>*^8+Zi9hkm+BHp-fp5&tA#dr2*pFmA%}tpia+!e z5Kjt%w|Ek~dh_752tvRFL_sftc=hB>=*gK)gi<|}26`&X%=`If-rJdZ-+StLRTbUe zijEe#Xea_~k^)Id5g23y%~ojCBv~hEliVROzU9Jtd;gLNr@}~Or)kTL47GWKe_#G{S%6eaZa7m7&3>0LCxWwF{Lfsd{*U&YC6ID$9w>4 zHd~*0{6rG?RQ|PQLz6xCSf?Rnqiige=Q!FL{gRu|YQGXU@bdIC(1NBV&>&XmXs4R@ zkrZcFwxB)DZs{qM6GX4O`=i$`(<6FK#*URquNb1&?C9kDL$AZ&)yMtwiZ0eLd~@fO(e*oK9a>4)r literal 0 HcmV?d00001