SlideShare a Scribd company logo
1 of 30
Download to read offline
OUTLINE
Android camera API history
What’s new of Camera API 2
HAL 3.2
Titan Camera API 2 situation
Solutions & Hacks
Conclusions
API Lv 21
Camera API 1
Camera API 1(camera)
Camera API 2(camera2)
API Lv ##
Camera API 2
HISTORY
ICS
HAL 1.0
JB 4.2 JB 4.3
HAL 1.0 - 3.1
HAL 3.2
HAL 1.0
HAL 2.0
HAL 3.0
KK
HAL 1.0
HAL 2.0
HAL 3.0
HAL 3.1
L
HISTORY
WHAT’S NEW OF CAMERA API 2?
camera & camera2 are both available to App Developer
BUT - only HAL 3.2 enables all features/properties of camera2
Shim layer
being used to as the Facade layer between new camera2 API
and older HAL 1.0-3.1 by using camera API
WHAT’S NEW OF CAMERA API 2?
WHAT’S NEW OF CAMERA API 2?
WHAT’S NEW OF CAMERA API 2?
much more metadata, and per-frame metadata.
more direct controls on sensor and Post Processing
Synchronisation of setting and captures
Full rate, full-res captures in various formats
Support raw image capturing and saving
Camera API 1 is necessary for legacy applications
WHAT’S NEW OF CAMERA API 2?
WHAT’S NEW OF CAMERA API 2?
HAL 3.2
support vendor tags by camera module HAL
support partial metadata result
enables all features/properties of camera2
Not support stream configurations for still captures
Framework assumes high-res JPEG stream can be configured at all
times without showing down preview framerate.
HAL 3.2
HAL 3.2
FULL mode
LIMITED mode
HAL 1.0 - 3.1
LEGACY Mode
HAL 3.2
HAL 3.2
HAL 3.2
Step 1
Step 2Step 3
TITAN CAMERA API 2 SITUATION
Step 1
Step 2Step 3
TITAN CAMERA API 2 SITUATION
TITAN CAMERA API 2 SITUATION
CaptureRequest
frame meta
CaptureRequest
frame meta
camera2 HAL 3
CaptureRequest
frame meta
CaptureRequest
frame meta
CaptureRequest
frame meta
CaptureRequest
frame meta
TITAN CAMERA API 2 SITUATION
CaptureRequest
frame meta
CaptureRequest
frame meta
camera2 HAL 1
CaptureRequest
frame meta
CaptureRequest
frame meta
SHIM
CaptureRequest
frame meta
CaptureRequest
frame meta
TITAN CAMERA API 2 SITUATION
Arcsoft involved to use camera2 only for its camera app.
QCT never supportYUV sensor with HAL 3, and Titan’s camera
solution was forced to use HAL 1.
Vertu decide to use HAL 1 + shim + camera 2 in Apr 2015
Vertu would like to have a Legacy+ device.
TITAN CAMERA API 2 SITUATION
Arcsoft involved to use camera2 only for its camera app.
QCT never supportYUV sensor with HAL 3, and Titan’s camera
solution was forced to use HAL 1.
Vertu decide to use HAL 1 + shim + camera 2 in Apr 2015
Vertu would like to have aVertu specific Legacy+ mode for Titan
TITAN CAMERA API 2 SITUATION
LEGACY+ mode
slowmo/HFR support
Cont. shot/ZSL/BurstCap support (abandoned byVertu at wk 41)
PICAUTO support
AS HDR support
YUV420 to NV12/21, notYV12 format
TITAN CAMERA API 2 SITUATION
mediaserver
android.hardware.Camera
android.hardware.ca
mera2.*
android.hardware.ca
mera2.legacy.*
CameraService(Native)
App
Camera2 Legacy Mode
SHIM Layer
TITAN CAMERA API 2 SITUATION
CameraDeviceUserShimCameraManager
LegacyCameraDevice
RequestThread
Manager
GLThread
Manager
Capture
Collector
TITAN CAMERA API 2 SITUATION
RequestThread
Manager
GLThread
Manager
LegacyMetadata
Mapper
SurfaceTexture
Render
LegacyRequest
Mapper
LegacyResult
Mapper
LegacyXXX
Mapper
LegacyCameraDevice
SOLUTIONS & HACKS
LegacyMetadataMapper
be used for create camera static characteristic from HAL 1
Legacy+ mode
convert HFR support from HAL 1 to HIGH_SPEED_VIDEO
property and export it to camera characteristic
export AS HDR, PICAUTO to camera characteristic
export scene mode FOOD/BACKLIT to camera characteristic
SOLUTIONS & HACKS
LegacyRequestMapper
be used for mapping camera2 request to parameters for HAL 1
Legacy+ mode
adjust fps and HFR mode from HIGH_SPEED_VIDEO setting
set AS HDR and PICAUTO flag
wrapper and convertVERTU specific scene mode to pass CTS
Cont. shot/ZSL/Burst shot request process
SOLUTIONS & HACKS
LegacyResultMapper
be used for mapping camera2 request to parameters for HAL 1
Legacy+ mode
based on HIGH_SPEED_VIDEO setting, convert correct camera2 result
back.
based on AS HDR and PICAUTO flag, convert correct camera2 result
back.
wrapper and convertVERTU specific scene mode to pass CTS
SOLUTIONS & HACKS
More and more?
camera2 settings are stored in native space and extensions are
supported by vendor tags. (not available for Legacy mode)
We must revise the accessor to native space for extra supported
features with Java space support
camera native framework need to be extended (LegacyXXXMapper)
HAL 1 must be greatly modified for supports of all extra features.
SOLUTIONS & HACKS
More and more?
Performance for shim is really not good
parts of shim are not completed, cause most of all stability
problem
not only HAL 1, but underly QCOM camera system also need
to be customised repetitively
CONCLUSIONS
Shim is just a start, what is the next?
Performance tuning, shim is really not good in performance
Complete the shim, parts of shim are not done by Google, which cause
most of all stability problem
Go to lower layer. Not only HAL 1, but underly QCOM camera system
also need to be customised repetitively
PICAUTO Integration
AS HDR Integration

More Related Content

What's hot

Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security InternalsOpersys inc.
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introductionWilliam Liang
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia FrameworkOpersys inc.
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debuggingUtkarsh Mankad
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementationChethan Pchethan
 
Multimedia on android
Multimedia on androidMultimedia on android
Multimedia on androidRamesh Prasad
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for LinuxYu-Hsin Hung
 

What's hot (20)

Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security Internals
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
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)
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
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
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementation
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Multimedia on android
Multimedia on androidMultimedia on android
Multimedia on android
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 

Viewers also liked

Hidden Camera 3 APIs in Android 4.4 (KitKat)
Hidden Camera 3 APIs in Android 4.4 (KitKat)Hidden Camera 3 APIs in Android 4.4 (KitKat)
Hidden Camera 3 APIs in Android 4.4 (KitKat)Balwinder Kaur
 
Camera2 introdction
Camera2 introdctionCamera2 introdction
Camera2 introdctionBooch Lin
 
How to create a camera2
How to create a camera2How to create a camera2
How to create a camera2Booch Lin
 
Android Camera Architecture
Android Camera ArchitectureAndroid Camera Architecture
Android Camera ArchitecturePicker Weng
 
Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Balwinder Kaur
 
Introduction of Android Camera1
Introduction of Android Camera1Introduction of Android Camera1
Introduction of Android Camera1Booch Lin
 
Frame Templates
Frame TemplatesFrame Templates
Frame Templatescprue22
 
GreenDao Introduction
GreenDao IntroductionGreenDao Introduction
GreenDao IntroductionBooch Lin
 
Book Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression StandardBook Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression StandardIain Richardson
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image ProcessingReshma KC
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on AndroidJomar Tigcal
 

Viewers also liked (14)

Hidden Camera 3 APIs in Android 4.4 (KitKat)
Hidden Camera 3 APIs in Android 4.4 (KitKat)Hidden Camera 3 APIs in Android 4.4 (KitKat)
Hidden Camera 3 APIs in Android 4.4 (KitKat)
 
Camera2 introdction
Camera2 introdctionCamera2 introdction
Camera2 introdction
 
How to create a camera2
How to create a camera2How to create a camera2
How to create a camera2
 
Android Camera Architecture
Android Camera ArchitectureAndroid Camera Architecture
Android Camera Architecture
 
Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2 Camera 2.0 in Android 4.2
Camera 2.0 in Android 4.2
 
Introduction of Android Camera1
Introduction of Android Camera1Introduction of Android Camera1
Introduction of Android Camera1
 
Camera2
Camera2Camera2
Camera2
 
Unisca framing
Unisca framingUnisca framing
Unisca framing
 
Frame Templates
Frame TemplatesFrame Templates
Frame Templates
 
GreenDao Introduction
GreenDao IntroductionGreenDao Introduction
GreenDao Introduction
 
Book Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression StandardBook Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression Standard
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
Android Media player
Android Media playerAndroid Media player
Android Media player
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 

Similar to Camera2 API, SHIM, and HAL 3.2 in Android 5.1

Surveon Megapxiel Camera Product Introduction
Surveon Megapxiel Camera Product IntroductionSurveon Megapxiel Camera Product Introduction
Surveon Megapxiel Camera Product IntroductionSurveon Technology Inc.
 
E instruction hardware compatibility charts
E instruction hardware compatibility chartsE instruction hardware compatibility charts
E instruction hardware compatibility chartsWilliam McIntosh
 
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered DJI Authorised Retail Store
 
How To Access Code In Large w/ Vim
How To Access Code In Large w/ VimHow To Access Code In Large w/ Vim
How To Access Code In Large w/ VimCheng Hsien Chen
 
DJI Ronin 2 - Create Your Legacy
DJI Ronin 2 - Create Your LegacyDJI Ronin 2 - Create Your Legacy
DJI Ronin 2 - Create Your LegacyDJI Global
 
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)TwoWayDigitalRadio.com
 
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...The Linux Foundation
 
Camera specifications pq_criteria
Camera specifications pq_criteriaCamera specifications pq_criteria
Camera specifications pq_criteriaAditya Agrawal
 
Surveon Megapixel Cameras - Professional Features & Functions
Surveon Megapixel Cameras - Professional Features & Functions Surveon Megapixel Cameras - Professional Features & Functions
Surveon Megapixel Cameras - Professional Features & Functions Surveon Technology Inc.
 
Datavideo RMC-180 Control Box Brochure
Datavideo RMC-180 Control Box BrochureDatavideo RMC-180 Control Box Brochure
Datavideo RMC-180 Control Box BrochureAV ProfShop
 
Datavideo RMC-180 Brochure
Datavideo RMC-180 BrochureDatavideo RMC-180 Brochure
Datavideo RMC-180 BrochureAV ProfShop
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word documentRajnikant Parsad
 
Surveon 3 MP 30 FPS H.264 HDR Camera Series
Surveon 3 MP 30 FPS H.264 HDR Camera SeriesSurveon 3 MP 30 FPS H.264 HDR Camera Series
Surveon 3 MP 30 FPS H.264 HDR Camera SeriesSurveon Technology Inc.
 
Zte utran ur11.1 optional feature description
Zte utran ur11.1 optional feature descriptionZte utran ur11.1 optional feature description
Zte utran ur11.1 optional feature descriptionMd Kamruzzaman
 
Panasonic AG-AC 160-130
Panasonic AG-AC 160-130Panasonic AG-AC 160-130
Panasonic AG-AC 160-130luisalo61
 
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...Moritz Beller
 
Fitc 2012 - rise of the modules
Fitc 2012 - rise of the modulesFitc 2012 - rise of the modules
Fitc 2012 - rise of the modulestschneidereit
 

Similar to Camera2 API, SHIM, and HAL 3.2 in Android 5.1 (20)

Surveon Megapxiel Camera Product Introduction
Surveon Megapxiel Camera Product IntroductionSurveon Megapxiel Camera Product Introduction
Surveon Megapxiel Camera Product Introduction
 
AVTECH products 2018
AVTECH products 2018AVTECH products 2018
AVTECH products 2018
 
E instruction hardware compatibility charts
E instruction hardware compatibility chartsE instruction hardware compatibility charts
E instruction hardware compatibility charts
 
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered
The Ultimate DJI Mavic 2 FAQ: Top 37 Questions Answered
 
Surveon IP Camera Spec-in Guide
Surveon IP Camera Spec-in Guide Surveon IP Camera Spec-in Guide
Surveon IP Camera Spec-in Guide
 
How To Access Code In Large w/ Vim
How To Access Code In Large w/ VimHow To Access Code In Large w/ Vim
How To Access Code In Large w/ Vim
 
DJI Ronin 2 - Create Your Legacy
DJI Ronin 2 - Create Your LegacyDJI Ronin 2 - Create Your Legacy
DJI Ronin 2 - Create Your Legacy
 
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)
Motorola MotoTRBO Firmware 2.3 Release Notes (November 2013)
 
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
 
Camera specifications pq_criteria
Camera specifications pq_criteriaCamera specifications pq_criteria
Camera specifications pq_criteria
 
Surveon Megapixel Cameras - Professional Features & Functions
Surveon Megapixel Cameras - Professional Features & Functions Surveon Megapixel Cameras - Professional Features & Functions
Surveon Megapixel Cameras - Professional Features & Functions
 
Datavideo RMC-180 Control Box Brochure
Datavideo RMC-180 Control Box BrochureDatavideo RMC-180 Control Box Brochure
Datavideo RMC-180 Control Box Brochure
 
Datavideo RMC-180 Brochure
Datavideo RMC-180 BrochureDatavideo RMC-180 Brochure
Datavideo RMC-180 Brochure
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
hcm381-481_oi.pdf
hcm381-481_oi.pdfhcm381-481_oi.pdf
hcm381-481_oi.pdf
 
Surveon 3 MP 30 FPS H.264 HDR Camera Series
Surveon 3 MP 30 FPS H.264 HDR Camera SeriesSurveon 3 MP 30 FPS H.264 HDR Camera Series
Surveon 3 MP 30 FPS H.264 HDR Camera Series
 
Zte utran ur11.1 optional feature description
Zte utran ur11.1 optional feature descriptionZte utran ur11.1 optional feature description
Zte utran ur11.1 optional feature description
 
Panasonic AG-AC 160-130
Panasonic AG-AC 160-130Panasonic AG-AC 160-130
Panasonic AG-AC 160-130
 
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...
Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Sour...
 
Fitc 2012 - rise of the modules
Fitc 2012 - rise of the modulesFitc 2012 - rise of the modules
Fitc 2012 - rise of the modules
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

Camera2 API, SHIM, and HAL 3.2 in Android 5.1

  • 1. OUTLINE Android camera API history What’s new of Camera API 2 HAL 3.2 Titan Camera API 2 situation Solutions & Hacks Conclusions
  • 2. API Lv 21 Camera API 1 Camera API 1(camera) Camera API 2(camera2) API Lv ## Camera API 2 HISTORY
  • 3. ICS HAL 1.0 JB 4.2 JB 4.3 HAL 1.0 - 3.1 HAL 3.2 HAL 1.0 HAL 2.0 HAL 3.0 KK HAL 1.0 HAL 2.0 HAL 3.0 HAL 3.1 L HISTORY
  • 4. WHAT’S NEW OF CAMERA API 2?
  • 5. camera & camera2 are both available to App Developer BUT - only HAL 3.2 enables all features/properties of camera2 Shim layer being used to as the Facade layer between new camera2 API and older HAL 1.0-3.1 by using camera API WHAT’S NEW OF CAMERA API 2?
  • 6. WHAT’S NEW OF CAMERA API 2?
  • 7. WHAT’S NEW OF CAMERA API 2? much more metadata, and per-frame metadata. more direct controls on sensor and Post Processing Synchronisation of setting and captures Full rate, full-res captures in various formats Support raw image capturing and saving Camera API 1 is necessary for legacy applications
  • 8. WHAT’S NEW OF CAMERA API 2?
  • 9. WHAT’S NEW OF CAMERA API 2?
  • 10. HAL 3.2 support vendor tags by camera module HAL support partial metadata result enables all features/properties of camera2 Not support stream configurations for still captures Framework assumes high-res JPEG stream can be configured at all times without showing down preview framerate.
  • 11. HAL 3.2 HAL 3.2 FULL mode LIMITED mode HAL 1.0 - 3.1 LEGACY Mode
  • 15. Step 1 Step 2Step 3 TITAN CAMERA API 2 SITUATION
  • 16. Step 1 Step 2Step 3 TITAN CAMERA API 2 SITUATION
  • 17. TITAN CAMERA API 2 SITUATION CaptureRequest frame meta CaptureRequest frame meta camera2 HAL 3 CaptureRequest frame meta CaptureRequest frame meta CaptureRequest frame meta CaptureRequest frame meta
  • 18. TITAN CAMERA API 2 SITUATION CaptureRequest frame meta CaptureRequest frame meta camera2 HAL 1 CaptureRequest frame meta CaptureRequest frame meta SHIM CaptureRequest frame meta CaptureRequest frame meta
  • 19. TITAN CAMERA API 2 SITUATION Arcsoft involved to use camera2 only for its camera app. QCT never supportYUV sensor with HAL 3, and Titan’s camera solution was forced to use HAL 1. Vertu decide to use HAL 1 + shim + camera 2 in Apr 2015 Vertu would like to have a Legacy+ device.
  • 20. TITAN CAMERA API 2 SITUATION Arcsoft involved to use camera2 only for its camera app. QCT never supportYUV sensor with HAL 3, and Titan’s camera solution was forced to use HAL 1. Vertu decide to use HAL 1 + shim + camera 2 in Apr 2015 Vertu would like to have aVertu specific Legacy+ mode for Titan
  • 21. TITAN CAMERA API 2 SITUATION LEGACY+ mode slowmo/HFR support Cont. shot/ZSL/BurstCap support (abandoned byVertu at wk 41) PICAUTO support AS HDR support YUV420 to NV12/21, notYV12 format
  • 22. TITAN CAMERA API 2 SITUATION mediaserver android.hardware.Camera android.hardware.ca mera2.* android.hardware.ca mera2.legacy.* CameraService(Native) App Camera2 Legacy Mode SHIM Layer
  • 23. TITAN CAMERA API 2 SITUATION CameraDeviceUserShimCameraManager LegacyCameraDevice RequestThread Manager GLThread Manager Capture Collector
  • 24. TITAN CAMERA API 2 SITUATION RequestThread Manager GLThread Manager LegacyMetadata Mapper SurfaceTexture Render LegacyRequest Mapper LegacyResult Mapper LegacyXXX Mapper LegacyCameraDevice
  • 25. SOLUTIONS & HACKS LegacyMetadataMapper be used for create camera static characteristic from HAL 1 Legacy+ mode convert HFR support from HAL 1 to HIGH_SPEED_VIDEO property and export it to camera characteristic export AS HDR, PICAUTO to camera characteristic export scene mode FOOD/BACKLIT to camera characteristic
  • 26. SOLUTIONS & HACKS LegacyRequestMapper be used for mapping camera2 request to parameters for HAL 1 Legacy+ mode adjust fps and HFR mode from HIGH_SPEED_VIDEO setting set AS HDR and PICAUTO flag wrapper and convertVERTU specific scene mode to pass CTS Cont. shot/ZSL/Burst shot request process
  • 27. SOLUTIONS & HACKS LegacyResultMapper be used for mapping camera2 request to parameters for HAL 1 Legacy+ mode based on HIGH_SPEED_VIDEO setting, convert correct camera2 result back. based on AS HDR and PICAUTO flag, convert correct camera2 result back. wrapper and convertVERTU specific scene mode to pass CTS
  • 28. SOLUTIONS & HACKS More and more? camera2 settings are stored in native space and extensions are supported by vendor tags. (not available for Legacy mode) We must revise the accessor to native space for extra supported features with Java space support camera native framework need to be extended (LegacyXXXMapper) HAL 1 must be greatly modified for supports of all extra features.
  • 29. SOLUTIONS & HACKS More and more? Performance for shim is really not good parts of shim are not completed, cause most of all stability problem not only HAL 1, but underly QCOM camera system also need to be customised repetitively
  • 30. CONCLUSIONS Shim is just a start, what is the next? Performance tuning, shim is really not good in performance Complete the shim, parts of shim are not done by Google, which cause most of all stability problem Go to lower layer. Not only HAL 1, but underly QCOM camera system also need to be customised repetitively PICAUTO Integration AS HDR Integration