diff --git a/src/cmd/console.cpp b/src/cmd/console.cpp index 2187e780e7edf53bcb87297e6b1238d1f4e83555..f0f65f6b5a7cea94251ed86f3056eabeeda2f8e7 100644 --- a/src/cmd/console.cpp +++ b/src/cmd/console.cpp @@ -1,5 +1,8 @@ #include "console.h" #include "qcoreapplication.h" +#include "qnamespace.h" + +#include "../utils.h" #include <QDebug> #include <QCoreApplication> @@ -20,18 +23,30 @@ void Console::listenKeys() } } -void Console::updateCam(const QStringList& camInfo ) +void Console::print(const QString& str ) +{ + qDebug() << str; +} + +void Console::printList(QStringList& list ) { - qDebug() << camInfo; + + for ( auto& str : list ) + { + str.replace(DELIM," "); + qDebug() << str << " "; + } } Controller::Controller() { - Console *console = new Console; + Console* console = new Console; console->moveToThread(&thread); connect(&thread, &QThread::finished, console, &QObject::deleteLater); connect(this, &Controller::operate, console, &Console::listenKeys); connect(console, &Console::keyPressed, this, &Controller::keyPress); + connect(this, &Controller::print, console, &Console::print, Qt::DirectConnection); //just delegate to console + connect(this, &Controller::printList, console, &Console::printList, Qt::DirectConnection); //just delegate to console thread.start(); } @@ -44,14 +59,33 @@ Controller::~Controller() void Controller::keyPress(const QChar& key) { - qDebug() << __FUNCTION__ << "u pressed " << key; - switch (key.unicode()) + + qDebug() << __FUNCTION__ << ": " << key; + if ( key.isDigit() ) { - case 'l': - emit listCams(); - break; - case 'q': - qApp->quit(); - break; + emit selectCam(key.digitValue()); } + else + { + switch (key.unicode()) + { + case 'h': + emit printHelp(); + break; + case 'o': + emit openCam(); + break; + case 'l': + emit listCams(); + break; + case 'v': + emit printVersion(); + break; + case 'q': + qApp->quit(); + break; + } + } + } + diff --git a/src/cmd/console.h b/src/cmd/console.h index ada47cf0d3f909ee8cc990283609bcc47d8e4682..c52ae7c9ab2188df6b1f4f6e70049961fd13c6c8 100644 --- a/src/cmd/console.h +++ b/src/cmd/console.h @@ -11,8 +11,10 @@ class Console : public QObject Q_OBJECT public slots: - void updateCam(const QStringList &); void listenKeys(); + void print(const QString&); + void printList(QStringList&); + // ... signals: void keyPressed(const QChar &key); @@ -33,8 +35,21 @@ class Controller : public QObject signals: void operate(); + void print(const QString&); + void printList(QStringList&); void listCams(); void printVersion(); + + void openCam(); + void printHelp(); + void selectCam(int); + + // void openCam(); + // void calibrateCam(); + // void startRecording(); + // void stopRecording(); + // void loadSettings(); + // void storeSettings(); // ... more signals here }; diff --git a/src/cmd/core.cpp b/src/cmd/core.cpp index 44ad4cbd3d8d5284ff0baaaf42ed441c8be0fe66..2cf95de4b91bdbafc2351be9980dd07e376cfa4f 100644 --- a/src/cmd/core.cpp +++ b/src/cmd/core.cpp @@ -6,7 +6,6 @@ #include <VmbCPP/VmbCPP.h> -// #include "qglobal.h" #include <QDebug> using namespace VmbCPP; @@ -15,20 +14,18 @@ Core::Core() : apiStarted( false ), sys( VmbSystem::GetInstance() ), // Create and get Vimba singleton cameras( CameraPtrVector() ), // Holds camera handles - camIdx(0) + camIdx(-1), + curCam(NULL) { - if ( VmbErrorSuccess == sys.Startup() ) - { - apiStarted = true; - qDebug() << "init API :)"; - } - else + if ( VmbErrorSuccess != sys.Startup() ) { qDebug() << "Couldn't initialize API"; + exit(1); //add err code } + apiStarted = true; + qDebug() << "init API :)"; initCams(); - } @@ -37,6 +34,12 @@ void Core::initCams() if ( VmbErrorSuccess == sys.GetCameras( cameras ) ) { qDebug() << "found " << cameras.size() << " cameras"; + if (cameras.size()) + { + camIdx = 0; //dflt to 1rst + curCam = cameras.at(camIdx); + } + } else { @@ -71,48 +74,60 @@ void Core::setCam(ulong idx) void Core::listCams() { - qDebug() << __FUNCTION__ << "():" << __LINE__; if( !apiStarted ) return; - // id,name,model,serial,interfaceID - std::for_each( cameras.begin(), cameras.end(), [this](const CameraPtr & camera) + // id,name,model,serial,interfaceID,state + QStringList allCamInfo; + auto idx=0UL; + for ( auto camera : cameras ) { std::string str; - QStringList camInfo; + QString curCamInfo; + + if (idx == camIdx ) + curCamInfo += "[*]" + DELIM; + else + curCamInfo += "[ ]" + DELIM; VmbErrorType err = camera->GetID( str ); if( VmbErrorSuccess != err ) str = errorCodeToMessage(err).toStdString(); - camInfo << QString::fromStdString(str); + curCamInfo += QString::fromStdString(str) + DELIM; err = camera->GetName( str ); if( VmbErrorSuccess != err ) str = errorCodeToMessage(err).toStdString(); - camInfo << QString::fromStdString(str); + curCamInfo += QString::fromStdString(str) + DELIM; err = camera->GetModel( str ); if( VmbErrorSuccess != err ) str = errorCodeToMessage(err).toStdString(); - camInfo << QString::fromStdString(str); + curCamInfo += QString::fromStdString(str) + DELIM; err = camera->GetSerialNumber( str ); if( VmbErrorSuccess != err ) str = errorCodeToMessage(err).toStdString(); - camInfo << QString::fromStdString(str); + curCamInfo += QString::fromStdString(str) + DELIM; err = camera->GetInterfaceID( str ); if( VmbErrorSuccess != err ) str = errorCodeToMessage(err).toStdString(); - camInfo << QString::fromStdString(str); - - camInfo << "closed"; //initially cams are closed, right? + curCamInfo += QString::fromStdString(str) + DELIM; + curCamInfo += "closed"; //initially cams are closed, right? XXX how to find out? - qDebug() << camInfo; - emit camsDetected(camInfo); - } ); + allCamInfo << curCamInfo; + idx++; + } + // qDebug() << __LINE__ << "-" << __PRETTY_FUNCTION__ << allCamInfo; + emit camsListed(allCamInfo); } +void Core::printVersion() +{ + auto version = getVersionString(); + emit versionPrinted(version); +} diff --git a/src/cmd/core.h b/src/cmd/core.h index 6f6a59c5da1dfa28f0b908326db070a982868d0f..0a6628feb0adacbf5359c00a67eac1ed643839d7 100644 --- a/src/cmd/core.h +++ b/src/cmd/core.h @@ -1,5 +1,6 @@ #pragma once +#include "VmbCPP/SharedPointerDefines.h" #include "qglobal.h" #include <QObject> #include <VmbCPP/Interface.h> @@ -19,9 +20,12 @@ class Core : public QObject public slots: void listCams(); + void printVersion(); signals: - void camsDetected(const QStringList &); + void camsListed(QStringList &); + void versionPrinted(const QString &); + // ... more signals here private: void initCams(); @@ -33,4 +37,5 @@ class Core : public QObject VmbCPP::VmbSystem& sys; VmbCPP::CameraPtrVector cameras; ulong camIdx; + CameraPtr curCam; }; diff --git a/src/cmd/main.cpp b/src/cmd/main.cpp index bcf6af028b5edc8213f538248ef6e9073a183828..ce36fc47c80e375a1928b352520da428bf9d419a 100644 --- a/src/cmd/main.cpp +++ b/src/cmd/main.cpp @@ -48,16 +48,19 @@ bool maybeCreateDir(QDir out_dir) QCoreApplication::setApplicationName("recorder"); Controller controller; - QTimer::singleShot(0, &controller, SIGNAL(operate())); - Core core; - QObject::connect(&controller, &Controller::listCams, &core, &Core::listCams); - QObject::connect(&core, &Core::camsDetected, &console, &Console::updateCam); + //ui (controller) -> vmb (core) + QObject::connect(&controller, &Controller::listCams, &core, &Core::listCams); + QObject::connect(&controller, &Controller::printVersion, &core, &Core::printVersion); + //vmb (core) -> ui (controller) + QObject::connect(&core, &Core::camsListed, &controller, &Controller::printList); + QObject::connect(&core, &Core::versionPrinted, &controller, &Controller::print); - // for testing: - QTimer::singleShot(0, &core, SLOT(listCams())); + QTimer::singleShot(0, &controller, SIGNAL(operate())); + QTimer::singleShot(10, &core, SLOT(printVersion())); // for testing + QTimer::singleShot(15, &core, SLOT(listCams())); // for testing diff --git a/src/utils.cpp b/src/utils.cpp index 890f1528adafeb6628d452d1f23abab1d4bd5b71..f3e98223a2da2668763b4e38221d356c5c7932be 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -28,7 +28,6 @@ const QString getVersionString() return s; } - const QString errorCodeToMessage( VmbError_t err ) { QString msg = "error: "; diff --git a/src/utils.h b/src/utils.h index 6ab86e53656e0a563cb9728683ef5e0fd0bcc065..41958f17de9075fddaffd5c5ba50f8adc3092dde 100644 --- a/src/utils.h +++ b/src/utils.h @@ -8,4 +8,6 @@ const QString getVersionString(); const QString errorCodeToMessage( VmbError_t ); QString randomString(); +const QChar DELIM='|'; + #endif diff --git a/vimbax/api/include/VmbC/VmbCommonTypes.h b/vimbax/api/include/VmbC/VmbCommonTypes.h index 955176939ba03af355bcba68018b32bced4638de..360b8fa3c0c274f8023c6f820aa68110fb21bf3c 100644 --- a/vimbax/api/include/VmbC/VmbCommonTypes.h +++ b/vimbax/api/include/VmbC/VmbCommonTypes.h @@ -342,89 +342,89 @@ extern "C" { typedef enum VmbPixelFormatType { // mono formats - VmbPixelFormatMono8 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy8Bit) | 0x0001, //!< Monochrome, 8 bits (PFNC: Mono8) - VmbPixelFormatMono10 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0003, //!< Monochrome, 10 bits in 16 bits (PFNC: Mono10) - VmbPixelFormatMono10p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy10Bit) | 0x0046, //!< Monochrome, 10 bits in 16 bits (PFNC: Mono10p) - VmbPixelFormatMono12 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0005, //!< Monochrome, 12 bits in 16 bits (PFNC: Mono12) - VmbPixelFormatMono12Packed = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0006, //!< Monochrome, 2x12 bits in 24 bits (GEV:Mono12Packed) - VmbPixelFormatMono12p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0047, //!< Monochrome, 2x12 bits in 24 bits (PFNC: MonoPacked) - VmbPixelFormatMono14 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0025, //!< Monochrome, 14 bits in 16 bits (PFNC: Mono14) - VmbPixelFormatMono16 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0007, //!< Monochrome, 16 bits (PFNC: Mono16) + VmbPixelFormatMono8 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy8Bit) | 0x0001, //!< Monochrome, 8 bits (PFNC: Mono8) + VmbPixelFormatMono10 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0003, //!< Monochrome, 10 bits in 16 bits (PFNC: Mono10) + VmbPixelFormatMono10p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy10Bit) | 0x0046, //!< Monochrome, 10 bits in 16 bits (PFNC: Mono10p) + VmbPixelFormatMono12 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0005, //!< Monochrome, 12 bits in 16 bits (PFNC: Mono12) + VmbPixelFormatMono12Packed = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0006, //!< Monochrome, 2x12 bits in 24 bits (GEV:Mono12Packed) + VmbPixelFormatMono12p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0047, //!< Monochrome, 2x12 bits in 24 bits (PFNC: MonoPacked) + VmbPixelFormatMono14 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0025, //!< Monochrome, 14 bits in 16 bits (PFNC: Mono14) + VmbPixelFormatMono16 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0007, //!< Monochrome, 16 bits (PFNC: Mono16) // bayer formats - VmbPixelFormatBayerGR8 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy8Bit) | 0x0008, //!< Bayer-color, 8 bits, starting with GR line (PFNC: BayerGR8) - VmbPixelFormatBayerRG8 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy8Bit) | 0x0009, //!< Bayer-color, 8 bits, starting with RG line (PFNC: BayerRG8) - VmbPixelFormatBayerGB8 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy8Bit) | 0x000A, //!< Bayer-color, 8 bits, starting with GB line (PFNC: BayerGB8) - VmbPixelFormatBayerBG8 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy8Bit) | 0x000B, //!< Bayer-color, 8 bits, starting with BG line (PFNC: BayerBG8) - VmbPixelFormatBayerGR10 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x000C, //!< Bayer-color, 10 bits in 16 bits, starting with GR line (PFNC: BayerGR10) - VmbPixelFormatBayerRG10 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x000D, //!< Bayer-color, 10 bits in 16 bits, starting with RG line (PFNC: BayerRG10) - VmbPixelFormatBayerGB10 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x000E, //!< Bayer-color, 10 bits in 16 bits, starting with GB line (PFNC: BayerGB10) - VmbPixelFormatBayerBG10 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x000F, //!< Bayer-color, 10 bits in 16 bits, starting with BG line (PFNC: BayerBG10) - VmbPixelFormatBayerGR12 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0010, //!< Bayer-color, 12 bits in 16 bits, starting with GR line (PFNC: BayerGR12) - VmbPixelFormatBayerRG12 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0011, //!< Bayer-color, 12 bits in 16 bits, starting with RG line (PFNC: BayerRG12) - VmbPixelFormatBayerGB12 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0012, //!< Bayer-color, 12 bits in 16 bits, starting with GB line (PFNC: BayerGB12) - VmbPixelFormatBayerBG12 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0013, //!< Bayer-color, 12 bits in 16 bits, starting with BG line (PFNC: BayerBG12) - VmbPixelFormatBayerGR12Packed = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x002A, //!< Bayer-color, 2x12 bits in 24 bits, starting with GR line (GEV:BayerGR12Packed) - VmbPixelFormatBayerRG12Packed = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x002B, //!< Bayer-color, 2x12 bits in 24 bits, starting with RG line (GEV:BayerRG12Packed) - VmbPixelFormatBayerGB12Packed = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x002C, //!< Bayer-color, 2x12 bits in 24 bits, starting with GB line (GEV:BayerGB12Packed) - VmbPixelFormatBayerBG12Packed = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x002D, //!< Bayer-color, 2x12 bits in 24 bits, starting with BG line (GEV:BayerBG12Packed) - VmbPixelFormatBayerGR10p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy10Bit) | 0x0056, //!< Bayer-color, 10 bits continuous packed, starting with GR line (PFNC: BayerGR10p) - VmbPixelFormatBayerRG10p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy10Bit) | 0x0058, //!< Bayer-color, 10 bits continuous packed, starting with RG line (PFNC: BayerRG10p) - VmbPixelFormatBayerGB10p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy10Bit) | 0x0054, //!< Bayer-color, 10 bits continuous packed, starting with GB line (PFNC: BayerGB10p) - VmbPixelFormatBayerBG10p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy10Bit) | 0x0052, //!< Bayer-color, 10 bits continuous packed, starting with BG line (PFNC: BayerBG10p) - VmbPixelFormatBayerGR12p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0057, //!< Bayer-color, 12 bits continuous packed, starting with GR line (PFNC: BayerGR12p) - VmbPixelFormatBayerRG12p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0059, //!< Bayer-color, 12 bits continuous packed, starting with RG line (PFNC: BayerRG12p) - VmbPixelFormatBayerGB12p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0055, //!< Bayer-color, 12 bits continuous packed, starting with GB line (PFNC: BayerGB12p) - VmbPixelFormatBayerBG12p = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0053, //!< Bayer-color, 12 bits continuous packed, starting with BG line (PFNC: BayerBG12p) - VmbPixelFormatBayerGR16 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x002E, //!< Bayer-color, 16 bits, starting with GR line (PFNC: BayerGR16) - VmbPixelFormatBayerRG16 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x002F, //!< Bayer-color, 16 bits, starting with RG line (PFNC: BayerRG16) - VmbPixelFormatBayerGB16 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0030, //!< Bayer-color, 16 bits, starting with GB line (PFNC: BayerGB16) - VmbPixelFormatBayerBG16 = static_cast<uint8_t>(VmbPixelMono) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0031, //!< Bayer-color, 16 bits, starting with BG line (PFNC: BayerBG16) + VmbPixelFormatBayerGR8 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy8Bit) | 0x0008, //!< Bayer-color, 8 bits, starting with GR line (PFNC: BayerGR8) + VmbPixelFormatBayerRG8 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy8Bit) | 0x0009, //!< Bayer-color, 8 bits, starting with RG line (PFNC: BayerRG8) + VmbPixelFormatBayerGB8 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy8Bit) | 0x000A, //!< Bayer-color, 8 bits, starting with GB line (PFNC: BayerGB8) + VmbPixelFormatBayerBG8 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy8Bit) | 0x000B, //!< Bayer-color, 8 bits, starting with BG line (PFNC: BayerBG8) + VmbPixelFormatBayerGR10 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x000C, //!< Bayer-color, 10 bits in 16 bits, starting with GR line (PFNC: BayerGR10) + VmbPixelFormatBayerRG10 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x000D, //!< Bayer-color, 10 bits in 16 bits, starting with RG line (PFNC: BayerRG10) + VmbPixelFormatBayerGB10 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x000E, //!< Bayer-color, 10 bits in 16 bits, starting with GB line (PFNC: BayerGB10) + VmbPixelFormatBayerBG10 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x000F, //!< Bayer-color, 10 bits in 16 bits, starting with BG line (PFNC: BayerBG10) + VmbPixelFormatBayerGR12 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0010, //!< Bayer-color, 12 bits in 16 bits, starting with GR line (PFNC: BayerGR12) + VmbPixelFormatBayerRG12 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0011, //!< Bayer-color, 12 bits in 16 bits, starting with RG line (PFNC: BayerRG12) + VmbPixelFormatBayerGB12 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0012, //!< Bayer-color, 12 bits in 16 bits, starting with GB line (PFNC: BayerGB12) + VmbPixelFormatBayerBG12 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0013, //!< Bayer-color, 12 bits in 16 bits, starting with BG line (PFNC: BayerBG12) + VmbPixelFormatBayerGR12Packed = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x002A, //!< Bayer-color, 2x12 bits in 24 bits, starting with GR line (GEV:BayerGR12Packed) + VmbPixelFormatBayerRG12Packed = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x002B, //!< Bayer-color, 2x12 bits in 24 bits, starting with RG line (GEV:BayerRG12Packed) + VmbPixelFormatBayerGB12Packed = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x002C, //!< Bayer-color, 2x12 bits in 24 bits, starting with GB line (GEV:BayerGB12Packed) + VmbPixelFormatBayerBG12Packed = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x002D, //!< Bayer-color, 2x12 bits in 24 bits, starting with BG line (GEV:BayerBG12Packed) + VmbPixelFormatBayerGR10p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy10Bit) | 0x0056, //!< Bayer-color, 10 bits continuous packed, starting with GR line (PFNC: BayerGR10p) + VmbPixelFormatBayerRG10p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy10Bit) | 0x0058, //!< Bayer-color, 10 bits continuous packed, starting with RG line (PFNC: BayerRG10p) + VmbPixelFormatBayerGB10p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy10Bit) | 0x0054, //!< Bayer-color, 10 bits continuous packed, starting with GB line (PFNC: BayerGB10p) + VmbPixelFormatBayerBG10p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy10Bit) | 0x0052, //!< Bayer-color, 10 bits continuous packed, starting with BG line (PFNC: BayerBG10p) + VmbPixelFormatBayerGR12p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0057, //!< Bayer-color, 12 bits continuous packed, starting with GR line (PFNC: BayerGR12p) + VmbPixelFormatBayerRG12p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0059, //!< Bayer-color, 12 bits continuous packed, starting with RG line (PFNC: BayerRG12p) + VmbPixelFormatBayerGB12p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0055, //!< Bayer-color, 12 bits continuous packed, starting with GB line (PFNC: BayerGB12p) + VmbPixelFormatBayerBG12p = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0053, //!< Bayer-color, 12 bits continuous packed, starting with BG line (PFNC: BayerBG12p) + VmbPixelFormatBayerGR16 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x002E, //!< Bayer-color, 16 bits, starting with GR line (PFNC: BayerGR16) + VmbPixelFormatBayerRG16 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x002F, //!< Bayer-color, 16 bits, starting with RG line (PFNC: BayerRG16) + VmbPixelFormatBayerGB16 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0030, //!< Bayer-color, 16 bits, starting with GB line (PFNC: BayerGB16) + VmbPixelFormatBayerBG16 = static_cast<VmbUint8_t>(VmbPixelMono) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0031, //!< Bayer-color, 16 bits, starting with BG line (PFNC: BayerBG16) // rgb formats - VmbPixelFormatRgb8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x0014, //!< RGB, 8 bits x 3 (PFNC: RGB8) - VmbPixelFormatBgr8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x0015, //!< BGR, 8 bits x 3 (PFNC: BGR8) - VmbPixelFormatRgb10 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x0018, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatBgr10 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x0019, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatRgb12 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x001A, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatBgr12 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x001B, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatRgb14 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x005E, //!< RGB, 14 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatBgr14 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x004A, //!< RGB, 14 bits in 16 bits x 3 (PFNC: RGB12) - VmbPixelFormatRgb16 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x0033, //!< RGB, 16 bits x 3 (PFNC: RGB16) - VmbPixelFormatBgr16 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy48Bit) | 0x004B, //!< RGB, 16 bits x 3 (PFNC: RGB16) + VmbPixelFormatRgb8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x0014, //!< RGB, 8 bits x 3 (PFNC: RGB8) + VmbPixelFormatBgr8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x0015, //!< BGR, 8 bits x 3 (PFNC: BGR8) + VmbPixelFormatRgb10 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x0018, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatBgr10 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x0019, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatRgb12 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x001A, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatBgr12 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x001B, //!< RGB, 12 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatRgb14 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x005E, //!< RGB, 14 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatBgr14 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x004A, //!< RGB, 14 bits in 16 bits x 3 (PFNC: RGB12) + VmbPixelFormatRgb16 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x0033, //!< RGB, 16 bits x 3 (PFNC: RGB16) + VmbPixelFormatBgr16 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy48Bit) | 0x004B, //!< RGB, 16 bits x 3 (PFNC: RGB16) // rgba formats - VmbPixelFormatArgb8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy32Bit) | 0x0016, //!< ARGB, 8 bits x 4 (PFNC: RGBa8) + VmbPixelFormatArgb8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy32Bit) | 0x0016, //!< ARGB, 8 bits x 4 (PFNC: RGBa8) VmbPixelFormatRgba8 = VmbPixelFormatArgb8, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatBgra8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy32Bit) | 0x0017, //!< BGRA, 8 bits x 4 (PFNC: BGRa8) - VmbPixelFormatRgba10 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x005F, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatBgra10 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x004C, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatRgba12 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x0061, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatBgra12 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x004E, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatRgba14 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x0063, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatBgra14 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x0050, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatRgba16 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x0064, //!< RGBA, 8 bits x 4, legacy name - VmbPixelFormatBgra16 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy64Bit) | 0x0051, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatBgra8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy32Bit) | 0x0017, //!< BGRA, 8 bits x 4 (PFNC: BGRa8) + VmbPixelFormatRgba10 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x005F, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatBgra10 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x004C, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatRgba12 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x0061, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatBgra12 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x004E, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatRgba14 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x0063, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatBgra14 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x0050, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatRgba16 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x0064, //!< RGBA, 8 bits x 4, legacy name + VmbPixelFormatBgra16 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy64Bit) | 0x0051, //!< RGBA, 8 bits x 4, legacy name // yuv/ycbcr formats - VmbPixelFormatYuv411 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x001E, //!< YUV 4:1:1 with 8 bits (PFNC: YUV411_8_UYYVYY, GEV:YUV411Packed) - VmbPixelFormatYuv422 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x001F, //!< YUV 4:2:2 with 8 bits (PFNC: YUV422_8_UYVY, GEV:YUV422Packed) - VmbPixelFormatYuv444 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x0020, //!< YUV 4:4:4 with 8 bits (PFNC: YUV8_UYV, GEV:YUV444Packed) - VmbPixelFormatYuv422_8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0032, //!< YUV 4:2:2 with 8 bits Channel order YUYV (PFNC: YUV422_8) - VmbPixelFormatYCbCr8_CbYCr = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x003A, //!< YCbCr 4:4:4 with 8 bits (PFNC: YCbCr8_CbYCr) - identical to VmbPixelFormatYuv444 - VmbPixelFormatYCbCr422_8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x003B, //!< YCbCr 4:2:2 8-bit YCbYCr (PFNC: YCbCr422_8) - VmbPixelFormatYCbCr411_8_CbYYCrYY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x003C, //!< YCbCr 4:1:1 with 8 bits (PFNC: YCbCr411_8_CbYYCrYY) - identical to VmbPixelFormatYuv411 - VmbPixelFormatYCbCr601_8_CbYCr = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x003D, //!< YCbCr601 4:4:4 8-bit CbYCrt (PFNC: YCbCr601_8_CbYCr) - VmbPixelFormatYCbCr601_422_8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x003E, //!< YCbCr601 4:2:2 8-bit YCbYCr (PFNC: YCbCr601_422_8) - VmbPixelFormatYCbCr601_411_8_CbYYCrYY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x003F, //!< YCbCr601 4:1:1 8-bit CbYYCrYY (PFNC: YCbCr601_411_8_CbYYCrYY) - VmbPixelFormatYCbCr709_8_CbYCr = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x0040, //!< YCbCr709 4:4:4 8-bit CbYCr (PFNC: YCbCr709_8_CbYCr) - VmbPixelFormatYCbCr709_422_8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0041, //!< YCbCr709 4:2:2 8-bit YCbYCr (PFNC: YCbCr709_422_8) - VmbPixelFormatYCbCr709_411_8_CbYYCrYY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x0042, //!< YCbCr709 4:1:1 8-bit CbYYCrYY (PFNC: YCbCr709_411_8_CbYYCrYY) - VmbPixelFormatYCbCr422_8_CbYCrY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0043, //!< YCbCr 4:2:2 with 8 bits (PFNC: YCbCr422_8_CbYCrY) - identical to VmbPixelFormatYuv422 - VmbPixelFormatYCbCr601_422_8_CbYCrY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0044, //!< YCbCr601 4:2:2 8-bit CbYCrY (PFNC: YCbCr601_422_8_CbYCrY) - VmbPixelFormatYCbCr709_422_8_CbYCrY = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy16Bit) | 0x0045, //!< YCbCr709 4:2:2 8-bit CbYCrY (PFNC: YCbCr709_422_8_CbYCrY) - VmbPixelFormatYCbCr411_8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy12Bit) | 0x005A, //!< YCbCr 4:1:1 8-bit YYCbYYCr (PFNC: YCbCr411_8) - VmbPixelFormatYCbCr8 = static_cast<uint8_t>(VmbPixelColor) | static_cast<uint8_t>(VmbPixelOccupy24Bit) | 0x005B, //!< YCbCr 4:4:4 8-bit YCbCr (PFNC: YCbCr8) + VmbPixelFormatYuv411 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x001E, //!< YUV 4:1:1 with 8 bits (PFNC: YUV411_8_UYYVYY, GEV:YUV411Packed) + VmbPixelFormatYuv422 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x001F, //!< YUV 4:2:2 with 8 bits (PFNC: YUV422_8_UYVY, GEV:YUV422Packed) + VmbPixelFormatYuv444 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x0020, //!< YUV 4:4:4 with 8 bits (PFNC: YUV8_UYV, GEV:YUV444Packed) + VmbPixelFormatYuv422_8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0032, //!< YUV 4:2:2 with 8 bits Channel order YUYV (PFNC: YUV422_8) + VmbPixelFormatYCbCr8_CbYCr = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x003A, //!< YCbCr 4:4:4 with 8 bits (PFNC: YCbCr8_CbYCr) - identical to VmbPixelFormatYuv444 + VmbPixelFormatYCbCr422_8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x003B, //!< YCbCr 4:2:2 8-bit YCbYCr (PFNC: YCbCr422_8) + VmbPixelFormatYCbCr411_8_CbYYCrYY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x003C, //!< YCbCr 4:1:1 with 8 bits (PFNC: YCbCr411_8_CbYYCrYY) - identical to VmbPixelFormatYuv411 + VmbPixelFormatYCbCr601_8_CbYCr = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x003D, //!< YCbCr601 4:4:4 8-bit CbYCrt (PFNC: YCbCr601_8_CbYCr) + VmbPixelFormatYCbCr601_422_8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x003E, //!< YCbCr601 4:2:2 8-bit YCbYCr (PFNC: YCbCr601_422_8) + VmbPixelFormatYCbCr601_411_8_CbYYCrYY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x003F, //!< YCbCr601 4:1:1 8-bit CbYYCrYY (PFNC: YCbCr601_411_8_CbYYCrYY) + VmbPixelFormatYCbCr709_8_CbYCr = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x0040, //!< YCbCr709 4:4:4 8-bit CbYCr (PFNC: YCbCr709_8_CbYCr) + VmbPixelFormatYCbCr709_422_8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0041, //!< YCbCr709 4:2:2 8-bit YCbYCr (PFNC: YCbCr709_422_8) + VmbPixelFormatYCbCr709_411_8_CbYYCrYY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x0042, //!< YCbCr709 4:1:1 8-bit CbYYCrYY (PFNC: YCbCr709_411_8_CbYYCrYY) + VmbPixelFormatYCbCr422_8_CbYCrY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0043, //!< YCbCr 4:2:2 with 8 bits (PFNC: YCbCr422_8_CbYCrY) - identical to VmbPixelFormatYuv422 + VmbPixelFormatYCbCr601_422_8_CbYCrY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0044, //!< YCbCr601 4:2:2 8-bit CbYCrY (PFNC: YCbCr601_422_8_CbYCrY) + VmbPixelFormatYCbCr709_422_8_CbYCrY = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy16Bit) | 0x0045, //!< YCbCr709 4:2:2 8-bit CbYCrY (PFNC: YCbCr709_422_8_CbYCrY) + VmbPixelFormatYCbCr411_8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy12Bit) | 0x005A, //!< YCbCr 4:1:1 8-bit YYCbYYCr (PFNC: YCbCr411_8) + VmbPixelFormatYCbCr8 = static_cast<VmbUint8_t>(VmbPixelColor) | static_cast<VmbUint8_t>(VmbPixelOccupy24Bit) | 0x005B, //!< YCbCr 4:4:4 8-bit YCbCr (PFNC: YCbCr8) VmbPixelFormatLast, } VmbPixelFormatType;