7 #ifndef __NTV2_SMPTEANCDATA_ 8 #define __NTV2_SMPTEANCDATA_ 117 static bool UnpackLine_8BitYUVtoUWordSequence (
const void * pInYUV8Line,
UWordSequence & out16BitYUVLine,
const ULWord inNumPixels);
142 static bool FindAnc (
const UWord inAncDID,
143 const UWord inAncSDID,
148 bool & outHasParityErrors,
149 const UWord inLineIncrement,
150 UWord & inOutLineStart,
151 UWord & inOutPixelStart);
181 static bool FindAnc (
const UWord inAncDID,
182 const UWord inAncSDID,
183 const ULWord * pInFrameBuffer,
189 const ULWord inWordCountMax,
190 bool & outHasParityErrors,
191 const UWord inLineIncrement,
192 UWord & inOutLineStart,
193 UWord & inOutPixelStart);
213 static bool FindAnc (
const UWord inAncDID,
214 const UWord inAncSDID,
215 const ULWord * pInFrameBuffer,
221 const ULWord inWordCountMax,
222 bool & outHasParityErrors);
239 static bool FindAnc (
const UWord inAncDID,
240 const UWord inAncSDID,
241 const ULWord * pInFrameBuffer,
247 const ULWord inWordCountMax);
255 static bool ExtractCompressedAnc (
const void * pFrameBuffer,
262 static bool EmbedCompressedAnc (
const void * pAncBuff,
286 static bool InsertAnc (
const UWord * pInAncBuff,
287 const size_t inAncWordCount,
288 const ULWord inLineOffset,
289 const ULWord inWordOffset,
312 static bool InsertAncAtSmpteLine (
const UWord * pInAncBuff,
313 const ULWord inAncWordCount,
314 const ULWord inSMPTELineNum,
315 const ULWord inWordOffset,
334 const ULWord inSmpteLine);
336 static bool CompressAncPacket (
const UWord * packetBuffer,
337 UByte * targetBuffer,
339 ULWord & outCompPacketSize,
343 static void DecompressAncPacket (
const UByte * pInCompBuffer,
344 UWord * pOutUnpackedBuffer,
345 ULWord & outCompPacketSize,
346 bool & outIsValidLoc,
350 static bool FindCompressedAnc (
UByte ancDID,
352 const UByte * pSrcAncBuf,
374 static bool GetAncPacketsFromVANCLine (
const UWordSequence & inYUV16Line,
384 static ULWord GetCaptionAncLineNumber (
const NTV2VideoFormat inVideoFormat,
const bool inIsField1 =
true);
387 #endif // __NTV2_SMPTEANCDATA_
UWordVANCPacketList::iterator UWordVANCPacketListIter
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
const UByte NTV2_SMPTEAncRP334SDID
NTV2_SMPTEAncChannelSelect
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard...
const UWord NTV2_WildCardSDID
struct NTV2_SMPTEAncHeader NTV2_SMPTEAncHeader
std::ostream & operator<<(std::ostream &inOutStream, const UWordVANCPacketList &inData)
const UByte * UByteConstPtr
std::string NTV2SMPTEAncChannelSelectToString(const NTV2_SMPTEAncChannelSelect inChanSelect, const bool inCompactForm=true)
struct NTV2_SMPTEAncHeader * NTV2_SMPTEAncHeaderPtr
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
Only look in chroma samples.
struct NTV2_SMPTEAncFooter * NTV2_SMPTEAncFooterPtr
struct NTV2_SMPTEAncFooter NTV2_SMPTEAncFooter
UWordSequence UWordVANCPacket
A UWordVANCPacket is identical to a UWordSequence.
Describes a user-space buffer on the host computer. I have an address and a length, plus some optional attributes (allocated by SDK?, page-aligned? etc.).
Declares numerous NTV2 utility functions.
const UWord kAncHeaderSize
const ULWord kMaxAncPacketSize
Only look in luma samples.
const UByte NTV2_SMPTEAncRP334DID
UWordVANCPacketList::const_iterator UWordVANCPacketListConstIter
const UWord kAncFooterSize
const UWord NTV2_WildCardDID
std::vector< UWordVANCPacket > UWordVANCPacketList
An ordered sequence of zero or more UWordVANCPacket elements.