SlideShare a Scribd company logo
1 of 23
Download to read offline
1
Enhance Qualcomm®
Snapdragon™ audio using
Android Audio APIs
Harikishan Desineni,
Director of Engineering
Qualcomm Innovation Center, Inc.
Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.
3
Agenda
Session
overview
1
How Qualcomm
Technologies
incorporated the
digital signal
processor (DSP)
2
Snapdragon Audio
SDK
3
Open DSP program
4
Demo
5
4
Includes the following sound effects:
− Equalizer (EQ) – Adjusts the sound level of certain frequency ranges by use of audio
filters to improve the quality of overall perceived sounds
− Virtualizer – Virtualizes audio channels to compensate for the mismatch between the
loudspeaker setup used when producing the audio, and the audio output device used
when the audio is played back by the end user
− Reverb – Simulates the reverberation that results from reflections from surrounding
walls and objects in an environment to make the sound more live and real
− BassBoost – Dynamically boosts low-frequency content of an audio signal to achieve
better listening experience on bass for a headset device
How Qualcomm® Snapdragon™ Audio+ uses the DSP
Qualcomm Snapdragon Audio+ is a product of Qualcomm Technologies, Inc.
5
Media playback block diagram
Surface Flinger Audio Flinger
MDP/MDDI
Media Player
Media Player Service
StageFright
User space
Java
User space
Native
Kernel
space
DSP
Video OMX
Component
Audio OMX
Component
Video HW
PCM-audio
Audio HAL
Audio HW
Media Server
Audio DriversDisplay Drivers Video Drivers
6
Audio framework: effects offloaded to DSP
Media Player
Media Player
Service
Awesome
Player
Audio Track AudioFlinger
Qualcomm®
Hexagon™
AudioEffects
Software
AudioEffect
BassBosst
Virtualizer
ReverB
X
Qualcomm Hexagon is a product of Qualcomm Technologies, Inc.
7
Snapdragon Audio SDK
8
Snapdragon Audio SDK
Fluence™ Pro EC NS detection
Snapdragon SDK for Android: Device Info
The Device Info feature set is designed to allow an application to detect if the device it is running on has a
Snapdragon processor. This insight lets you make informed decisions about how to take full advantage of
features enabled by Snapdragon processors.
Using Device Info is designed to let you tap into the following hardware features to help improve the
performance of your applications:
− Is Snapdragon
This feature is designed to allow the application to detect at runtime if the device has a Snapdragon processor
− Echo Cancellation/Noise Suppression
Echo Cancellation/Noise Suppression is designed to foster better audio communication quality at lower power by
allowing full duplex mode during VOIP calls. These features are specifically tuned to each device, and use technology
available on normal mobile voice calls so you can offload CPU/software-based echo cancellation and noise suppression.
Fluence Pro is a product of Qualcomm Technologies, Inc.
9
Snapdragon Audio SDK
com.qualcomm.snapdragon.sdk.deviceinfo
Class Description
DeviceInfo The DeviceInfo API provides a mechanism to query a device about the presence of certain functionalities.
Class Description
DeviceInfo.Features The list of features that can be detected with the function isFeatureSupported(Feature, Context)
Sample code is subject to SDK license agreement. Source: http://developer.qualcomm.com
10
Snapdragon Audio SDK
public static final DeviceInfo.Features FEATURE_FLUENCE
Noise Cancellation Technology
− If isFeatureSupported returns true for this feature, then it can be assumed that echo
cancellation is supported on the voice path.
− If isFeatureSupported returns true for this feature, and the standard Android API
android.media.audiofx.AcousticEchoCanceler.isAvailable() also returns true, then it can
be assumed that echo cancellation is also available on the audio path.
11
Snapdragon Audio SDK
FEATURE_SURROUND_SOUND_RECORDING
public static final DeviceInfo.Features FEATURE_SURROUND_SOUND_RECORDINGSurround
Sound Recording is designed to allow for 5.1 surround sound input using existing
microphones on the device
12
OpenDSP program
13
Audio Modules – Common Interface
Common interface for audio
modules that are defined to ease
integration with the Elite
Framework
Audio Postprocessor Interface
(APPI) for audio processing
algorithms
Common Audio Processor Interface
(CAPI) for audio codec modules
Processing
Algorithm
Wrapper with
common interface (APPI)
Codec
Decoder / Encoder
Wrapper with
common interface (CAPI)
Note: The terms algorithm, module, and library are used interchangeably in this presentation.
14
Audio Modules – Static and Dynamic
Two types of modules, based on loading:
− Static modules (*.lib)
− Linked to the aDSP image at compile time
− Symbol are resolved at compile time
− aDSP image must be recompiled when a module changes
− Dynamic modules (*.so)
− Loaded at run-time into aDSP heap memory
− Symbols are resolved when the module is loaded into memory
− aDSP image does not need to be recompiled when a
module changes
Each module is identified by unique global module ID
Audio static modules are added to the AMDB at boot time
Audio dynamic modules are added to the AMDB at run time
APPI mod-n (*.so)
CAPI mod-3 (*.so)
CAPI mod-2 (*.lib)
APPI mod-1 (*.lib)
15
Per Object PostProcessing (POPP)
Per Object PreProcessing (POPreP )
Processing chain per audio stream
Default POPP topologies:
− Playback session
− Record session
DSP audio
mixer
Downmix
if needed
Resampler Audio EncoderVolume
DSP audio
mixer
Volume Audio DecoderResampler
POPP Topologies
16
Common Object PostProcessing (COPP)
Common Object PreProcessing (COPreP)
Processing chain per device
Default COPP topologies:
− Playback session
− Record session
AFE
Audio
pregain
AFE CodecRX
Gain
DSP Audio
Mixer
Audio
Volume
DSP Audio
Mixer
COPP Topologies
17
Custom Audio Topology – Static and Dynamic
Two types of audio topologies:
− Static topologies
− Created at compile time
− aDSP image must be recompiled if the topology changes
− Dynamic topology
− Created at run time
− aDSP image does not need to be recompiled if the topology changes
− APIs are defined for adding custom dynamic topologies from the applications processor:
Custom topology is designed to use any module defined in the AMDB by using Module IDs
Customized topology with an OEM algorithm
ASM_CMD_ADD_TOPOLOGIES // for POPP and POPREP
ADM_CMD_ADD_TOPOLOGIES_V5 // for COPP and COPREP
Audio Mixer Volume
OEM
Algorithm
Audio DecoderResampler
18
Audio Dynamic Topology
How are dynamic topologies added at run time?
APR
ADM
Topo DB
ASM_CMD_ADD_TOPOLOGIES T2 (-M1-M4-), T3 (-M1-M2)
topo_db_add_topologies()
T1
T2
T3
aDSP
AMDB
M1
M2
M3
M4
New audio sessions can be created using T2 and T3
topologies after adding them to the topology databaseClient Processor
ASM
19
ISV Module1 ISV Module2
Application
HAL
RTAC Kernel Driver
APR Handler
DSP
Payload
ASM_CMD_SET_PP_PARAMS/
AMD_CMD_SET_PP_PARAMS
RTAC Userspace module
Send_rtac()
ACDB Loader
Acdb_store()
Acdb_send()
Acdb_get()
acdb file
Get/setParameter(key”,value)
Software Architecture – Block Diagram
20
Software Architecture – Android APIs
Existing set parameter android API extended to have new key value pairs
Setparameter() with persistence
− set_parameter(key=”ISV_PERSIST_CFG”, value=” DataBinary, *”);
− Data Binary – Entire calibration data binary that is stored in calibration database. Even if user changes single
parameter through UI, the app is responsible for packaging the entire data binary for persistence
Setparameter() without persistence
− set_parameter(key=”ISV_NOPERSIST_CFG”, value, “List_MID_PID, *”);
− List_MID_PID – List of dynamically modified calibration to be applied on ISV modules in ADSP. This could be an
array of Module ID, Parameter ID and data, or could be only one set of ModuleId, Parameter ID and values. Here, the
data is not persisted in audio calibration database. The app is responsible for packaging the modified modules and
parameters.
21
Demo
22
developer.qualcomm.com
Augmented
reality
Context
awareness
Peer
to peer
Wireless
health
Graphics
& gaming
Computer
vision
Android
applications
App development SDKs & tools
Marketing opportunities
Case Studies & Tutorials
News & Information
Hardware development platforms
Forums & technical support
Tools & resources to help developers build, integrate, and optimize
Qualcomm Developer Network
23
For more information on Qualcomm, visit us at:
www.qualcomm.com & www.qualcomm.com/blog
Thank you
FOLLOW US ON:
© 2013-2014 Qualcomm Technologies, Inc. and/or its affiliated companies. All rights reserved.
Qualcomm, Snapdragon, Hexagon and Fluence are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Uplinq is a trademark of Qualcomm Incorporated. All trademarks of
Qualcomm Incorporated are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners.
References in this presentation to “Qualcomm” may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other subsidiaries or business units within the Qualcomm corporate structure, as applicable.
Qualcomm Incorporated includes Qualcomm’s licensing business, QTL, and the vast majority of its patent portfolio. Qualcomm Technologies, Inc., a wholly-owned subsidiary of Qualcomm Incorporated, operates, along with
its subsidiaries, substantially all of Qualcomm’s engineering, research and development functions, and substantially all of its product and services businesses, including its semiconductor business, QCT.

More Related Content

What's hot

Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia FrameworkPicker Weng
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introductionWilliam Liang
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
08 android multimedia_framework_overview
08 android multimedia_framework_overview08 android multimedia_framework_overview
08 android multimedia_framework_overviewArjun Reddy
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia FrameworkOpersys inc.
 
Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)fefe7270
 
HPC Application Profiling and Analysis
HPC Application Profiling and AnalysisHPC Application Profiling and Analysis
HPC Application Profiling and AnalysisRishi Pathak
 

What's hot (20)

Android 10
Android 10Android 10
Android 10
 
Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia Framework
 
Handbook on Functional Testing; HIL | MIL | SIL Testing
Handbook on Functional Testing; HIL | MIL | SIL TestingHandbook on Functional Testing; HIL | MIL | SIL Testing
Handbook on Functional Testing; HIL | MIL | SIL Testing
 
Low Level View of Android System Architecture
Low Level View of Android System ArchitectureLow Level View of Android System Architecture
Low Level View of Android System Architecture
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
08 android multimedia_framework_overview
08 android multimedia_framework_overview08 android multimedia_framework_overview
08 android multimedia_framework_overview
 
Android ppt
 Android ppt Android ppt
Android ppt
 
Pass Structure of Assembler
Pass Structure of AssemblerPass Structure of Assembler
Pass Structure of Assembler
 
Can bus
Can busCan bus
Can bus
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
I/O Management
I/O ManagementI/O Management
I/O Management
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)Android audio system(pcm데이터출력준비-서비스서버)
Android audio system(pcm데이터출력준비-서비스서버)
 
HPC Application Profiling and Analysis
HPC Application Profiling and AnalysisHPC Application Profiling and Analysis
HPC Application Profiling and Analysis
 

Similar to UplinQ - enhance qualcomm® snapdragon™ audio using android audio ap_is

Sound recording glossary imporved version
Sound recording glossary imporved versionSound recording glossary imporved version
Sound recording glossary imporved versionAidenKelly
 
Sound Recording Glossary
Sound Recording GlossarySound Recording Glossary
Sound Recording GlossaryAidenKelly
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsSatya Harish
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Developer Network
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Qualcomm Developer Network
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheetNeilRogero
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Ig2 task 1 work sheet 12378
Ig2 task 1 work sheet 12378Ig2 task 1 work sheet 12378
Ig2 task 1 work sheet 12378CallumDrakeCPFC
 
Ig2 task 1 work sheet newi9979
Ig2 task 1 work sheet newi9979Ig2 task 1 work sheet newi9979
Ig2 task 1 work sheet newi9979CallumDrakeCPFC
 
Rloynd ig2 t1 ws
Rloynd ig2 t1 wsRloynd ig2 t1 ws
Rloynd ig2 t1 wsrosstapher
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...AMD Developer Central
 
IG2 Task 1 Worksheet
IG2 Task 1 WorksheetIG2 Task 1 Worksheet
IG2 Task 1 WorksheetSamDuxburyGDS
 
Ben white ig2 task 1 work sheet
Ben white   ig2 task 1 work sheetBen white   ig2 task 1 work sheet
Ben white ig2 task 1 work sheetBenWhite101
 
Achieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesAchieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesQualcomm Research
 

Similar to UplinQ - enhance qualcomm® snapdragon™ audio using android audio ap_is (20)

Sound recording glossary imporved version
Sound recording glossary imporved versionSound recording glossary imporved version
Sound recording glossary imporved version
 
Sound Recording Glossary
Sound Recording GlossarySound Recording Glossary
Sound Recording Glossary
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
 
Resume_suresh_final
Resume_suresh_finalResume_suresh_final
Resume_suresh_final
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
 
Audio equalizer
Audio equalizerAudio equalizer
Audio equalizer
 
Choosing the right processor
Choosing the right processorChoosing the right processor
Choosing the right processor
 
Ig2 task 1 work sheet 12378
Ig2 task 1 work sheet 12378Ig2 task 1 work sheet 12378
Ig2 task 1 work sheet 12378
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
 
Ig2 task 1 work sheet newi9979
Ig2 task 1 work sheet newi9979Ig2 task 1 work sheet newi9979
Ig2 task 1 work sheet newi9979
 
Rloynd ig2 t1 ws
Rloynd ig2 t1 wsRloynd ig2 t1 ws
Rloynd ig2 t1 ws
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
 
IG2 Task 1 Worksheet
IG2 Task 1 WorksheetIG2 Task 1 Worksheet
IG2 Task 1 Worksheet
 
Ben white ig2 task 1 work sheet
Ben white   ig2 task 1 work sheetBen white   ig2 task 1 work sheet
Ben white ig2 task 1 work sheet
 
Achieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesAchieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile Devices
 
ARM Processor Tutorial
ARM Processor Tutorial ARM Processor Tutorial
ARM Processor Tutorial
 

More from Satya Harish

Workday-hrtechnologyconferencedebihirshlagflextronics
Workday-hrtechnologyconferencedebihirshlagflextronicsWorkday-hrtechnologyconferencedebihirshlagflextronics
Workday-hrtechnologyconferencedebihirshlagflextronicsSatya Harish
 
WorkDay-surviving and thriving in a world of change
WorkDay-surviving and thriving in a world of changeWorkDay-surviving and thriving in a world of change
WorkDay-surviving and thriving in a world of changeSatya Harish
 
Book scrum tutorial
Book   scrum tutorialBook   scrum tutorial
Book scrum tutorialSatya Harish
 
O - Oracle application testing suite test starter kits for oracle e business ...
O - Oracle application testing suite test starter kits for oracle e business ...O - Oracle application testing suite test starter kits for oracle e business ...
O - Oracle application testing suite test starter kits for oracle e business ...Satya Harish
 
Book HH - SQL MATERIAL
Book   HH - SQL MATERIALBook   HH - SQL MATERIAL
Book HH - SQL MATERIALSatya Harish
 
Book HH- vb2008me preview
Book   HH- vb2008me previewBook   HH- vb2008me preview
Book HH- vb2008me previewSatya Harish
 
Book HH- vb6 preview
Book   HH- vb6 previewBook   HH- vb6 preview
Book HH- vb6 previewSatya Harish
 
G03.2014 Intelligent Business Process Management Suites
G03.2014   Intelligent Business Process Management SuitesG03.2014   Intelligent Business Process Management Suites
G03.2014 Intelligent Business Process Management SuitesSatya Harish
 
G05.2013 Critical Capabilities for SIEM
G05.2013   Critical Capabilities for SIEMG05.2013   Critical Capabilities for SIEM
G05.2013 Critical Capabilities for SIEMSatya Harish
 
G07.2013 Application Security Testing
G07.2013   Application Security TestingG07.2013   Application Security Testing
G07.2013 Application Security TestingSatya Harish
 
G05.2015 Secure Web Gateways
G05.2015   Secure Web GatewaysG05.2015   Secure Web Gateways
G05.2015 Secure Web GatewaysSatya Harish
 
G11.2013 Application Development Life Cycle Management
G11.2013   Application Development Life Cycle ManagementG11.2013   Application Development Life Cycle Management
G11.2013 Application Development Life Cycle ManagementSatya Harish
 
G10.2013 Application Delivery Controllers
G10.2013   Application Delivery ControllersG10.2013   Application Delivery Controllers
G10.2013 Application Delivery ControllersSatya Harish
 
G06.2014 Security Information and Event Management
G06.2014   Security Information and Event ManagementG06.2014   Security Information and Event Management
G06.2014 Security Information and Event ManagementSatya Harish
 
G05.2013 Security Information and Event Management
G05.2013   Security Information and Event ManagementG05.2013   Security Information and Event Management
G05.2013 Security Information and Event ManagementSatya Harish
 
Gartner HH 2015 - 2005 Hype Cycle
Gartner HH   2015 - 2005 Hype CycleGartner HH   2015 - 2005 Hype Cycle
Gartner HH 2015 - 2005 Hype CycleSatya Harish
 
G05.2015 - Magic quadrant for cloud infrastructure as a service
G05.2015 - Magic quadrant for cloud infrastructure as a serviceG05.2015 - Magic quadrant for cloud infrastructure as a service
G05.2015 - Magic quadrant for cloud infrastructure as a serviceSatya Harish
 
G05.2014 - Magic quadrant for cloud infrastructure as a service
G05.2014 - Magic quadrant for cloud infrastructure as a serviceG05.2014 - Magic quadrant for cloud infrastructure as a service
G05.2014 - Magic quadrant for cloud infrastructure as a serviceSatya Harish
 
PERIODIC TABLE OF SEO SUCCESS FACTOR
PERIODIC TABLE OF SEO SUCCESS FACTORPERIODIC TABLE OF SEO SUCCESS FACTOR
PERIODIC TABLE OF SEO SUCCESS FACTORSatya Harish
 

More from Satya Harish (20)

Workday-hrtechnologyconferencedebihirshlagflextronics
Workday-hrtechnologyconferencedebihirshlagflextronicsWorkday-hrtechnologyconferencedebihirshlagflextronics
Workday-hrtechnologyconferencedebihirshlagflextronics
 
WorkDay-surviving and thriving in a world of change
WorkDay-surviving and thriving in a world of changeWorkDay-surviving and thriving in a world of change
WorkDay-surviving and thriving in a world of change
 
Book scrum tutorial
Book   scrum tutorialBook   scrum tutorial
Book scrum tutorial
 
O - Oracle application testing suite test starter kits for oracle e business ...
O - Oracle application testing suite test starter kits for oracle e business ...O - Oracle application testing suite test starter kits for oracle e business ...
O - Oracle application testing suite test starter kits for oracle e business ...
 
Qualcomm
QualcommQualcomm
Qualcomm
 
Book HH - SQL MATERIAL
Book   HH - SQL MATERIALBook   HH - SQL MATERIAL
Book HH - SQL MATERIAL
 
Book HH- vb2008me preview
Book   HH- vb2008me previewBook   HH- vb2008me preview
Book HH- vb2008me preview
 
Book HH- vb6 preview
Book   HH- vb6 previewBook   HH- vb6 preview
Book HH- vb6 preview
 
G03.2014 Intelligent Business Process Management Suites
G03.2014   Intelligent Business Process Management SuitesG03.2014   Intelligent Business Process Management Suites
G03.2014 Intelligent Business Process Management Suites
 
G05.2013 Critical Capabilities for SIEM
G05.2013   Critical Capabilities for SIEMG05.2013   Critical Capabilities for SIEM
G05.2013 Critical Capabilities for SIEM
 
G07.2013 Application Security Testing
G07.2013   Application Security TestingG07.2013   Application Security Testing
G07.2013 Application Security Testing
 
G05.2015 Secure Web Gateways
G05.2015   Secure Web GatewaysG05.2015   Secure Web Gateways
G05.2015 Secure Web Gateways
 
G11.2013 Application Development Life Cycle Management
G11.2013   Application Development Life Cycle ManagementG11.2013   Application Development Life Cycle Management
G11.2013 Application Development Life Cycle Management
 
G10.2013 Application Delivery Controllers
G10.2013   Application Delivery ControllersG10.2013   Application Delivery Controllers
G10.2013 Application Delivery Controllers
 
G06.2014 Security Information and Event Management
G06.2014   Security Information and Event ManagementG06.2014   Security Information and Event Management
G06.2014 Security Information and Event Management
 
G05.2013 Security Information and Event Management
G05.2013   Security Information and Event ManagementG05.2013   Security Information and Event Management
G05.2013 Security Information and Event Management
 
Gartner HH 2015 - 2005 Hype Cycle
Gartner HH   2015 - 2005 Hype CycleGartner HH   2015 - 2005 Hype Cycle
Gartner HH 2015 - 2005 Hype Cycle
 
G05.2015 - Magic quadrant for cloud infrastructure as a service
G05.2015 - Magic quadrant for cloud infrastructure as a serviceG05.2015 - Magic quadrant for cloud infrastructure as a service
G05.2015 - Magic quadrant for cloud infrastructure as a service
 
G05.2014 - Magic quadrant for cloud infrastructure as a service
G05.2014 - Magic quadrant for cloud infrastructure as a serviceG05.2014 - Magic quadrant for cloud infrastructure as a service
G05.2014 - Magic quadrant for cloud infrastructure as a service
 
PERIODIC TABLE OF SEO SUCCESS FACTOR
PERIODIC TABLE OF SEO SUCCESS FACTORPERIODIC TABLE OF SEO SUCCESS FACTOR
PERIODIC TABLE OF SEO SUCCESS FACTOR
 

Recently uploaded

VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 

Recently uploaded (20)

VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 

UplinQ - enhance qualcomm® snapdragon™ audio using android audio ap_is

  • 1. 1
  • 2. Enhance Qualcomm® Snapdragon™ audio using Android Audio APIs Harikishan Desineni, Director of Engineering Qualcomm Innovation Center, Inc. Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.
  • 3. 3 Agenda Session overview 1 How Qualcomm Technologies incorporated the digital signal processor (DSP) 2 Snapdragon Audio SDK 3 Open DSP program 4 Demo 5
  • 4. 4 Includes the following sound effects: − Equalizer (EQ) – Adjusts the sound level of certain frequency ranges by use of audio filters to improve the quality of overall perceived sounds − Virtualizer – Virtualizes audio channels to compensate for the mismatch between the loudspeaker setup used when producing the audio, and the audio output device used when the audio is played back by the end user − Reverb – Simulates the reverberation that results from reflections from surrounding walls and objects in an environment to make the sound more live and real − BassBoost – Dynamically boosts low-frequency content of an audio signal to achieve better listening experience on bass for a headset device How Qualcomm® Snapdragon™ Audio+ uses the DSP Qualcomm Snapdragon Audio+ is a product of Qualcomm Technologies, Inc.
  • 5. 5 Media playback block diagram Surface Flinger Audio Flinger MDP/MDDI Media Player Media Player Service StageFright User space Java User space Native Kernel space DSP Video OMX Component Audio OMX Component Video HW PCM-audio Audio HAL Audio HW Media Server Audio DriversDisplay Drivers Video Drivers
  • 6. 6 Audio framework: effects offloaded to DSP Media Player Media Player Service Awesome Player Audio Track AudioFlinger Qualcomm® Hexagon™ AudioEffects Software AudioEffect BassBosst Virtualizer ReverB X Qualcomm Hexagon is a product of Qualcomm Technologies, Inc.
  • 8. 8 Snapdragon Audio SDK Fluence™ Pro EC NS detection Snapdragon SDK for Android: Device Info The Device Info feature set is designed to allow an application to detect if the device it is running on has a Snapdragon processor. This insight lets you make informed decisions about how to take full advantage of features enabled by Snapdragon processors. Using Device Info is designed to let you tap into the following hardware features to help improve the performance of your applications: − Is Snapdragon This feature is designed to allow the application to detect at runtime if the device has a Snapdragon processor − Echo Cancellation/Noise Suppression Echo Cancellation/Noise Suppression is designed to foster better audio communication quality at lower power by allowing full duplex mode during VOIP calls. These features are specifically tuned to each device, and use technology available on normal mobile voice calls so you can offload CPU/software-based echo cancellation and noise suppression. Fluence Pro is a product of Qualcomm Technologies, Inc.
  • 9. 9 Snapdragon Audio SDK com.qualcomm.snapdragon.sdk.deviceinfo Class Description DeviceInfo The DeviceInfo API provides a mechanism to query a device about the presence of certain functionalities. Class Description DeviceInfo.Features The list of features that can be detected with the function isFeatureSupported(Feature, Context) Sample code is subject to SDK license agreement. Source: http://developer.qualcomm.com
  • 10. 10 Snapdragon Audio SDK public static final DeviceInfo.Features FEATURE_FLUENCE Noise Cancellation Technology − If isFeatureSupported returns true for this feature, then it can be assumed that echo cancellation is supported on the voice path. − If isFeatureSupported returns true for this feature, and the standard Android API android.media.audiofx.AcousticEchoCanceler.isAvailable() also returns true, then it can be assumed that echo cancellation is also available on the audio path.
  • 11. 11 Snapdragon Audio SDK FEATURE_SURROUND_SOUND_RECORDING public static final DeviceInfo.Features FEATURE_SURROUND_SOUND_RECORDINGSurround Sound Recording is designed to allow for 5.1 surround sound input using existing microphones on the device
  • 13. 13 Audio Modules – Common Interface Common interface for audio modules that are defined to ease integration with the Elite Framework Audio Postprocessor Interface (APPI) for audio processing algorithms Common Audio Processor Interface (CAPI) for audio codec modules Processing Algorithm Wrapper with common interface (APPI) Codec Decoder / Encoder Wrapper with common interface (CAPI) Note: The terms algorithm, module, and library are used interchangeably in this presentation.
  • 14. 14 Audio Modules – Static and Dynamic Two types of modules, based on loading: − Static modules (*.lib) − Linked to the aDSP image at compile time − Symbol are resolved at compile time − aDSP image must be recompiled when a module changes − Dynamic modules (*.so) − Loaded at run-time into aDSP heap memory − Symbols are resolved when the module is loaded into memory − aDSP image does not need to be recompiled when a module changes Each module is identified by unique global module ID Audio static modules are added to the AMDB at boot time Audio dynamic modules are added to the AMDB at run time APPI mod-n (*.so) CAPI mod-3 (*.so) CAPI mod-2 (*.lib) APPI mod-1 (*.lib)
  • 15. 15 Per Object PostProcessing (POPP) Per Object PreProcessing (POPreP ) Processing chain per audio stream Default POPP topologies: − Playback session − Record session DSP audio mixer Downmix if needed Resampler Audio EncoderVolume DSP audio mixer Volume Audio DecoderResampler POPP Topologies
  • 16. 16 Common Object PostProcessing (COPP) Common Object PreProcessing (COPreP) Processing chain per device Default COPP topologies: − Playback session − Record session AFE Audio pregain AFE CodecRX Gain DSP Audio Mixer Audio Volume DSP Audio Mixer COPP Topologies
  • 17. 17 Custom Audio Topology – Static and Dynamic Two types of audio topologies: − Static topologies − Created at compile time − aDSP image must be recompiled if the topology changes − Dynamic topology − Created at run time − aDSP image does not need to be recompiled if the topology changes − APIs are defined for adding custom dynamic topologies from the applications processor: Custom topology is designed to use any module defined in the AMDB by using Module IDs Customized topology with an OEM algorithm ASM_CMD_ADD_TOPOLOGIES // for POPP and POPREP ADM_CMD_ADD_TOPOLOGIES_V5 // for COPP and COPREP Audio Mixer Volume OEM Algorithm Audio DecoderResampler
  • 18. 18 Audio Dynamic Topology How are dynamic topologies added at run time? APR ADM Topo DB ASM_CMD_ADD_TOPOLOGIES T2 (-M1-M4-), T3 (-M1-M2) topo_db_add_topologies() T1 T2 T3 aDSP AMDB M1 M2 M3 M4 New audio sessions can be created using T2 and T3 topologies after adding them to the topology databaseClient Processor ASM
  • 19. 19 ISV Module1 ISV Module2 Application HAL RTAC Kernel Driver APR Handler DSP Payload ASM_CMD_SET_PP_PARAMS/ AMD_CMD_SET_PP_PARAMS RTAC Userspace module Send_rtac() ACDB Loader Acdb_store() Acdb_send() Acdb_get() acdb file Get/setParameter(key”,value) Software Architecture – Block Diagram
  • 20. 20 Software Architecture – Android APIs Existing set parameter android API extended to have new key value pairs Setparameter() with persistence − set_parameter(key=”ISV_PERSIST_CFG”, value=” DataBinary, *”); − Data Binary – Entire calibration data binary that is stored in calibration database. Even if user changes single parameter through UI, the app is responsible for packaging the entire data binary for persistence Setparameter() without persistence − set_parameter(key=”ISV_NOPERSIST_CFG”, value, “List_MID_PID, *”); − List_MID_PID – List of dynamically modified calibration to be applied on ISV modules in ADSP. This could be an array of Module ID, Parameter ID and data, or could be only one set of ModuleId, Parameter ID and values. Here, the data is not persisted in audio calibration database. The app is responsible for packaging the modified modules and parameters.
  • 22. 22 developer.qualcomm.com Augmented reality Context awareness Peer to peer Wireless health Graphics & gaming Computer vision Android applications App development SDKs & tools Marketing opportunities Case Studies & Tutorials News & Information Hardware development platforms Forums & technical support Tools & resources to help developers build, integrate, and optimize Qualcomm Developer Network
  • 23. 23 For more information on Qualcomm, visit us at: www.qualcomm.com & www.qualcomm.com/blog Thank you FOLLOW US ON: © 2013-2014 Qualcomm Technologies, Inc. and/or its affiliated companies. All rights reserved. Qualcomm, Snapdragon, Hexagon and Fluence are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Uplinq is a trademark of Qualcomm Incorporated. All trademarks of Qualcomm Incorporated are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners. References in this presentation to “Qualcomm” may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other subsidiaries or business units within the Qualcomm corporate structure, as applicable. Qualcomm Incorporated includes Qualcomm’s licensing business, QTL, and the vast majority of its patent portfolio. Qualcomm Technologies, Inc., a wholly-owned subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of Qualcomm’s engineering, research and development functions, and substantially all of its product and services businesses, including its semiconductor business, QCT.