Skip to main content

Generic Types

These generic JSON types are re-used in different parts of the device object.

Video format description

VideoFormat describes a video format: resolution, frame rate, color space, and scan mode.

{
"bits_per_pixel" : Integer,
"color_space" : String,
"frames_per_second" : Integer,
"height" : Integer,
"scan_mode" : String,
"width" : Integer
}
Member nameTypeDescription
bits_per_pixelIntegerNumber of bits per video component, one of:

8 bits

10 bits

12 bits
color_spaceStringColor space, which is one of the following:

RGB for RGB graphics

YCBCR_444 for YcbCr 4:4:4 video

YCBCR_422 for YcbCr 4:2:2 video

YCBCR_420 for YcbCr 4:2:0 video
frames_per_secondIntegerFrame rate
heightIntegerVideo height
scan_modeStringVideo scan mode, which is one of the following:

PROGRESSIVE for progressive video

INTERLACED for interlaced video
widthIntegerVideo width

Video format detailed information

VideoFormatDetails carries detailed timing and signalling information for a video format. Some members are taken from the Auxiliary Video Information (AVI) InfoFrame.

{
"pixel_clock" : Integer,
"total_width" : Integer,
"total_height" : Integer,
"hsync_width" : Integer,
"hsync_front_porch" : Integer,
"hsync_negative" : Boolean,
"vsync_width" : Integer,
"vsync_front_porch" : Integer,
"vsync_negative" : Boolean,
"vic" : Integer,
"has_hdmi_vic" : Boolean,
"hdmi_vic" : Integer,
"picture_aspect" : String,
"has_active_format" : Boolean,
"active_format" : Integer,
"it_content_type" : String,
"scan_information" : String,
"colorimetry" : String,
"rgb_range" : String,
"ycc_range" : String
}
Member nameTypeDescription
pixel_clockIntegerPixel clock in Hz
total_widthIntegerTotal horizontal resolution including blanking
total_heightIntegerTotal vertical resolution including blanking
hsync_widthIntegerHorizontal sync pulse width in pixels
hsync_front_porchIntegerHorizontal sync front porch in pixels
hsync_negativeBooleanWhether the horizontal sync has negative polarity
vsync_widthIntegerVertical sync pulse width in pixels
vsync_front_porchIntegerVertical sync front porch in pixels
vsync_negativeBooleanWhether the vertical sync has negative polarity
vicIntegerAVI InfoFrame Video Information Code (VIC)
has_hdmi_vicBooleanWhether there is an HDMI Vendor-Specific InfoFrame with an HDMI_VIC
hdmi_vicIntegerHDMI Vendor-Specific Infoframe HDMI_VIC.

Undefined if has_hdmi_vic is false.
picture_aspectStringAVI InfoFrame picture aspect ratio:

ASPECT_NO_DATA for No Data

ASPECT_4_3 for a 4:3 aspect ratio

ASPECT_16_9 for a 16:9 aspect ratio
has_active_formatBooleanWhether the AVI InfoFrame specifies active format information.
active_formatIntegerAVI InfoFrame Active Format Description (AFD) code.

it_content_typeStringAVI InfoFrame IT content type:

NO_DATA for No Data

GRAPHICS for Graphics type

PHOTO for Photo type

CINEMA for Cinema type

GAME for Game type
scan_informationStringAVI InfoFrame scan information:

NO_DATA for No Data

OVERSCAN for overscan

UNDERSCAN for underscan
colorimetryStringAVI InfoFrame colorimetry:

NO_DATA for No Data

RGB for RGB

BT601 for SMPTE 170M/ITU-R BT.601

BT709 for ITU-R BT.709

XVYCC601 for xvYCC601

XVYCC709 for xvYCC709

SYCC601 for sYCC601

ADOBE_YCC601 for AdobeYCC601

ADOBE_RGB for AdobeRGB

BT2020_YCC_CONST for ITU-R BT.2020 Y'C'BC'RC

BT2020_YCC for ITU-R BT.2020 Y'C'BC'R

BT2020_RGB for ITU-R BT.2020 R'G'B'

This member combines information from the "RGB or YCBCR" (Y), Colorimetry (C) and Extended Colorimetry (EC) fields of the AVI InfoFrame.
rgb_rangeStringAVI InfoFrame RGB quantization range:

DEFAULT

LIMITED

FULL
ycc_rangeStringAVI InfoFrame YCbCr quantization range:

LIMITED

FULL

Audio format detailed information

AudioFormatDetails describes an audio format.

{
"sampling_frequency" : Integer,
"number_of_channels" : Integer
}
Member nameTypeDescription
sampling_frequencyIntegerThe sampling frequency, in hertz (Hz)
number_of_channelsIntegerThe number of audio channels

Audio format extended information

AudioFormatExtended carries the audio format details reported in the CEA-861-F audio InfoFrame.

{
"channel_allocation" : Integer,
"sample_size" : Integer,
"level_shift_value" : Integer,
"lfe_playback_level" : Integer,
"audio_encoding_type" : String,
"is_downmix_inhibited" : Boolean
}
Member nameTypeDescription
channel_allocationIntegerChannel allocation as reported in the audio InfoFrame. Valid values are defined in CEA-861-F Table 31.
sample_sizeIntegerThe size of each audio sample in bits: 16 to 24 inclusive, or 0 if undefined.
level_shift_valueIntegerLevel Shift Value as reported in the audio InfoFrame, describing downmix coefficient attenuation. Valid values are in CEA-861-F Table 32.
lfe_playback_levelIntegerThe Low-Frequency Effect (LFE) playback level as reported in the audio InfoFrame. Valid values are in CEA-861-F Table 34.
audio_encoding_typeStringThe type of audio encoding:

LPCM for linear PCM audio

ENCODED_HBR for high-bitrate audio

ENCODED_OTHER for other types, such as compressed
is_downmix_inhibitedBooleanDownmix inhibit as reported in the audio InfoFrame. If true, the audio output must not be downmixed.

Source reference specification

SourceReference specifies the origin of data, in both streams and nodes.

{
"ref_class" : String,
"ref_type" : String,
"ref_index" : Integer
}
Member NameTypeDescription
ref_classStringThe reference class, which is one of the following:

NODE The origin of the data is a node.

SUBSCRIPTION The origin of the data is a subscription.

In addition, the following value might be present in configuration choices of a node input:

AUTOMATIC The actual source is automatically selected, for example depending on the presence of a valid signal
ref_typeStringReference type, matches the type member of a node or subscription.

Undefined if reference class is AUTOMATIC.
ref_indexIntegerReference index, matches the index member of a node or subscription.

Undefined if reference class is AUTOMATIC.

Source selection

SourceSelection selects among the possible sources of a stream or node input.

{
"value" : Integer,
"choices" : [SourceSelectionChoice, ...]
}
Member nameTypeDescription
valueIntegerSelected source, must match the value member of one of the enumerated choices.
choicesArray of SourceSelectionChoiceEnumeration of the allowed source selections.
Note: This member is not included in the response of a get settings command.

Source selection choice

SourceSelectionChoice describes one entry in a SourceSelection enumeration.

{
"value" : Integer,
"description" : String,
"details" : SourceReference
}
Member nameTypeDescription
valueIntegerValue of this choice.
descriptionStringHuman-readable description of this choice.
detailsSourceReferenceSource reference associated with this choice.