![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include "debug.h"#include "host.h"#include "lib_common.h"#include "module.h"#include "tv.h"#include "video_compress.h"#include <CFHDTypes.h>#include <CFHDEncoder.h>#include "video.h"#include "video_codec.h"#include <memory>#include <map>#include <mutex>#include <thread>#include <vector>#include <queue>#include <condition_variable>#include "utils/misc.h"
Go to the source code of this file.
Classes | |
| struct | state_video_compress_cineform |
Macros | |
| #define | DEFAULT_POOL_SIZE 16 |
| #define | DEFAULT_THREAD_COUNT 8 |
| #define | MOD_NAME "[cineform] " |
Functions | |
| static void | cineform_compress_done (struct module *mod) |
| static struct module * | cineform_compress_init (struct module *parent, const char *opts) |
| static std::shared_ptr< video_frame > | cineform_compress_pop (struct module *state) |
| static void | cineform_compress_push (struct module *state, std::shared_ptr< video_frame > tx) |
| static bool | configure_with (struct state_video_compress_cineform *s, struct video_desc desc) |
| static compress_module_info | get_cineform_module_info () |
| static video_frame * | get_copy (struct state_video_compress_cineform *s, video_frame *frame) |
| static int | parse_fmt (struct state_video_compress_cineform *s, char *fmt) |
| REGISTER_MODULE (cineform, &cineform_info, LIBRARY_CLASS_VIDEO_COMPRESS, VIDEO_COMPRESS_ABI_VERSION) | |
| static void | usage () |
Variables | ||
| const struct video_compress_info | cineform_info | |
| struct { | ||
| CFHD_EncodedFormat cfhd_encoded_format | ||
| CFHD_PixelFormat cfhd_pixel_format | ||
| codec_t ug_codec | ||
| } | codecs [] | |
| struct { | ||
| const char * description | ||
| const char * key | ||
| const char * label | ||
| const char * opt_str | ||
| const char * placeholder | ||
| } | usage_opts [] | |
Definition in file cineform.cpp.
| #define DEFAULT_POOL_SIZE 16 |
Definition at line 74 of file cineform.cpp.
Referenced by cineform_compress_init().
| #define DEFAULT_THREAD_COUNT 8 |
Definition at line 75 of file cineform.cpp.
Referenced by cineform_compress_init().
| #define MOD_NAME "[cineform] " |
Definition at line 76 of file cineform.cpp.
Referenced by configure_with().
|
static |
Definition at line 110 of file cineform.cpp.
References state_video_compress_cineform::encoderPoolRef, state_video_compress_cineform::metadataRef, state_video_compress_cineform::mutex, and module::priv_data.
Referenced by cineform_compress_init().
Definition at line 178 of file cineform.cpp.
References cineform_compress_done(), module::cls, DEFAULT_POOL_SIZE, DEFAULT_THREAD_COUNT, module::deleter, state_video_compress_cineform::encoderPoolRef, fmt, state_video_compress_cineform::frame_seq_in, state_video_compress_cineform::frame_seq_out, INIT_NOERR, LOG_LEVEL_ERROR, LOG_LEVEL_NOTICE, log_msg(), state_video_compress_cineform::metadataRef, MODULE_CLASS_DATA, state_video_compress_cineform::module_data, module_init_default(), module_register(), parent, parse_fmt(), module::priv_data, state_video_compress_cineform::requested_pool_size, state_video_compress_cineform::requested_quality, state_video_compress_cineform::requested_threads, state_video_compress_cineform::saved_desc, state_video_compress_cineform::started, and state_video_compress_cineform::stop.

|
static |
Definition at line 438 of file cineform.cpp.
References lock::lock(), video_frame::callbacks, state_video_compress_cineform::compressed_desc, state_video_compress_cineform::cv, video_frame_callbacks::dispose_udata, state_video_compress_cineform::encoderPoolRef, frame, state_video_compress_cineform::frame_queue, get_time_in_ns(), LOG_LEVEL_ERROR, log_msg(), state_video_compress_cineform::mutex, state_video_compress_cineform::started, state, state_video_compress_cineform::stop, vf_alloc_desc(), vf_copy_metadata(), and vf_free().

|
static |
Definition at line 352 of file cineform.cpp.
References video_desc::color_spec, configure_with(), tile::data, desc, state_video_compress_cineform::encoderPoolRef, state_video_compress_cineform::frame_queue, state_video_compress_cineform::frame_seq_in, get_copy(), LOG_LEVEL_ERROR, log_msg(), state_video_compress_cineform::mutex, PARAM_TILE_COUNT, state_video_compress_cineform::precompress_desc, PROGRESSIVE, state_video_compress_cineform::saved_desc, state_video_compress_cineform::started, state, state_video_compress_cineform::stop, video_frame::tiles, UYVY, vc_get_linesize(), vf_alloc_desc_data(), vf_clear(), vf_free(), video_desc_eq_excl_param(), video_desc_from_frame(), and video_desc::width.

|
static |
Definition at line 243 of file cineform.cpp.
References CFHD, codecs, video_desc::color_spec, state_video_compress_cineform::compressed_desc, state_video_compress_cineform::cv, state_video_compress_cineform::dec, desc, state_video_compress_cineform::encoderPoolRef, get_best_decoder_from(), get_codec_name(), video_desc::height, LOG, LOG_LEVEL_ERROR, LOG_LEVEL_INFO, LOG_LEVEL_VERBOSE, log_msg(), state_video_compress_cineform::metadataRef, MOD_NAME, state_video_compress_cineform::precompress_desc, state_video_compress_cineform::requested_quality, state_video_compress_cineform::saved_desc, state_video_compress_cineform::started, video_desc::tile_count, to_fourcc, val, VIDEO_CODEC_COUNT, VIDEO_CODEC_NONE, and video_desc::width.
Referenced by cineform_compress_push(), and cineform_decompress_reconfigure().

|
static |
Definition at line 514 of file cineform.cpp.
References codec_info, compress_module_info::codecs, codec_info_t::name, compress_module_info::name, compress_module_info::opts, and usage_opts.
|
static |
Definition at line 333 of file cineform.cpp.
References video_desc::color_spec, video_frame::color_spec, tile::data, state_video_compress_cineform::dec, frame, tile::height, state_video_compress_cineform::precompress_desc, RGB, video_frame::tiles, vc_get_linesize(), vf_alloc_desc_data(), vf_copy_metadata(), and tile::width.
Referenced by cineform_compress_push().

|
static |
Definition at line 144 of file cineform.cpp.
References fmt, LOG_LEVEL_ERROR, log_msg(), state_video_compress_cineform::requested_pool_size, state_video_compress_cineform::requested_quality, state_video_compress_cineform::requested_threads, and usage().
Referenced by cineform_compress_init().

| REGISTER_MODULE | ( | cineform | , |
| & | cineform_info, | ||
| LIBRARY_CLASS_VIDEO_COMPRESS | , | ||
| VIDEO_COMPRESS_ABI_VERSION | ) |
|
static |
Definition at line 135 of file cineform.cpp.
References usage_opts.
Referenced by parse_fmt().
| CFHD_EncodedFormat cfhd_encoded_format |
Definition at line 233 of file cineform.cpp.
| CFHD_PixelFormat cfhd_pixel_format |
Definition at line 232 of file cineform.cpp.
| const struct video_compress_info cineform_info |
Definition at line 533 of file cineform.cpp.
| struct { ... } codecs[] |
Referenced by codec_list_to_str(), configure_with(), delay_get_property(), display_aggregate_get_property(), display_aja_get_property(), display_bluefish444_get_property(), display_conference_get_property(), display_decklink_get_property(), display_deltacast_get_property(), display_dump_get_property(), display_dvs_get_property(), display_file_get_property(), display_ndi_get_property(), display_panogl_get_property(), display_pw_get_property(), display_sage_get_property(), display_sdl2_get_property(), display_sdl_get_property(), display_unix_sock_get_property(), display_v4l2_get_property(), display_xrgl_get_property(), get_supported_pfs(), parse_codecs(), and print_capabilities().
| const char* description |
Definition at line 126 of file cineform.cpp.
Referenced by vulkan_display::VulkanDisplay::acquire_image(), vulkan_display::VulkanDisplay::copy_and_queue_image(), vulkan_display_detail::get_buffer_size(), get_configured_capture_aliases(), glfw_print_error(), vulkan_display::VulkanDisplay::is_image_description_supported(), keycontrol_register_key(), playback_register_keyboard_ctl(), and vulkan_display_detail::TransferImageImpl::recreate().
| const char* key |
Definition at line 125 of file cineform.cpp.
Referenced by image_pattern_diagonal::image_pattern_diagonal(), audio_cap_pipewire_init(), audio_play_pw_init(), blockDecrypt(), blockEncrypt(), check_av_opt_set(), cipherUpdateRounds(), des_initialize(), dev_add_option(), display_conference_worker(), display_drm_init(), display_gl_process_key(), display_gl_set_window_hints(), display_pw_init(), display_unix_sock_init(), dxt_display_keyboard(), keyboard_control::impl::exec_local_command(), get_commandline_param(), get_if_supported_key_val(), gl_process_frames(), glfw_key_callback(), init(), keycontrol_register_key(), keycontrol_send_key(), UltragridWindow::loadSettingsFile(), makeKey(), maybeWriteString(), on_registry_event_global(), padDecrypt(), padEncrypt(), parse_hints(), parse_holepunch_conf(), parse_pam(), pdb_search(), playback_register_keyboard_ctl(), print_bmd_attribute(), print_module_usage(), qfDES(), qfDES_checkWeakKeys(), AvailableSettings::queryDevice(), set_commandline_param(), set_key_from_str(), set_winreg_key(), PreviewWidget::setKey(), test_des(), translate_glfw_to_ug(), and vidcap_screen_win_process_params().
| const char* label |
Definition at line 124 of file cineform.cpp.
Referenced by SettingsUi::addDeviceTabs(), and SettingsUi::fillFormOptions().
| const char* opt_str |
Definition at line 127 of file cineform.cpp.
Referenced by dev_add_option().
| const char* placeholder |
Definition at line 128 of file cineform.cpp.
Referenced by LineEditUi::setPlaceholder(), and videoCompressBitrateCallback().
| codec_t ug_codec |
Definition at line 231 of file cineform.cpp.
| struct { ... } usage_opts[] |
Referenced by get_cineform_module_info(), and usage().