DynamicRangeProfiles  |  API reference  |  Android Developers


public final class DynamicRangeProfiles
extends Object



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_OEM

This is the camera mode for the default Dolby Vision capture mode for the specific device.

long DOLBY_VISION_10B_HDR_OEM_PO

This is the power optimized mode for 10-bit Dolby Vision HDR device specific capture Mode.

long DOLBY_VISION_10B_HDR_OEM_PO_SMPTE_2094_50

This is the power optimized mode for 10-bit Dolby Vision HDR device specific capture Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long DOLBY_VISION_10B_HDR_OEM_SMPTE_2094_50

This is the camera mode for the default Dolby Vision capture mode for the specific device.

long DOLBY_VISION_10B_HDR_REF

This is a camera mode for Dolby Vision capture optimized for a more scene accurate capture.

long DOLBY_VISION_10B_HDR_REF_PO

This is the power optimized mode for 10-bit Dolby Vision HDR Reference Mode.

long DOLBY_VISION_10B_HDR_REF_PO_SMPTE_2094_50

This is the power optimized mode for 10-bit Dolby Vision HDR Reference Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata..

long DOLBY_VISION_10B_HDR_REF_SMPTE_2094_50

This is a camera mode for Dolby Vision capture optimized for a more scene accurate capture.

long DOLBY_VISION_8B_HDR_OEM

This is the 8-bit version of device specific tuned and optimized Dolby Vision capture mode.

long DOLBY_VISION_8B_HDR_OEM_PO

This is the power optimized mode for 8-bit Dolby Vision HDR device specific capture Mode.

long DOLBY_VISION_8B_HDR_OEM_PO_SMPTE_2094_50

This is the power optimized mode for 8-bit Dolby Vision HDR device specific capture Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long DOLBY_VISION_8B_HDR_OEM_SMPTE_2094_50

This is the 8-bit version of device specific tuned and optimized Dolby Vision capture mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long DOLBY_VISION_8B_HDR_REF

This is the 8-bit version of the Dolby Vision reference capture mode optimized for scene accuracy.

long DOLBY_VISION_8B_HDR_REF_PO

This is the power optimized mode for 8-bit Dolby Vision HDR Reference Mode.

long DOLBY_VISION_8B_HDR_REF_PO_SMPTE_2094_50

This is the power optimized mode for 8-bit Dolby Vision HDR Reference Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long DOLBY_VISION_8B_HDR_REF_SMPTE_2094_50

This is the 8-bit version of the Dolby Vision reference capture mode optimized for scene accuracy and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long HDR10

10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.

long HDR10_PLUS

10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.

long HDR10_PLUS_SMPTE_2094_50

10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.

long HDR10_SMPTE_2094_50

10-bit pixel samples encoded using the SMPTE ST 2084 transfer function.

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.

long HLG10_SMPTE_2094_50

10-bit pixel samples encoded using the Hybrid log-gamma transfer function with adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

long PUBLIC_MAX
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.

long STANDARD_SMPTE_2094_50

8-bit SDR profile with adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

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

From class java.lang.Object

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

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_OEM_PO_SMPTE_2094_50

public static final long DOLBY_VISION_10B_HDR_OEM_PO_SMPTE_2094_50

This is the power optimized mode for 10-bit Dolby Vision HDR device specific capture Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 1048576 (0x0000000000100000)

DOLBY_VISION_10B_HDR_OEM_SMPTE_2094_50

public static final long DOLBY_VISION_10B_HDR_OEM_SMPTE_2094_50

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. This format and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 524288 (0x0000000000080000)

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_10B_HDR_REF_PO_SMPTE_2094_50

public static final long DOLBY_VISION_10B_HDR_REF_PO_SMPTE_2094_50

This is the power optimized mode for 10-bit Dolby Vision HDR Reference Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata..

Constant Value: 262144 (0x0000000000040000)

DOLBY_VISION_10B_HDR_REF_SMPTE_2094_50

public static final long DOLBY_VISION_10B_HDR_REF_SMPTE_2094_50

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. This mode also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 131072 (0x0000000000020000)

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_OEM_PO_SMPTE_2094_50

public static final long DOLBY_VISION_8B_HDR_OEM_PO_SMPTE_2094_50

This is the power optimized mode for 8-bit Dolby Vision HDR device specific capture Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 16777216 (0x0000000001000000)

DOLBY_VISION_8B_HDR_OEM_SMPTE_2094_50

public static final long DOLBY_VISION_8B_HDR_OEM_SMPTE_2094_50

This is the 8-bit version of device specific tuned and optimized Dolby Vision capture mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 8388608 (0x0000000000800000)

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)

DOLBY_VISION_8B_HDR_REF_PO_SMPTE_2094_50

public static final long DOLBY_VISION_8B_HDR_REF_PO_SMPTE_2094_50

This is the power optimized mode for 8-bit Dolby Vision HDR Reference Mode and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 4194304 (0x0000000000400000)

DOLBY_VISION_8B_HDR_REF_SMPTE_2094_50

public static final long DOLBY_VISION_8B_HDR_REF_SMPTE_2094_50

This is the 8-bit version of the Dolby Vision reference capture mode optimized for scene accuracy and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 2097152 (0x0000000000200000)

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)

HDR10_PLUS_SMPTE_2094_50

public static final long HDR10_PLUS_SMPTE_2094_50

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 and also includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 65536 (0x0000000000010000)

HDR10_SMPTE_2094_50

public static final long HDR10_SMPTE_2094_50

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 and includes adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 32768 (0x0000000000008000)

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)

HLG10_SMPTE_2094_50

public static final long HLG10_SMPTE_2094_50

10-bit pixel samples encoded using the Hybrid log-gamma transfer function with adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 16384 (0x0000000000004000)

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)

STANDARD_SMPTE_2094_50

public static final long STANDARD_SMPTE_2094_50

8-bit SDR profile with adaptive global tone mapping SMPTE 2094-50 per-frame metadata.

Constant Value: 8192 (0x0000000000002000)

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 be null.
Throws
IllegalArgumentException if the elements array length is invalid, not divisible by 3 or contains invalid element values
NullPointerException if elements is null

Public methods

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.