1#include "VideoCaptureComponent.h"
7void Cogs::Core::VideoCaptureComponent::registerType()
10 {
"H264", Codec::H264 },
11 {
"HEVC", Codec::HEVC },
13 TypeDatabase::createType<Codec>().setEnumerators(codecEnum);
16 {
"Baseline", H264Profile::Baseline },
17 {
"Main", H264Profile::Main },
18 {
"High", H264Profile::High },
20 TypeDatabase::createType<H264Profile>().setEnumerators(h264ProfileEnum);
23 {
"Default", H264Preset::Default },
24 {
"HighQuality", H264Preset::HighQuality },
25 {
"HighPerformance", H264Preset::HighPerformance },
26 {
"LowLatencyHighDefault", H264Preset::LowLatencyHighDefault },
27 {
"LowLatencyHighQuality", H264Preset::LowLatencyHighQuality },
28 {
"LowLatencyHighPerformance", H264Preset::LowLatencyHighPerformance },
29 {
"LosslessDefault", H264Preset::LosslessDefault },
30 {
"LosslessHighPerformance", H264Preset::LosslessHighPerformance },
32 TypeDatabase::createType<H264Preset>().setEnumerators(h264PresetEnum);
35 {
"Disabled", BFrameReference::Disabled },
36 {
"Each", BFrameReference::Each },
37 {
"Middle", BFrameReference::Middle },
39 TypeDatabase::createType<BFrameReference>().setEnumerators(bFrameReferenceEnum);
42 Field(
Name(
"codec"), &VideoCaptureComponent::codec),
43 Field(
Name(
"profile"), &VideoCaptureComponent::profile),
44 Field(
Name(
"preset"), &VideoCaptureComponent::preset),
45 Field(
Name(
"bFrameReference"), &VideoCaptureComponent::bFrameReference),
46 Field(
Name(
"width"), &VideoCaptureComponent::width),
47 Field(
Name(
"height"), &VideoCaptureComponent::height),
48 Field(
Name(
"maxWidth"), &VideoCaptureComponent::maxWidth),
49 Field(
Name(
"maxHeight"), &VideoCaptureComponent::maxHeight),
50 Field(
Name(
"bitrate"), &VideoCaptureComponent::bitrate),
51 Field(
Name(
"maxBitrate"), &VideoCaptureComponent::maxBitrate),
52 Field(
Name(
"bFrameCount"), &VideoCaptureComponent::bFrameCount),
54 Field(
Name(
"lookahead"), &VideoCaptureComponent::lookahead),
55 Field(
Name(
"updateTimestamp"), &VideoCaptureComponent::updateTimestamp),
56 Field(
Name(
"reconfig"), &VideoCaptureComponent::reconfig),
57 Field(
Name(
"restart"), &VideoCaptureComponent::restart),
60 Field(
Name(
"duration"), &VideoCaptureComponent::duration),
61 Field(
Name(
"foreceIntra"), &VideoCaptureComponent::forceIntra),
62 Field(
Name(
"foreceIDR"), &VideoCaptureComponent::forceIDR),
63 Field(
Name(
"outputSPSPPS"), &VideoCaptureComponent::outputSPSPPS),
64 Field(
Name(
"endOfStream"), &VideoCaptureComponent::endOfStream),
71 TypeDatabase::createType<VideoCaptureComponent>()
Field definition describing a single data member of a data structure.
Contains reflection support.
std::string recordPath
Path to directory where captured video is stored.
uint64_t timestamp
Capture state.
bool recordToDisk
Write video frames to disk.
Represents an unique name.