AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
timecodeburn.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef AJA_TIMECODEBURN_H
9 #define AJA_TIMECODEBURN_H
10 
11 #include "ajabase/common/export.h"
13 #include <string>
14 
20 {
21 public:
23  AJA_EXPORT virtual ~AJATimeCodeBurn(void);
32  AJA_EXPORT bool RenderTimeCodeFont (AJA_PixelFormat pixelFormat, uint32_t numPixels, uint32_t numLines);
33 
43  AJA_EXPORT bool BurnTimeCode (void * pBaseVideoAddress, const std::string & inTimeCodeStr, const uint32_t inYPercent);
44 
48  AJA_EXPORT bool BurnTimeCode (char * pBaseVideoAddress, const char * pTimeCodeString, const uint32_t percentY);
49 
50 protected:
51 
52  void CopyDigit (int digitOffset,char *pFrameBuff);
53  void writeV210Pixel (char **pBytePtr, int x, int c, int y);
54  void writeYCbCr10PackedPlanerPixel (char **pBytePtr, int x, int y);
55 
56 private:
57  bool _bRendered; // set 'true' when Burn-In character map has been rendered
58  char * _pCharRenderMap; // ptr to rendered Burn-In character set
59  AJA_PixelFormat _charRenderPixelFormat; // frame buffer format of rendered characters
60  int _charRenderHeight; // frame height for which rendered characters were rendered
61  int _charRenderWidth; // frame width for which rendered characters were rendered
62  int _charWidthBytes; // rendered character width in bytes
63  int _charHeightLines; // rendered character height in frame lines
64  int _charPositionX; // offset (in bytes) from left side of screen to first burn-in character
65  int _charPositionY; // offset (in lines) from top of screen to top of burn-in characters
66  int _rowBytes;
67 };
68 
69 #endif // AJA_TIMECODEBURN_H
AJATimeCodeBurn::writeYCbCr10PackedPlanerPixel
void writeYCbCr10PackedPlanerPixel(char **pBytePtr, int x, int y)
Definition: timecodeburn.cpp:844
AJATimeCodeBurn::RenderTimeCodeFont
AJA_EXPORT bool RenderTimeCodeFont(AJA_PixelFormat pixelFormat, uint32_t numPixels, uint32_t numLines)
Definition: timecodeburn.cpp:447
AJA_EXPORT
#define AJA_EXPORT
Definition: export.h:34
AJATimeCodeBurn::AJATimeCodeBurn
AJA_EXPORT AJATimeCodeBurn(void)
Definition: timecodeburn.cpp:21
AJATimeCodeBurn::BurnTimeCode
AJA_EXPORT bool BurnTimeCode(void *pBaseVideoAddress, const std::string &inTimeCodeStr, const uint32_t inYPercent)
Definition: timecodeburn.cpp:45
AJATimeCodeBurn::~AJATimeCodeBurn
virtual AJA_EXPORT ~AJATimeCodeBurn(void)
Definition: timecodeburn.cpp:35
videotypes.h
Declares the enumeration constants used in the ajabase library.
AJA_PixelFormat
AJA_PixelFormat
Definition: videotypes.h:121
AJATimeCodeBurn::CopyDigit
void CopyDigit(int digitOffset, char *pFrameBuff)
Definition: timecodeburn.cpp:93
AJATimeCodeBurn
Definition: timecodeburn.h:19
AJATimeCodeBurn::writeV210Pixel
void writeV210Pixel(char **pBytePtr, int x, int c, int y)
Definition: timecodeburn.cpp:806
export.h
Declares system-dependent import/export macros and libraries.