libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
ndiformat.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <promeki/namespace.h>
11#include <promeki/config.h>
12
13#if PROMEKI_ENABLE_NDI
14
15#include <cstdint>
16#include <promeki/pixelformat.h>
17#include <promeki/string.h>
18
19PROMEKI_NAMESPACE_BEGIN
20
48class NdiFormat {
49 public:
56 enum BitDepth {
57 BitDepthAuto = 0,
58 BitDepth10 = 10,
59 BitDepth12 = 12,
60 BitDepth16 = 16,
61 };
62
77 static PixelFormat::ID fourccToPixelFormat(uint32_t fourcc, BitDepth bitDepth = BitDepthAuto);
78
89 static uint32_t pixelFormatToFourcc(PixelFormat::ID id);
90
98 static String fourccToString(uint32_t fourcc);
99
135 static PixelFormat::ID upgradeForHdrMetadata(PixelFormat::ID sdrId, const String &xmlMetadata);
136
137 NdiFormat() = delete;
138};
139
140PROMEKI_NAMESPACE_END
141
142#endif // PROMEKI_ENABLE_NDI