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

Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia FrameworkOpersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introductionWilliam Liang
 
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
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)Siji Sunny
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC MechanismLihan Chen
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)fefe7270
 
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)

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
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
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)
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
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 : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 

Viewers also liked

Viewers also liked (12)

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
 
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

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 

Recently uploaded (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

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