![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <algorithm>#include <array>#include <cassert>#include <chrono>#include <climits>#include <cmath>#include <iostream>#include <memory>#include <regex>#include <string>#include <type_traits>#include "audio/types.h"#include "audio/utils.h"#include "compat/usleep.h"#include "debug.h"#include "lib_common.h"#include "ndi_common.h"#include "utils/color_out.h"#include "utils/macros.h"#include "video.h"#include "video_capture.h"
Go to the source code of this file.
Classes | |
| struct | vidcap_state_ndi |
| struct | vidcap_state_ndi::last_desc |
Typedefs | |
| using | convert_t = void (*)(struct video_frame *, const uint8_t *, int in_stride, int field_idx, int total_fields) |
Functions | |
| static void | audio_append_pcm (struct vidcap_state_ndi *s, NDIlib_audio_frame_v3_t *frame) |
| static void | convert_BGRA_RGBA (struct video_frame *out, const uint8_t *data, int in_stride, int field_idx, int total_fields) |
| static void | convert_memcpy (struct video_frame *out, const uint8_t *data, int in_stride, int field_idx, int total_fields) |
| static void | convert_P216_Y216 (struct video_frame *out, const uint8_t *data, int in_stride, int field_idx, int total_fields) |
| static const NDIlib_source_t * | get_matching_source (struct vidcap_state_ndi *s, const NDIlib_source_t *sources, int nr_sources) |
| REGISTER_MODULE (ndi, &vidcap_ndi_info, LIBRARY_CLASS_VIDEO_CAPTURE, VIDEO_CAPTURE_ABI_VERSION) | |
| static void | show_help (struct vidcap_state_ndi *s) |
| static void | vidcap_ndi_done (void *state) |
| static struct video_frame * | vidcap_ndi_grab (void *state, struct audio_frame **audio) |
| static int | vidcap_ndi_init (struct vidcap_params *params, void **state) |
| static void | vidcap_ndi_probe (device_info **available_cards, int *count, void(**deleter)(void *)) |
Variables | |
| static constexpr double | DEFAULT_AUDIO_DIVISOR = 1 |
| static constexpr const char * | MOD_NAME = "[NDI cap.] " |
| static const struct video_capture_info | vidcap_ndi_info |
Definition in file ndi.cpp.
| using convert_t = void (*)(struct video_frame *, const uint8_t *, int in_stride, int field_idx, int total_fields) |
|
static |
Definition at line 286 of file ndi.cpp.
References AC_PCM, vidcap_state_ndi::audio, vidcap_state_ndi::audio_buf_idx, audio_capture_channels, audio_desc_eq(), audio_desc_from_frame(), vidcap_state_ndi::audio_divisor, audio_desc::ch_count, frame, LOG, LOG_LEVEL_WARNING, max, min, and MOD_NAME.
Referenced by vidcap_ndi_grab().

|
static |
Definition at line 359 of file ndi.cpp.
References tile::data, tile::height, OPTIMIZED_FOR, video_frame::tiles, and tile::width.
Referenced by vidcap_ndi_grab().
|
static |
Definition at line 390 of file ndi.cpp.
References video_frame::color_spec, tile::data, tile::height, video_frame::tiles, vc_get_linesize(), and tile::width.
Referenced by vidcap_ndi_grab().

|
static |
Definition at line 373 of file ndi.cpp.
References tile::data, tile::height, OPTIMIZED_FOR, video_frame::tiles, and tile::width.
Referenced by vidcap_ndi_grab().
|
static |
Definition at line 326 of file ndi.cpp.
References vidcap_state_ndi::requested_name, and vidcap_state_ndi::requested_url.
Referenced by vidcap_ndi_grab().
| REGISTER_MODULE | ( | ndi | , |
| & | vidcap_ndi_info, | ||
| LIBRARY_CLASS_VIDEO_CAPTURE | , | ||
| VIDEO_CAPTURE_ABI_VERSION | ) |
|
static |
Definition at line 120 of file ndi.cpp.
References DEFAULT_AUDIO_DIVISOR, vidcap_state_ndi::find_create_settings, LOG, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, MOD_NAME, vidcap_state_ndi::NDIlib, SBOLD, SRED, TBOLD, and usleep().

|
static |
Definition at line 262 of file ndi.cpp.
References close_ndi_library(), vidcap_state_ndi::NDIlib, and state.
Referenced by vidcap_ndi_init().

|
static |
Definition at line 401 of file ndi.cpp.
References audio, audio_append_pcm(), video_frame::callbacks, video_desc::color_spec, convert, convert_BGRA_RGBA(), convert_memcpy(), convert_P216_Y216(), tile::data, audio_frame::data_len, tile::data_len, video_frame_callbacks::dispose, video_frame_callbacks::dispose_udata, get_matching_source(), H264, H265, INTERLACED_MERGED, is_codec_opaque(), LOG, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_WARNING, MOD_NAME, PROGRESSIVE, RGBA, state, video_frame::tiles, to_fourcc, UYVY, vc_get_linesize(), vf_alloc_desc(), vf_alloc_desc_data(), vf_free(), VIDEO_CODEC_NONE, and Y216.

|
static |
Definition at line 176 of file ndi.cpp.
References fmt, LOG, LOG_LEVEL_ERROR, MOD_NAME, NDI_PRINT_COPYRIGHT, NDIlib_load(), show_help(), state, val, VIDCAP_FLAG_AUDIO_ANY, VIDCAP_INIT_FAIL, VIDCAP_INIT_NOERR, VIDCAP_INIT_OK, vidcap_ndi_done(), vidcap_params_get_flags(), and vidcap_params_get_fmt().

|
static |
Definition at line 599 of file ndi.cpp.
References close_ndi_library(), count, deleter, LIB_HANDLE, LOG, LOG_LEVEL_ERROR, MOD_NAME, NDIlib_load(), and usleep().

|
staticconstexpr |
Definition at line 68 of file ndi.cpp.
Referenced by show_help().
|
staticconstexpr |
Definition at line 69 of file ndi.cpp.
Referenced by audio_append_pcm(), vidcap_state_ndi::print_stats(), show_help(), vidcap_ndi_grab(), vidcap_ndi_init(), and vidcap_ndi_probe().
|
static |