![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <iomanip>#include <iostream>#include <queue>#include "bluefish444_common.h"#include "audio/types.h"#include "audio/utils.h"#include "debug.h"#include "host.h"#include "lib_common.h"#include "tv.h"#include "video.h"#include "video_capture.h"
Go to the source code of this file.
Classes | |
| struct | av_frame |
| struct | av_frame_base |
| struct | av_frame_nosignal |
| struct | vidcap_bluefish444_state |
Macros | |
| #define | BUFFERS 4 |
| #define | MAX_BLUE_IN_CHANNELS 4 |
| #define | UINT uint32_t |
Functions | |
| static void | BailOut (BLUEVELVETC_HANDLE pSDK) |
| static void | InitInputChannel (BLUEVELVETC_HANDLE pSDK, uint32_t DefaultInputChannel, uint32_t UpdateFormat, uint32_t MemoryFormat, uint32_t VideoEngine) |
| static void | parse_fmt (struct vidcap_bluefish444_state *s, char *fmt) |
| REGISTER_MODULE (bluefish444, &vidcap_bluefish444_info, LIBRARY_CLASS_VIDEO_CAPTURE, VIDEO_CAPTURE_ABI_VERSION) | |
| void | RouteChannel (BLUEVELVETC_HANDLE pSDK, uint32_t Source, uint32_t Destination, uint32_t LinkType) |
| static bool | setup_audio (struct vidcap_bluefish444_state *s, unsigned int flags) |
| static void | show_help (void) |
| static void | signal_error (struct vidcap_bluefish444_state *s) |
| static void | SyncForSignal (struct vidcap_bluefish444_state *s) |
| bool | UpdateVideoMode (struct vidcap_bluefish444_state *s, uint32_t VideoMode) |
| static void | vidcap_bluefish444_done (void *state) |
| static struct video_frame * | vidcap_bluefish444_grab (void *state, struct audio_frame **audio) |
| static int | vidcap_bluefish444_init (struct vidcap_params *params, void **state) |
| static void | vidcap_bluefish444_probe (device_info **available_cards, int *count, void(**deleter)(void *)) |
| static void | WaitForMajorInterrupt (struct vidcap_bluefish444_state *s) |
| static void * | worker (void *arg) |
Variables | |
| static bool | should_exit_worker = false |
| static const struct video_capture_info | vidcap_bluefish444_info |
Definition in file bluefish444.cpp.
| #define BUFFERS 4 |
Definition at line 63 of file bluefish444.cpp.
Referenced by SyncForSignal(), and worker().
| #define MAX_BLUE_IN_CHANNELS 4 |
Definition at line 65 of file bluefish444.cpp.
| #define UINT uint32_t |
Definition at line 60 of file bluefish444.cpp.
|
static |
Definition at line 205 of file bluefish444.cpp.
Referenced by vidcap_bluefish444_done(), and vidcap_bluefish444_init().
|
static |
Definition at line 211 of file bluefish444.cpp.
Referenced by vidcap_bluefish444_init().
|
static |
Definition at line 738 of file bluefish444.cpp.
References fmt, vidcap_bluefish444_state::iDeviceId, vidcap_bluefish444_state::is4K, vidcap_bluefish444_state::MemoryFormat, vidcap_bluefish444_state::SubField, and vidcap_bluefish444_state::VideoEngine.
Referenced by vidcap_bluefish444_init().
| REGISTER_MODULE | ( | bluefish444 | , |
| & | vidcap_bluefish444_info, | ||
| LIBRARY_CLASS_VIDEO_CAPTURE | , | ||
| VIDEO_CAPTURE_ABI_VERSION | ) |
| void RouteChannel | ( | BLUEVELVETC_HANDLE | pSDK, |
| uint32_t | Source, | ||
| uint32_t | Destination, | ||
| uint32_t | LinkType ) |
Definition at line 227 of file bluefish444.cpp.
References val.
Referenced by vidcap_bluefish444_init().
|
static |
Definition at line 366 of file bluefish444.cpp.
References vidcap_bluefish444_state::audio, audio_capture_channels, audio_desc_from_frame(), audio_frame::bps, audio_frame::ch_count, DEFAULT_AUDIO_CAPTURE_CHANNELS, flags, vidcap_bluefish444_state::hanc_buffer, LOG, LOG_LEVEL_NOTICE, MAX_HANC_SIZE, audio_frame::max_size, vidcap_bluefish444_state::objHancDecode, audio_frame::sample_rate, VIDCAP_FLAG_AUDIO_AESEBU, and VIDCAP_FLAG_AUDIO_EMBEDDED.
Referenced by vidcap_bluefish444_init().

|
static |
Definition at line 81 of file bluefish444.cpp.
References vidcap_bluefish444_state::pSDK.
Referenced by vidcap_bluefish444_init().
|
static |
Definition at line 449 of file bluefish444.cpp.
References vidcap_bluefish444_state::CapturedFrame, vidcap_bluefish444_state::CapturedFrameReadyCV, and vidcap_bluefish444_state::lock.
Referenced by worker().
|
static |
Definition at line 306 of file bluefish444.cpp.
References vidcap_bluefish444_state::attachedDevices, BUFFERS, vidcap_bluefish444_state::CapturingID, vidcap_bluefish444_state::DoneID, vidcap_bluefish444_state::LastFieldCount, vidcap_bluefish444_state::pSDK, vidcap_bluefish444_state::ScheduleID, vidcap_bluefish444_state::SubField, vidcap_bluefish444_state::UpdateFormat, vidcap_bluefish444_state::VideoEngine, and WaitForMajorInterrupt().
Referenced by worker().

| bool UpdateVideoMode | ( | struct vidcap_bluefish444_state * | s, |
| uint32_t | VideoMode ) |
Definition at line 233 of file bluefish444.cpp.
References bluefish_frame_modes, bluefish_frame_modes_count, bluefish_frame_mode_t::fps, video_desc::fps, get_interlacing_suffix(), bluefish_frame_mode_t::height, video_desc::height, vidcap_bluefish444_state::interlaced, INTERLACED_MERGED, bluefish_frame_mode_t::interlacing, video_desc::interlacing, mode, vidcap_bluefish444_state::video_desc, bluefish_frame_mode_t::width, and video_desc::width.
Referenced by worker().

|
static |
Definition at line 969 of file bluefish444.cpp.
References vidcap_bluefish444_state::attachedDevices, BailOut(), vidcap_bluefish444_state::CapturedFrame, vidcap_bluefish444_state::CapturedFrameDoneCV, vidcap_bluefish444_state::CapturedFrameReadyCV, vidcap_bluefish444_state::FreeFrameQueue, vidcap_bluefish444_state::FreeFrameQueueNotEmptyCV, vidcap_bluefish444_state::hanc_buffer, vidcap_bluefish444_state::lock, MAX_HANC_SIZE, vidcap_bluefish444_state::NetworkFrame, vidcap_bluefish444_state::pSDK, should_exit_worker, state, av_frame::valid, and vidcap_bluefish444_state::worker_id.

|
static |
Definition at line 1020 of file bluefish444.cpp.
References audio, vidcap_bluefish444_state::audio, vidcap_bluefish444_state::CapturedFrame, vidcap_bluefish444_state::CapturedFrameDoneCV, vidcap_bluefish444_state::CapturedFrameReadyCV, audio_frame::data, audio_frame::data_len, tile::data_len, FALSE, video_frame::fragment, frame, video_frame::frame_fragment_id, vidcap_bluefish444_state::FreeFrameQueue, vidcap_bluefish444_state::FreeFrameQueueNotEmptyCV, vidcap_bluefish444_state::interlaced, video_frame::interlacing, video_frame::last_fragment, vidcap_bluefish444_state::lock, vidcap_bluefish444_state::NetworkFrame, tile::offset, state, video_frame::tiles, UPPER_FIELD_FIRST, and av_frame::valid.
|
static |
Definition at line 773 of file bluefish444.cpp.
References vidcap_bluefish444_state::attachedDevices, vidcap_bluefish444_state::audio, BailOut(), vidcap_bluefish444_state::CapturedFrame, vidcap_bluefish444_state::CapturedFrameDoneCV, vidcap_bluefish444_state::CapturedFrameReadyCV, video_desc::color_spec, audio_frame::data, FALSE, vidcap_bluefish444_state::frames, vidcap_bluefish444_state::FreeFrameQueueNotEmptyCV, vidcap_bluefish444_state::grab_audio, vidcap_bluefish444_state::hanc_buffer, vidcap_bluefish444_state::iDeviceId, InitInputChannel(), vidcap_bluefish444_state::InvalidVideoModeFlag, vidcap_bluefish444_state::is4K, vidcap_bluefish444_state::LastFieldCount, vidcap_bluefish444_state::lock, audio_frame::max_size, vidcap_bluefish444_state::MemoryFormat, vidcap_bluefish444_state::NetworkFrame, parse_fmt(), vidcap_bluefish444_state::pSDK, RouteChannel(), vidcap_bluefish444_state::SavedVideoMode, setup_audio(), show_help(), state, vidcap_bluefish444_state::SubField, vidcap_bluefish444_state::t0, video_desc::tile_count, TRUE, vidcap_bluefish444_state::UpdateFormat, UYVY, v210, VIDCAP_INIT_FAIL, VIDCAP_INIT_NOERR, VIDCAP_INIT_OK, vidcap_params_get_flags(), vidcap_params_get_fmt(), vidcap_bluefish444_state::video_desc, vidcap_bluefish444_state::VideoEngine, worker(), and vidcap_bluefish444_state::worker_id.

|
static |
Definition at line 347 of file bluefish444.cpp.
|
static |
Definition at line 276 of file bluefish444.cpp.
References vidcap_bluefish444_state::attachedDevices, FALSE, video_desc::interlacing, PROGRESSIVE, vidcap_bluefish444_state::pSDK, TRUE, UNUSED, vidcap_bluefish444_state::UpdateFormat, and vidcap_bluefish444_state::video_desc.
Referenced by SyncForSignal().
|
static |
Definition at line 458 of file bluefish444.cpp.
References av_frame::av_frame(), vidcap_bluefish444_state::attachedDevices, vidcap_bluefish444_state::audio, av_frame::audio_data, av_frame::audio_len, audio_frame::bps, BUFFERS, vidcap_bluefish444_state::CapturedFrame, vidcap_bluefish444_state::CapturedFrameDoneCV, vidcap_bluefish444_state::CapturedFrameReadyCV, vidcap_bluefish444_state::CapturingID, tile::data, tile::data_len, vidcap_bluefish444_state::DoneID, FALSE, video_desc::fps, video_frame::fragment, frame, video_frame::frame_fragment_id, vidcap_bluefish444_state::frames, vidcap_bluefish444_state::FreeFrameQueue, vidcap_bluefish444_state::FreeFrameQueueNotEmptyCV, vidcap_bluefish444_state::grab_audio, vidcap_bluefish444_state::hanc_buffer, vidcap_bluefish444_state::iDeviceId, vidcap_bluefish444_state::interlaced, vidcap_bluefish444_state::InvalidVideoModeFlag, video_frame::last_fragment, vidcap_bluefish444_state::LastFieldCount, vidcap_bluefish444_state::lock, LOG_LEVEL_INFO, log_msg(), MAX_HANC_SIZE, audio_frame::max_size, vidcap_bluefish444_state::MemoryFormat, vidcap_bluefish444_state::NetworkFrame, vidcap_bluefish444_state::objHancDecode, tile::offset, vidcap_bluefish444_state::pSDK, vidcap_bluefish444_state::SavedVideoMode, vidcap_bluefish444_state::ScheduleID, should_exit_worker, signal_error(), vidcap_bluefish444_state::SubField, SyncForSignal(), vidcap_bluefish444_state::t0, video_frame::tiles, TRUE, tv_diff(), vidcap_bluefish444_state::UpdateFormat, UpdateVideoMode(), av_frame::valid, av_frame::video, vidcap_bluefish444_state::video_desc, and vidcap_bluefish444_state::VideoEngine.
Referenced by vidcap_bluefish444_init().

|
static |
Definition at line 79 of file bluefish444.cpp.
Referenced by vidcap_bluefish444_done(), and worker().
|
static |
Definition at line 1086 of file bluefish444.cpp.