DynamicRangeProfiles
  public
  
  final
  
  class
  DynamicRangeProfiles
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.hardware.camera2.params.DynamicRangeProfiles | 
Immutable class with information about supported 10-bit dynamic range profiles.
An instance of this class can be queried by retrieving the value of
 CameraCharacteristics.REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES.
 
All camera devices supporting the
 CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
 capability must advertise the supported 10-bit dynamic range profiles in
 getSupportedProfiles()
Some devices may not be able to support 8-bit and/or 10-bit output with different dynamic
 range profiles within the same capture request. Such device specific constraints can be queried
 by calling getProfileCaptureRequestConstraints(long). Do note that unsupported
 combinations will result in IllegalArgumentException when trying to submit a capture
 request. Capture requests that only reference outputs configured using the same dynamic range
 profile value will never fail due to such constraints.
Summary
| Constants | |
|---|---|
| long | DOLBY_VISION_10B_HDR_OEMThis is the camera mode for the default Dolby Vision capture mode for the specific device. | 
| long | DOLBY_VISION_10B_HDR_OEM_POThis is the power optimized mode for 10-bit Dolby Vision HDR device specific capture Mode. | 
| long | DOLBY_VISION_10B_HDR_REFThis is a camera mode for Dolby Vision capture optimized for a more scene accurate capture. | 
| long | DOLBY_VISION_10B_HDR_REF_POThis is the power optimized mode for 10-bit Dolby Vision HDR Reference Mode. | 
| long | DOLBY_VISION_8B_HDR_OEMThis is the 8-bit version of device specific tuned and optimized Dolby Vision capture mode. | 
| long | DOLBY_VISION_8B_HDR_OEM_POThis is the power optimized mode for 8-bit Dolby Vision HDR device specific capture Mode. | 
| long | DOLBY_VISION_8B_HDR_REFThis is the 8-bit version of the Dolby Vision reference capture mode optimized for scene accuracy. | 
| long | DOLBY_VISION_8B_HDR_REF_POThis is the power optimized mode for 8-bit Dolby Vision HDR Reference Mode. | 
| long | HDR1010-bit pixel samples encoded using the SMPTE ST 2084 transfer function. | 
| long | HDR10_PLUS10-bit pixel samples encoded using the SMPTE ST 2084 transfer function. | 
| long | HLG1010-bit pixel samples encoded using the Hybrid log-gamma transfer function All 10-bit output capable devices are required to support this profile. | 
| long | PUBLIC_MAX
 | 
| long | STANDARDThis the default 8-bit standard profile that will be used in case where camera clients do not
 explicitly configure a supported dynamic range profile by calling
  | 
| Public constructors | |
|---|---|
| 
      DynamicRangeProfiles(long[] elements)
      Create a new immutable DynamicRangeProfiles instance. | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        Set<Long> | 
      getProfileCaptureRequestConstraints(long profile)
      Return a list of supported dynamic range profiles that can be referenced in a single capture request along with a given profile. | 
| 
        
        
        
        
        
        Set<Long> | 
      getSupportedProfiles()
      Return a set of supported dynamic range profiles. | 
| 
        
        
        
        
        
        boolean | 
      isExtraLatencyPresent(long profile)
      Check whether a given dynamic range profile is suitable for latency sensitive use cases. | 
| Inherited methods | |
|---|---|
Constants
DOLBY_VISION_10B_HDR_OEM
public static final long DOLBY_VISION_10B_HDR_OEM
This is the camera mode for the default Dolby Vision capture mode for the specific device. This would be tuned by each specific device for consumer pleasing results that resonate with their particular audience. We expect that each specific device would have a different look for their default Dolby Vision capture.
Constant Value: 64 (0x0000000000000040)
DOLBY_VISION_10B_HDR_OEM_PO
public static final long DOLBY_VISION_10B_HDR_OEM_PO
This is the power optimized mode for 10-bit Dolby Vision HDR device specific capture Mode.
Constant Value: 128 (0x0000000000000080)
DOLBY_VISION_10B_HDR_REF
public static final long DOLBY_VISION_10B_HDR_REF
This is a camera mode for Dolby Vision capture optimized for a more scene accurate capture. This would typically differ from what a specific device might want to tune for a consumer optimized Dolby Vision general capture.
Constant Value: 16 (0x0000000000000010)
DOLBY_VISION_10B_HDR_REF_PO
public static final long DOLBY_VISION_10B_HDR_REF_PO
This is the power optimized mode for 10-bit Dolby Vision HDR Reference Mode.
Constant Value: 32 (0x0000000000000020)
DOLBY_VISION_8B_HDR_OEM
public static final long DOLBY_VISION_8B_HDR_OEM
This is the 8-bit version of device specific tuned and optimized Dolby Vision capture mode.
Constant Value: 1024 (0x0000000000000400)
DOLBY_VISION_8B_HDR_OEM_PO
public static final long DOLBY_VISION_8B_HDR_OEM_PO
This is the power optimized mode for 8-bit Dolby Vision HDR device specific capture Mode.
Constant Value: 2048 (0x0000000000000800)
DOLBY_VISION_8B_HDR_REF
public static final long DOLBY_VISION_8B_HDR_REF
This is the 8-bit version of the Dolby Vision reference capture mode optimized for scene accuracy.
Constant Value: 256 (0x0000000000000100)
DOLBY_VISION_8B_HDR_REF_PO
public static final long DOLBY_VISION_8B_HDR_REF_PO
This is the power optimized mode for 8-bit Dolby Vision HDR Reference Mode.
Constant Value: 512 (0x0000000000000200)
HDR10
public static final long HDR10
10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.
This profile utilizes internal static metadata to increase the quality of the capture.
Constant Value: 4 (0x0000000000000004)
HDR10_PLUS
public static final long HDR10_PLUS
10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.
In contrast to HDR10, this profile uses internal per-frame metadata to further enhance the quality of the capture.
Constant Value: 8 (0x0000000000000008)
HLG10
public static final long HLG10
10-bit pixel samples encoded using the Hybrid log-gamma transfer function
All 10-bit output capable devices are required to support this profile.
Constant Value: 2 (0x0000000000000002)
PUBLIC_MAX
public static final long PUBLIC_MAX
Constant Value: 4096 (0x0000000000001000)
STANDARD
public static final long STANDARD
This the default 8-bit standard profile that will be used in case where camera clients do not
 explicitly configure a supported dynamic range profile by calling
 OutputConfiguration.setDynamicRangeProfile.
Constant Value: 1 (0x0000000000000001)
Public constructors
DynamicRangeProfiles
public DynamicRangeProfiles (long[] elements)
Create a new immutable DynamicRangeProfiles instance.
This constructor takes over the array; do not write to the array afterwards.
Do note that the constructor is available for testing purposes only!
 Camera clients must always retrieve the value of
 CameraCharacteristics.REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES.
 for a given camera id in order to retrieve the device capabilities.
| Parameters | |
|---|---|
| elements | long: An array of elements describing the map. It contains three elements per entry. The
          first element describes the supported dynamic range profile value. The
          second element contains a bitmap of concurrently supported dynamic range profiles
          within the same capture request. The third element contains a hint about
          extra latency associated with the corresponding dynamic range. Bitmap values of 0
          indicate that there are no constraints.
 This value cannot benull. | 
| Throws | |
|---|---|
| IllegalArgumentException | if the elementsarray length is invalid, not divisible by 3 or contains
            invalid element values | 
| NullPointerException | if elementsisnull | 
Public methods
getProfileCaptureRequestConstraints
public Set<Long> getProfileCaptureRequestConstraints (long profile)
Return a list of supported dynamic range profiles that can be referenced in a single capture request along with a given profile.
For example if assume that a particular 10-bit output capable device
 returns (STANDARD, HLG10, HDR10) as result from calling
 getSupportedProfiles() and getProfileCaptureRequestConstraints(long)
 returns (STANDARD, HLG10) when given an argument of STANDARD.
 This means that the corresponding camera device will only accept and process capture requests
 that reference outputs configured using HDR10 dynamic profile or alternatively
 some combination of STANDARD and HLG10. However trying to
 queue capture requests to outputs that reference both HDR10 and
 STANDARD/HLG10 will result in IllegalArgumentException.
The list will be empty in case there are no constraints for the given profile.
| Parameters | |
|---|---|
| profile | long: Value isSTANDARD,HLG10,HDR10,HDR10_PLUS,DOLBY_VISION_10B_HDR_REF,DOLBY_VISION_10B_HDR_REF_PO,DOLBY_VISION_10B_HDR_OEM,DOLBY_VISION_10B_HDR_OEM_PO,DOLBY_VISION_8B_HDR_REF,DOLBY_VISION_8B_HDR_REF_PO,DOLBY_VISION_8B_HDR_OEM, orDOLBY_VISION_8B_HDR_OEM_PO | 
| Returns | |
|---|---|
| Set<Long> | non-modifiable set of dynamic range profiles
 This value cannot be null. | 
| Throws | |
|---|---|
| IllegalArgumentException | If the profile argument is not within the list returned by getSupportedProfiles() | 
getSupportedProfiles
public Set<Long> getSupportedProfiles ()
Return a set of supported dynamic range profiles.
| Returns | |
|---|---|
| Set<Long> | non-modifiable set of dynamic range profiles
 This value cannot be null. | 
isExtraLatencyPresent
public boolean isExtraLatencyPresent (long profile)
Check whether a given dynamic range profile is suitable for latency sensitive use cases.
Due to internal lookahead logic, camera outputs configured with some dynamic range profiles may experience additional latency greater than 3 buffers. Using camera outputs with such profiles for latency sensitive use cases such as camera preview is not recommended. Profiles that have such extra streaming delay are typically utilized for scenarios such as offscreen video recording.
| Parameters | |
|---|---|
| profile | long: Value isSTANDARD,HLG10,HDR10,HDR10_PLUS,DOLBY_VISION_10B_HDR_REF,DOLBY_VISION_10B_HDR_REF_PO,DOLBY_VISION_10B_HDR_OEM,DOLBY_VISION_10B_HDR_OEM_PO,DOLBY_VISION_8B_HDR_REF,DOLBY_VISION_8B_HDR_REF_PO,DOLBY_VISION_8B_HDR_OEM, orDOLBY_VISION_8B_HDR_OEM_PO | 
| Returns | |
|---|---|
| boolean | true if the given profile is not suitable for latency sensitive use cases, false otherwise | 
| Throws | |
|---|---|
| IllegalArgumentException | If the profile argument is not within the list returned by getSupportedProfiles() | 
