114 lines
2.5 KiB
C
114 lines
2.5 KiB
C
/*
|
|
* SPDX-License-Identifier: MIT
|
|
* Copyright (C) 2004 - 2021 AJA Video Systems, Inc.
|
|
*/
|
|
////////////////////////////////////////////////////////////
|
|
//
|
|
// Filename: ntv2hdmiout4.h
|
|
// Purpose: HDMI output monitor version 4
|
|
//
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
#ifndef NTV2HDMIOUT4_HEADER
|
|
#define NTV2HDMIOUT4_HEADER
|
|
|
|
#include "ntv2system.h"
|
|
#include "ntv2displayid.h"
|
|
|
|
#define NTV2_HDMIOUT4_STRING_SIZE 80
|
|
|
|
struct ntv2_hdmiout4 {
|
|
int index;
|
|
char name[NTV2_HDMIOUT4_STRING_SIZE];
|
|
Ntv2SystemContext* system_context;
|
|
Ntv2SpinLock state_lock;
|
|
|
|
Ntv2Thread monitor_task;
|
|
bool monitor_enable;
|
|
Ntv2Event monitor_event;
|
|
|
|
struct ntv2_displayid edid;
|
|
|
|
uint32_t hot_plug_count;
|
|
uint32_t hdmi_config;
|
|
uint32_t hdmi_source;
|
|
uint32_t hdmi_control;
|
|
uint32_t hdmi_hdr;
|
|
|
|
uint32_t hdr_green_primary;
|
|
uint32_t hdr_blue_primary;
|
|
uint32_t hdr_red_primary;
|
|
uint32_t hdr_white_point;
|
|
uint32_t hdr_master_luminance;
|
|
uint32_t hdr_light_level;
|
|
uint32_t hdr_control;
|
|
|
|
bool hdmi_mode;
|
|
bool scdc_mode;
|
|
bool scdc_active;
|
|
bool output_enable;
|
|
bool sink_present;
|
|
bool force_hpd;
|
|
|
|
bool force_config;
|
|
bool prefer_420;
|
|
bool hdr_enable;
|
|
bool dolby_vision;
|
|
bool crop_enable;
|
|
bool full_range;
|
|
bool sd_wide;
|
|
uint32_t video_standard;
|
|
uint32_t frame_rate;
|
|
uint32_t color_space;
|
|
uint32_t color_depth;
|
|
|
|
uint32_t audio_input;
|
|
bool audio_upper;
|
|
bool audio_swap;
|
|
uint32_t audio_channels;
|
|
uint32_t audio_select;
|
|
uint32_t audio_rate;
|
|
uint32_t audio_format;
|
|
|
|
uint8_t avi_vic;
|
|
uint8_t hdmi_vic;
|
|
|
|
uint32_t scdc_sink_scramble;
|
|
uint32_t scdc_sink_clock;
|
|
uint32_t scdc_sink_valid_ch0;
|
|
uint32_t scdc_sink_valid_ch1;
|
|
uint32_t scdc_sink_valid_ch2;
|
|
uint32_t scdc_sink_error_ch0;
|
|
uint32_t scdc_sink_error_ch1;
|
|
uint32_t scdc_sink_error_ch2;
|
|
|
|
char* vendor_name;
|
|
char* product_name;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
struct ntv2_hdmiout4 *ntv2_hdmiout4_open(Ntv2SystemContext* sys_con,
|
|
const char *name, int index);
|
|
void ntv2_hdmiout4_close(struct ntv2_hdmiout4 *ntv2_hout);
|
|
|
|
Ntv2Status ntv2_hdmiout4_configure(struct ntv2_hdmiout4 *ntv2_hout);
|
|
|
|
Ntv2Status ntv2_hdmiout4_enable(struct ntv2_hdmiout4 *ntv2_hout);
|
|
Ntv2Status ntv2_hdmiout4_disable(struct ntv2_hdmiout4 *ntv2_hout);
|
|
|
|
Ntv2Status ntv2_hdmiout4_write_info_frame(struct ntv2_hdmiout4 *ntv2_hout,
|
|
uint32_t size,
|
|
uint8_t *data);
|
|
Ntv2Status ntv2_hdmiout4_clear_info_frames(struct ntv2_hdmiout4 *ntv2_hout);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|