From b82bc02526db68d0bcbb260ac74fcf4688a0d7dc Mon Sep 17 00:00:00 2001 From: David Li Date: Tue, 24 Aug 2021 15:07:15 +0800 Subject: [PATCH] audio: update Media Record Tuning Files R4O6 Update camcorder tunings files for FRC Reason: - The SA-lite pipeline is used for 3rd party camcorder/recorder and need to be updated tuning for audio quality (b/185293492) - There is e-Noise issue could be noticed when using 3rd party camcorder/recorder Change list: Update audio_platform_configuration.xml file so that parameters in SA-lite pipeline can be loaded correctly Update template.xml file to enable feature swapping microphone assessment in SA-lite pipeline Update recording.gatf file for modifing tuning parameters Validation: 3rd party camcorder/recorder function are good and validation was used SD1A.210817.007 (7665414) Bug: 197492283 Test: forrest build passed Change-Id: Ifc66519c92935dc4bd14d68a85a491f96429272a --- .../config/audio_platform_configuration.xml | 5 ++- audio/oriole/tuning/bluenote/recording.gatf | Bin 175684 -> 227688 bytes audio/oriole/tuning/bluenote/template.xml | 3 ++ .../config/audio_platform_configuration.xml | 5 ++- audio/raven/tuning/bluenote/recording.gatf | Bin 351324 -> 227688 bytes audio/raven/tuning/bluenote/template.xml | 35 ++++++++++++++++++ 6 files changed, 46 insertions(+), 2 deletions(-) diff --git a/audio/oriole/config/audio_platform_configuration.xml b/audio/oriole/config/audio_platform_configuration.xml index ba55a22..433c21f 100644 --- a/audio/oriole/config/audio_platform_configuration.xml +++ b/audio/oriole/config/audio_platform_configuration.xml @@ -34,7 +34,7 @@ - + @@ -247,6 +247,9 @@ + + + diff --git a/audio/oriole/tuning/bluenote/recording.gatf b/audio/oriole/tuning/bluenote/recording.gatf index 10719f86543bc8554c93eed47bef9ea0aec404dd..b7c56dabc612b82a770437512386ebb1771922d5 100644 GIT binary patch delta 9538 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 WzYv{Yh|VwmH|H1C^`@-ADgOclc{>CE delta 408 zcmaFyiTB7IE|-$hykwhoOblhIMR_a?3=E7w3=~UmSk1tYT9TNq0OSWR;9b7wtD1h_ zjL7ekn>DQBf8XBt_D9=VnS|GezU_4 zjDTyVCxb0lSwAq2bWsVNAO}7H4ZuvFo+RkaGUeB@! zili15v7#>V1Roq;m o^K-W6f|o)mleacpa5yznblww?%Q>J9XJ{bo;_WXA7#rpQ05x=vxc~qF diff --git a/audio/oriole/tuning/bluenote/template.xml b/audio/oriole/tuning/bluenote/template.xml index cf00533..244ebe8 100644 --- a/audio/oriole/tuning/bluenote/template.xml +++ b/audio/oriole/tuning/bluenote/template.xml @@ -135,6 +135,9 @@ + + + diff --git a/audio/raven/config/audio_platform_configuration.xml b/audio/raven/config/audio_platform_configuration.xml index ba55a22..433c21f 100644 --- a/audio/raven/config/audio_platform_configuration.xml +++ b/audio/raven/config/audio_platform_configuration.xml @@ -34,7 +34,7 @@ - + @@ -247,6 +247,9 @@ + + + diff --git a/audio/raven/tuning/bluenote/recording.gatf b/audio/raven/tuning/bluenote/recording.gatf index 88c233370a0a1d2db79d5c835fee04958fb84f16..b76c8ba246a8680fbdb2335cdccd7c0553e1fcdd 100644 GIT binary patch delta 3322 zcmcb!L-fTb-o%p9yyS#RW`?rVqC6G`1_nkT28yLGSoJhaDmUAaP+J2HD31#G4Cv)-WyaNMaJ0ex`ysWc!S>Of7=j7dSJW;oE*; z8l!>2c8ye)4c?I+TnIO%-1(WlC~t;tbLU#irF(q4_PjbL;n*PWbuZIJ?QQnwV<>K7 z5CFT01E?Ql9|Mr?WMF3C12SPQvz4E4P!Pz6xk(7hhP!q8T5rbidcP|x?bg`J+RZHM zvt4)9WWU;;Ry(!W8vErfEB14_CxB_gB{B8}4Au7O8`GE0PYMCk=ac;HD<(YI?y~It;-v44|EL(Z2Td} zIACtr{{Mp=pS=k0zL*JHZ5Mq^-`}IY#BSq9mVt8-Bv8PiGWo*>F0ly*fg%SWcmb4d z*gx^3l@xXv1_p(L6F-{a)Mp_!!-|2SK%9Z$fgS_H1~UeRBi6tqq6sn)y9@(^fI7%T z?6MO-ItU$b06Gzf7XYz>BLf42Qp+O_Zg`iwdDiDTJ>9GGe_TSza}8+a zz;?kXW`ZTbc7-%%gZU^KePV7tYe>M97xy_jYMTF8c-6k#H<4HGGpz} H7drC+ViO%H delta 29795 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 diff --git a/audio/raven/tuning/bluenote/template.xml b/audio/raven/tuning/bluenote/template.xml index 07b54f8..244ebe8 100644 --- a/audio/raven/tuning/bluenote/template.xml +++ b/audio/raven/tuning/bluenote/template.xml @@ -135,6 +135,9 @@ + + + @@ -214,6 +217,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -241,6 +269,13 @@ + + + + + + +