libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
st436m.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <promeki/config.h>
11#if PROMEKI_ENABLE_PROAV
12#include <cstdint>
13#include <promeki/namespace.h>
14#include <promeki/buffer.h>
15#include <promeki/result.h>
16#include <promeki/ancpacket.h>
17#include <promeki/ancdesc.h>
18
19PROMEKI_NAMESPACE_BEGIN
20
54class St436m {
55 public:
57 enum WrappingType : uint8_t {
58 VancFrame = 0x01,
59 VancField1 = 0x02,
60 VancField2 = 0x03,
61 VancProgressive = 0x04,
62 HancFrame = 0x11,
63 HancField1 = 0x12,
64 HancField2 = 0x13,
65 HancProgressive = 0x14,
66 };
67
69 enum SampleCoding : uint8_t {
70 Coding8BitLuma = 4,
71 Coding8BitChroma = 5,
72 Coding8BitLumaChroma = 6,
73 Coding10BitLuma = 7,
74 Coding10BitChroma = 8,
75 Coding10BitLumaChroma = 9,
76 Coding8BitLumaParityErr = 10,
77 Coding8BitChromaParityErr= 11,
78 Coding8BitLCParityErr = 12,
79 };
80
98 static Buffer encodeFrame(const AncPacket::List &packets, const AncDesc &desc = AncDesc());
99
109 static Result<AncPacket::List> decodeFrame(const Buffer &sample);
110};
111
112PROMEKI_NAMESPACE_END
113
114#endif // PROMEKI_ENABLE_PROAV