obs-studio/build_dependencies/aja/include/ajadriver/ntv2hdmiout4.h
Ward Nakchbandi b48576284b first commit
2023-03-04 20:33:16 +03:00

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