Share via


DataSpace Class

Definition

DataSpace identifies three components of colors - standard (primaries), transfer and range.

[Android.Runtime.Register("android/hardware/DataSpace", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class DataSpace : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/DataSpace", ApiSince=33, DoNotGenerateAcw=true)>]
type DataSpace = class
    inherit Object
Inheritance
DataSpace
Attributes

Remarks

DataSpace identifies three components of colors - standard (primaries), transfer and range.

A DataSpace describes how buffer data, such as from an android.media.Image Image or a android.hardware.HardwareBuffer HardwareBuffer should be interpreted by both applications and typical hardware.

As buffer information is not guaranteed to be representative of color information, while DataSpace is typically used to describe three aspects of interpreting colors, some DataSpaces may describe other typical interpretations of buffer data such as depth information.

Note that while android.graphics.ColorSpace ColorSpace and DataSpace are similar concepts, they are not equivalent. Not all ColorSpaces, such as android.graphics.ColorSpace.Named#ACES ColorSpace.Named.ACES, are able to be understood by typical hardware blocks so they cannot be DataSpaces.

<h3>Standard aspect</h3>

Defines the chromaticity coordinates of the source primaries in terms of the CIE 1931 definition of x and y specified in ISO 11664-1.

<h3>Transfer aspect</h3>

Transfer characteristics are the opto-electronic transfer characteristic at the source as a function of linear optical intensity (luminance).

For digital signals, E corresponds to the recorded value. Normally, the transfer function is applied in RGB space to each of the R, G and B components independently. This may result in color shift that can be minized by applying the transfer function in Lab space only for the L component. Implementation may apply the transfer function in RGB space for all pixel formats if desired.

<h3>Range aspect</h3>

Defines the range of values corresponding to the unit range of 0-1.

Java documentation for android.hardware.DataSpace.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Fields

DataspaceAdobeRgb
Obsolete.

Adobe RGB encoding.

DataspaceBt2020
Obsolete.

ITU-R Recommendation 2020 (BT.

DataspaceBt2020Hlg
Obsolete.

Hybrid Log Gamma encoding.

DataspaceBt2020Pq
Obsolete.

Perceptual Quantizer encoding.

DataspaceBt601525
Obsolete.

ITU-R Recommendation 709 (BT.

DataspaceBt601625
Obsolete.

ITU-R Recommendation 601 (BT.

DataspaceBt709
Obsolete.

ITU-R Recommendation 709 (BT.

DataspaceDciP3
Obsolete.

SMPTE EG 432-1 and SMPTE RP 431-2

DataspaceDepth
Obsolete.

Depth.

DataspaceDisplayP3
Obsolete.

Display P3 encoding.

DataspaceDynamicDepth
Obsolete.

ISO 16684-1:2011(E) Dynamic Depth.

DataspaceHeif
Obsolete.

High Efficiency Image File Format (HEIF).

DataspaceJfif
Obsolete.

JPEG File Interchange Format (JFIF).

DataspaceJpegR
Obsolete.

ISO/IEC TBD

DataspaceScrgb
Obsolete.

scRGB gamma encoding.

DataspaceScrgbLinear
Obsolete.

scRGB linear encoding.

DataspaceSrgb
Obsolete.

sRGB gamma encoding.

DataspaceSrgbLinear
Obsolete.

sRGB linear encoding.

DataspaceUnknown
Obsolete.

Default-assumption data space, when not explicitly specified.

RangeExtended
Obsolete.

Extended range can be used in combination with FP16 to communicate scRGB or with android.view.SurfaceControl.Transaction#setExtendedRangeBrightness(SurfaceControl, float, float) to indicate an HDR range.

RangeFull
Obsolete.

Full range uses all values for Y, Cb and Cr from 0 to 2^b-1, where b is the bit depth of the color format.

RangeLimited
Obsolete.

Limited range uses values 16/2562^b to 235/2562^b for Y, and 1/162^b to 15/162^b for Cb, Cr, R, G and B, where b is the bit depth of the color format.

RangeUnspecified
Obsolete.

Range characteristics are unknown or are determined by the application.

StandardAdobeRgb
Obsolete.

Adobe RGB primaries.

StandardBt2020
Obsolete.

Use the unadjusted KR = 0.2627, KB = 0.0593 luminance interpretation for RGB conversion.

StandardBt2020ConstantLuminance
Obsolete.

Use the unadjusted KR = 0.2627, KB = 0.0593 luminance interpretation for RGB conversion using the linear domain.

StandardBt470m
Obsolete.

Use the unadjusted KR = 0.30, KB = 0.11 luminance interpretation for RGB conversion.

StandardBt601525
Obsolete.

Use the adjusted KR = 0.299, KB = 0.114 luminance interpretation for RGB conversion from the one purely determined by the primaries to minimize the color shift into RGB space that uses BT.

StandardBt601525Unadjusted
Obsolete.

Use the unadjusted KR = 0.212, KB = 0.087 luminance interpretation for RGB conversion (as in SMPTE 240M).

StandardBt601625
Obsolete.

Use the adjusted KR = 0.299, KB = 0.114 luminance interpretation for RGB conversion from the one purely determined by the primaries to minimize the color shift into RGB space that uses BT.

StandardBt601625Unadjusted
Obsolete.

Use the unadjusted KR = 0.222, KB = 0.071 luminance interpretation for RGB conversion.

StandardBt709
Obsolete.

Use the unadjusted KR = 0.2126, KB = 0.0722 luminance interpretation for RGB conversion.

StandardDciP3
Obsolete.

SMPTE EG 432-1 and SMPTE RP 431-2.

StandardFilm
Obsolete.

Use the unadjusted KR = 0.254, KB = 0.068 luminance interpretation for RGB conversion.

StandardUnspecified
Obsolete.

Chromacity coordinates are unknown or are determined by the application.

TransferGamma22
Obsolete.

Display gamma 2.

TransferGamma26
Obsolete.

Display gamma 2.

TransferGamma28
Obsolete.

Display gamma 2.

TransferHlg
Obsolete.

ARIB STD-B67 Hybrid Log Gamma.

TransferLinear
Obsolete.

Linear transfer.

TransferSmpte170m
Obsolete.

SMPTE 170M transfer.

TransferSrgb
Obsolete.

sRGB transfer.

TransferSt2084
Obsolete.

SMPTE ST 2084 (Dolby Perceptual Quantizer).

TransferUnspecified
Obsolete.

Transfer characteristics are unknown or are determined by the application.

Properties

Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode (Inherited from Object)
JniPeerMembers
PeerReference (Inherited from Object)
ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)
ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)

Methods

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

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

(Inherited from Object)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetRange(Int32)

Unpack the range field value from the packed dataSpace value

GetStandard(Int32)

Unpack the standard field value from the packed dataSpace value.

GetTransfer(Int32)

Unpack the transfer field value from the packed dataSpace value

JavaFinalize()

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

(Inherited from Object)
Notify()

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

(Inherited from Object)
NotifyAll()

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

(Inherited from Object)
Pack(Int32, Int32, Int32)

Pack the dataSpace value using standard, transfer and range field value.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
Wait()

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

(Inherited from Object)
Wait(Int64, Int32)

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

(Inherited from Object)
Wait(Int64)

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

(Inherited from Object)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to