Enum Class VideoTransferFunction

java.lang.Object
java.lang.Enum<VideoTransferFunction>
org.freedesktop.gstreamer.video.VideoTransferFunction
All Implemented Interfaces:
Serializable, Comparable<VideoTransferFunction>, Constable, Enumeration

@Generated("org.javagi.JavaGI") public enum VideoTransferFunction extends Enum<VideoTransferFunction> implements Enumeration
The video transfer function defines the formula for converting between non-linear RGB (R'G'B') and linear RGB
  • Nested Class Summary

    Nested classes/interfaces inherited from class Enum

    Enum.EnumDesc<E>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Gamma 2.19921875.
    Association of Radio Industries and Businesses (ARIB) STD-B67 and Rec.
    Rec.
    Gamma 2.2 curve with a linear segment in the lower range.
    also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
    Gamma 2.2 curve with a linear segment in the lower range, also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM / ITU-R BT1361
    linear RGB, gamma 1.0 curve
    Gamma 1.8 curve
    Gamma 2.0 curve
    Gamma 2.2 curve
    Gamma 2.8 curve, also ITU-R BT470BG
    Logarithmic transfer characteristic 100:1 range
    Logarithmic transfer characteristic 316.22777:1 range (100 * sqrt(10) : 1)
    SMPTE ST 2084 for 10, 12, 14, and 16-bit systems.
    Gamma 2.2 curve with a linear segment in the lower range
    Gamma 2.4 curve with a linear segment in the lower range.
    unknown transfer function
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    decode(double val)
    Convert val to its gamma decoded value.
    double
    encode(double val)
    Convert val to its gamma encoded value.
    fromIso(int value)
    Converts the value to the GstVideoTransferFunction The transfer characteristics (TransferCharacteristics) value is defined by "ISO/IEC 23001-8 Section 7.2 Table 3" and "ITU-T H.273 Table 3".
    static @Nullable Type
    Get the GType of the VideoTransferFunction class.
    int
    Get the numeric value of this enum
    boolean
    isEquivalent(int fromBpp, VideoTransferFunction toFunc, int toBpp)
    Returns whether this VideoTransferFunction and toFunc are equivalent.
    of(int value)
    Create a new VideoTransferFunction for the provided value
    of(MemorySegment address)
    Create a new VideoTransferFunction for the value in the provided memory address.
    int
    Converts GstVideoTransferFunction to the "transfer characteristics" (TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3" and "ITU-T H.273 Table 3".
    Returns the enum constant of this class with the specified name.
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • UNKNOWN

      public static final VideoTransferFunction UNKNOWN
      unknown transfer function
    • GAMMA10

      public static final VideoTransferFunction GAMMA10
      linear RGB, gamma 1.0 curve
    • GAMMA18

      public static final VideoTransferFunction GAMMA18
      Gamma 1.8 curve
    • GAMMA20

      public static final VideoTransferFunction GAMMA20
      Gamma 2.0 curve
    • GAMMA22

      public static final VideoTransferFunction GAMMA22
      Gamma 2.2 curve
    • BT709

      public static final VideoTransferFunction BT709
      Gamma 2.2 curve with a linear segment in the lower range, also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM / ITU-R BT1361
    • SMPTE240M

      public static final VideoTransferFunction SMPTE240M
      Gamma 2.2 curve with a linear segment in the lower range
    • SRGB

      public static final VideoTransferFunction SRGB
      Gamma 2.4 curve with a linear segment in the lower range. IEC 61966-2-1 (sRGB or sYCC)
    • GAMMA28

      public static final VideoTransferFunction GAMMA28
      Gamma 2.8 curve, also ITU-R BT470BG
    • LOG100

      public static final VideoTransferFunction LOG100
      Logarithmic transfer characteristic 100:1 range
    • LOG316

      public static final VideoTransferFunction LOG316
      Logarithmic transfer characteristic 316.22777:1 range (100 * sqrt(10) : 1)
    • BT2020_12

      public static final VideoTransferFunction BT2020_12
      Gamma 2.2 curve with a linear segment in the lower range. Used for BT.2020 with 12 bits per component. Since: 1.6
    • ADOBERGB

      public static final VideoTransferFunction ADOBERGB
      Gamma 2.19921875. Since: 1.8
    • BT2020_10

      public static final VideoTransferFunction BT2020_10
      Rec. ITU-R BT.2020-2 with 10 bits per component. (functionally the same as the values GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT601). Since: 1.18
    • SMPTE2084

      public static final VideoTransferFunction SMPTE2084
      SMPTE ST 2084 for 10, 12, 14, and 16-bit systems. Known as perceptual quantization (PQ) Since: 1.18
    • ARIB_STD_B67

      public static final VideoTransferFunction ARIB_STD_B67
      Association of Radio Industries and Businesses (ARIB) STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system Since: 1.18
    • BT601

      public static final VideoTransferFunction BT601
      also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
      Since:
      1.18
  • Method Details

    • values

      public static VideoTransferFunction[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static VideoTransferFunction valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • of

      public static VideoTransferFunction of(int value)
      Create a new VideoTransferFunction for the provided value
      Parameters:
      value - the enum value
      Returns:
      the enum for the provided value
    • getValue

      public int getValue()
      Get the numeric value of this enum
      Specified by:
      getValue in interface Enumeration
      Returns:
      the enum value
    • of

      public static VideoTransferFunction of(MemorySegment address)
      Create a new VideoTransferFunction for the value in the provided memory address.
      Parameters:
      address - the memory address holding a enum value
      Returns:
      the enum for the value in the provided memory address
    • getType

      public static @Nullable Type getType()
      Get the GType of the VideoTransferFunction class.
      Returns:
      the GType
    • fromIso

      public static VideoTransferFunction fromIso(int value)
      Converts the value to the GstVideoTransferFunction The transfer characteristics (TransferCharacteristics) value is defined by "ISO/IEC 23001-8 Section 7.2 Table 3" and "ITU-T H.273 Table 3". "H.264 Table E-4" and "H.265 Table E.4" share the identical values.
      Parameters:
      value - a ITU-T H.273 transfer characteristics value
      Returns:
      the matched GstVideoTransferFunction
      Since:
      1.18
    • decode

      public double decode(double val)

      Convert val to its gamma decoded value. This is the inverse operation of gst_video_color_transfer_encode().

      For a non-linear value L' in the range [0..1], conversion to the linear L is in general performed with a power function like:

         L = L' ^ gamma
      

      Depending on func, different formulas might be applied. Some formulas encode a linear segment in the lower range.

      Parameters:
      val - a value
      Returns:
      the gamma decoded value of val
      Since:
      1.20
    • encode

      public double encode(double val)

      Convert val to its gamma encoded value.

      For a linear value L in the range [0..1], conversion to the non-linear (gamma encoded) L' is in general performed with a power function like:

         L' = L ^ (1 / gamma)
      

      Depending on func, different formulas might be applied. Some formulas encode a linear segment in the lower range.

      Parameters:
      val - a value
      Returns:
      the gamma encoded value of val
      Since:
      1.20
    • isEquivalent

      public boolean isEquivalent(int fromBpp, VideoTransferFunction toFunc, int toBpp)
      Returns whether this VideoTransferFunction and toFunc are equivalent. There are cases (e.g. BT601, BT709, and BT2020_10) where several functions are functionally identical. In these cases, when doing conversion, we should consider them as equivalent. Also, BT2020_12 is the same as the aforementioned three for less than 12 bits per pixel.
      Parameters:
      fromBpp - bits per pixel to convert from
      toFunc - GstVideoTransferFunction to convert into
      toBpp - bits per pixel to convert into
      Returns:
      TRUE if this VideoTransferFunction and toFunc can be considered equivalent.
      Since:
      1.18
    • toIso

      public int toIso()
      Converts GstVideoTransferFunction to the "transfer characteristics" (TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3" and "ITU-T H.273 Table 3". "H.264 Table E-4" and "H.265 Table E.4" share the identical values.
      Returns:
      The value of ISO/IEC 23001-8 transfer characteristics.
      Since:
      1.18