CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
Loading...
Searching...
No Matches
cdi_baseline_profile_01_00_api.h File Reference

This file contains declarations and definitions for the CDI AVM baseline profile API functions. More...

#include <stdbool.h>
#include <stdint.h>
#include "cdi_avm_api.h"
#include "cdi_baseline_profile_api.h"

Go to the source code of this file.

Data Structures

struct  CdiAvmVideoConfig
 Video payload configuration data. Used to define the format of the video payload conforming to the CDI baseline video profile. More...
 
struct  CdiAvmAudioConfig
 Audio payload configuration data. Used to define the format of the audio payload conforming to the CDI baseline audio format. More...
 
struct  CdiAvmAncillaryDataConfig
 Ancillary Data payload configuration data. Used to define the format of the ancillary data payload conforming to the CDI baseline ancillary data format. More...
 
struct  CdiAvmBaselineConfig
 Structure that aggregates the audio, video, and ancillary data structures into a single structure. More...
 

Enumerations

enum  CdiAvmVideoSampling { kCdiAvmVidYCbCr444 , kCdiAvmVidYCbCr422 , kCdiAvmVidRGB }
 SMPTE 2110-20 Uncompressed video frame sample formats. NOTE: Any changes made here MUST also be made to "video_sampling_key_array" in cdi_utility_api.c. More...
 
enum  CdiAvmVideoAlphaChannel { kCdiAvmAlphaUnused , kCdiAvmAlphaUsed }
 Define the use of an alpha channel along with video data. More...
 
enum  CdiAvmVideoBitDepth { kCdiAvmVidBitDepth8 , kCdiAvmVidBitDepth10 , kCdiAvmVidBitDepth12 }
 SMPTE 2110-20 Uncompressed video frame bit depths. NOTE: Any changes made here MUST also be made to "video_bit_depth_key_array" in cdi_utility_api.c. More...
 
enum  CdiAvmColorimetry {
  kCdiAvmVidColorimetryBT601 , kCdiAvmVidColorimetryBT709 , kCdiAvmVidColorimetryBT2020 , kCdiAvmVidColorimetryBT2100 ,
  kCdiAvmVidColorimetryST2065_1 , kCdiAvmVidColorimetryST2065_3 , kCdiAvmVidColorimetryXYZ
}
 SMPTE 2110-20 Uncompressed video frame colorimetry. NOTE: Any changes made here MUST also be made to "colorimetry_key_array" in cdi_utility_api.c. More...
 
enum  CdiAvmVideoTcs {
  kCdiAvmVidTcsSDR , kCdiAvmVidTcsPQ , kCdiAvmVidTcsHLG , kCdiAvmVidTcsLinear ,
  kCdiAvmVidTcsBT2100LINPQ , kCdiAvmVidTcsBT2100LINHLG , kCdiAvmVidTcsST2065_1 , kCdiAvmVidTcsST428_1 ,
  kCdiAvmVidTcsDensity
}
 SMPTE 2110-20 Media type parameters for Transfer Characteristic System (TCS) NOTE: Any changes made here MUST also be made to "tcs_key_array" in cdi_utility_api.c. More...
 
enum  CdiAvmVideoRange { kCdiAvmVidRangeNarrow , kCdiAvmVidRangeFullProtect , kCdiAvmVidRangeFull }
 SMPTE 2110-20 Media type parameter for setting encoding range NOTE: Any change made here MUST also be made to "range_key_array" in cdi_utility_api.c. More...
 
enum  CdiAvmAudioChannelGrouping {
  kCdiAvmAudioM , kCdiAvmAudioDM , kCdiAvmAudioST , kCdiAvmAudioLtRt ,
  kCdiAvmAudio51 , kCdiAvmAudio71 , kCdiAvmAudio222 , kCdiAvmAudioSGRP
}
 SMPTE 2110-30 Uncompressed audio channel groupings. NOTE: Any changes made here MUST also be made to "audio_channel_grouping_key_array" in cdi_utility_api.c and "channel_grouping_symbols" in baseline_profile.c. More...
 
enum  CdiAvmAudioSampleRate { kCdiAvmAudioSampleRate48kHz , kCdiAvmAudioSampleRate96kHz }
 SMPTE 2110-30 Uncompressed audio sample rates. NOTE: Any changes made here MUST also be made to "audio_sample_rate_key_array" in cdi_utility_api.c. More...
 

Detailed Description

This file contains declarations and definitions for the CDI AVM baseline profile API functions.

Enumeration Type Documentation

◆ CdiAvmAudioChannelGrouping

SMPTE 2110-30 Uncompressed audio channel groupings. NOTE: Any changes made here MUST also be made to "audio_channel_grouping_key_array" in cdi_utility_api.c and "channel_grouping_symbols" in baseline_profile.c.

Enumerator
kCdiAvmAudioM 

Mono.

kCdiAvmAudioDM 

Dual mono (M1, M2).

kCdiAvmAudioST 

Standard stereo (left, right).

kCdiAvmAudioLtRt 

Matrix stereo (Left Total, Right Total).

kCdiAvmAudio51 

5.1 Surround (L, R, C, LFE, Ls, Rs),

kCdiAvmAudio71 

7.1 Surround (L, R, C, LFE, Lss, Rss, Lrs, Rrs).

kCdiAvmAudio222 

22.2 Surround (SMPTE ST 2036-2, Table 1).

kCdiAvmAudioSGRP 

One SDI audio group (1, 2, 3, 4).

◆ CdiAvmAudioSampleRate

SMPTE 2110-30 Uncompressed audio sample rates. NOTE: Any changes made here MUST also be made to "audio_sample_rate_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmAudioSampleRate48kHz 

48 kHz audio sample rate.

kCdiAvmAudioSampleRate96kHz 

96 kHz audio sample rate.

◆ CdiAvmColorimetry

SMPTE 2110-20 Uncompressed video frame colorimetry. NOTE: Any changes made here MUST also be made to "colorimetry_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmVidColorimetryBT601 

Recommendation ITU-R BT.601-7.

kCdiAvmVidColorimetryBT709 

Recommendation ITU-R BT.709-6.

kCdiAvmVidColorimetryBT2020 

Recommendation ITU-R BT.2020-2.

kCdiAvmVidColorimetryBT2100 

Recommendation ITU-R BT.2100 Table 2 titled "System colorimetry".

kCdiAvmVidColorimetryST2065_1 

SMPTE ST 2065-1 Academy Color Encoding Specification (ACES)

kCdiAvmVidColorimetryST2065_3 

Academy Density Exchange Encoding (ADX) in SMPTE ST 2065-3.

kCdiAvmVidColorimetryXYZ 

ISO 11664-1 section titled "1931 Observer".

◆ CdiAvmVideoAlphaChannel

Define the use of an alpha channel along with video data.

Enumerator
kCdiAvmAlphaUnused 

Alpha channel not being used.

kCdiAvmAlphaUsed 

For every set of video sample pixels there is an alpha pixel of the same bit depth and format being sent. For example if kCdiAvmVidRGBLinear is being used the payload has one red sample, one green sample, one blue sample, and one alpha sample for every pixel of the frame. For YCbCr colorspace there is one alpha sample for every luma sample sent.

◆ CdiAvmVideoBitDepth

SMPTE 2110-20 Uncompressed video frame bit depths. NOTE: Any changes made here MUST also be made to "video_bit_depth_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmVidBitDepth8 

8 bit integer samples

kCdiAvmVidBitDepth10 

10 bit integer samples

kCdiAvmVidBitDepth12 

12 bit integer samples

◆ CdiAvmVideoRange

SMPTE 2110-20 Media type parameter for setting encoding range NOTE: Any change made here MUST also be made to "range_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmVidRangeNarrow 

When paired with ITU Rec BT.2100 sets values to ranges specified in table 9 of ITU Rec BT.2100. In any other context corresponds to ranges set in STMPE RP 2077.

kCdiAvmVidRangeFullProtect 

Invalid in the context of ITU Rec BT.2100. In other contexts corresponds to ranges set in STMPE RP 2077.

kCdiAvmVidRangeFull 

When paired with ITU Rec BT.2100 sets values to ranges specified in table 9 of ITU Rec BT.2100. In any other context corresponds to ranges set in STMPE RP 2077.

◆ CdiAvmVideoSampling

SMPTE 2110-20 Uncompressed video frame sample formats. NOTE: Any changes made here MUST also be made to "video_sampling_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmVidYCbCr444 

SMPTE 2110 4:4:4 YUV video sample format.

kCdiAvmVidYCbCr422 

SMPTE 2110 4:2:2 YUV video sample format.

kCdiAvmVidRGB 

SMPTE 2110 RGB (linear) video sample format.

◆ CdiAvmVideoTcs

SMPTE 2110-20 Media type parameters for Transfer Characteristic System (TCS) NOTE: Any changes made here MUST also be made to "tcs_key_array" in cdi_utility_api.c.

Enumerator
kCdiAvmVidTcsSDR 

Standard Dynamic Range video streams. Recommendation ITU-R BT.2020.

kCdiAvmVidTcsPQ 

Perceptual Quantization (PQ) high dynamic range. Recommendation ITU-R BT.2100.

kCdiAvmVidTcsHLG 

Hybrid Log-Gamma (HLG) high dynamic range. Recommendation ITU-R BT.2100.

kCdiAvmVidTcsLinear 

Linear encoded floating point samples (dept=16f) all values fall in range 0.0 - 1.0.

kCdiAvmVidTcsBT2100LINPQ 

PQ with floating point representation. Recommendation ITU-R BT.2100-0.

kCdiAvmVidTcsBT2100LINHLG 

HLG with floating point representation. Recommendation ITU-R BT.2100-0.

kCdiAvmVidTcsST2065_1 

Video stream of linear encoded floating point as specified in SMPTE ST 2065-1.

kCdiAvmVidTcsST428_1 

Video stream using transfer characteristic specified in SMPTE ST 428-1.

kCdiAvmVidTcsDensity 

Video streams of density encoded samples such as those defined in SMPTE ST 2065-3.