AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
videoutilities.cpp File Reference

Declares the ajabase library's video utility functions. More...

#include "common.h"
#include "videoutilities.h"
#include <string.h>
Include dependency graph for videoutilities.cpp:

Go to the source code of this file.

Macros

#define _ENDIAN_SWAP32(_data_)   (((_data_<<24)&0xff000000)|((_data_<<8)&0x00ff0000)|((_data_>>8)&0x0000ff00)|((_data_>>24)&0x000000ff))
 

Functions

int FixedTrunc (int inFix)
 
AJA_RGBAlphaPixel CubicInterPolate (AJA_RGBAlphaPixel *Input, int32_t Index)
 
int16_t CubicInterPolateWord (int16_t *Input, int32_t Index)
 
int16_t CubicInterPolateAudioWord (int16_t *Input, int32_t Index)
 
void createVideoFrame (uint32_t *buffer, uint64_t frameNumber, AJA_PixelFormat pixFmt, uint32_t lines, uint32_t pixels, uint32_t linepitch, uint16_t y, uint16_t cb, uint16_t cr)
 
uint32_t AJA_CalcRowBytesForFormat (AJA_PixelFormat format, uint32_t width)
 
void AJA_UnPack10BitYCbCrBuffer (uint32_t *packedBuffer, uint16_t *ycbcrBuffer, uint32_t numPixels)
 
void AJA_PackTo10BitYCbCrBuffer (uint16_t *ycbcrBuffer, uint32_t *packedBuffer, uint32_t numPixels)
 
void AJA_PackTo10BitYCbCrDPXBuffer (uint16_t *ycbcrBuffer, uint32_t *packedBuffer, uint32_t numPixels, bool bigEndian)
 
void AJA_PackRGB10BitFor10BitRGB (AJA_RGBAlpha10BitPixel *rgba10BitBuffer, uint32_t numPixels)
 
void AJA_PackRGB10BitFor10BitRGBPacked (AJA_RGBAlpha10BitPixel *rgba10BitBuffer, uint32_t numPixels)
 
void AJA_PackRGB10BitFor10BitDPX (AJA_RGBAlpha10BitPixel *rgba10BitBuffer, uint32_t numPixels, bool bigEndian)
 
void AJA_UnPack10BitDPXtoRGBAlpha10BitPixel (AJA_RGBAlpha10BitPixel *rgba10BitBuffer, uint32_t *DPXLinebuffer, uint32_t numPixels, bool bigEndian)
 
void AJA_UnPack10BitDPXtoRGBAlphaBitPixel (uint8_t *rgbaBuffer, uint32_t *DPXLinebuffer, uint32_t numPixels, bool bigEndian)
 
void AJA_MakeUnPacked10BitYCbCrBuffer (uint16_t *buffer, uint16_t Y, uint16_t Cb, uint16_t Cr, uint32_t numPixels)
 
void AJA_MakeUnPacked8BitYCbCrBuffer (uint8_t *buffer, uint8_t Y, uint8_t Cb, uint8_t Cr, uint32_t numPixels)
 
void AJA_ConvertLineto8BitYCbCr (uint16_t *ycbcr10BitBuffer, uint8_t *ycbcr8BitBuffer, uint32_t numPixels)
 
void AJA_ConvertLineToYCbCr422 (AJA_RGBAlphaPixel *RGBLine, uint16_t *YCbCrLine, int32_t numPixels, int32_t startPixel, bool fUseSDMatrix)
 
void AJA_ConvertRGBAlpha10LineToYCbCr422 (AJA_RGBAlpha10BitPixel *RGBLine, uint16_t *YCbCrLine, int32_t numPixels, int32_t startPixel, bool fUseRGBFullRange)
 
void AJA_ConvertLineto10BitRGB (uint16_t *ycbcrBuffer, AJA_RGBAlpha10BitPixel *rgbaBuffer, uint32_t numPixels, bool fUseSDMatrix)
 
void AJA_ConvertLinetoRGB (uint8_t *ycbcrBuffer, AJA_RGBAlphaPixel *rgbaBuffer, uint32_t numPixels, bool fUseSDMatrix)
 
void AJA_ConvertLinetoRGB (uint16_t *ycbcrBuffer, AJA_RGBAlphaPixel *rgbaBuffer, uint32_t numPixels, bool fUseSDMatrix)
 
void AJA_ConvertLineto16BitRGB (uint16_t *ycbcrBuffer, AJA_RGBAlpha16BitPixel *rgbaBuffer, uint32_t numPixels, bool fUseSDMatrix)
 
void AJA_Convert16BitRGBtoBayer10BitDPXLJ (AJA_RGBAlpha16BitPixel *rgbaBuffer, uint32_t *bayerBuffer, uint32_t numPixels, uint32_t line, AJA_BayerColorPhase phase)
 
void AJA_Convert16BitRGBtoBayer12BitDPXLJ (AJA_RGBAlpha16BitPixel *rgbaBuffer, uint32_t *bayerBuffer, uint32_t numPixels, uint32_t line, AJA_BayerColorPhase phase)
 
void AJA_Convert16BitRGBtoBayer10BitDPXPacked (AJA_RGBAlpha16BitPixel *rgbaBuffer, uint8_t *bayerBuffer, uint32_t numPixels, uint32_t line, AJA_BayerColorPhase phase)
 
void AJA_Convert16BitRGBtoBayer12BitDPXPacked (AJA_RGBAlpha16BitPixel *rgbaBuffer, uint8_t *bayerBuffer, uint32_t numPixels, uint32_t line, AJA_BayerColorPhase phase)
 
void AJA_ConvertARGBToRGBA (uint8_t *rgbaBuffer, uint32_t numPixels)
 
void AJA_ConvertARGBToABGR (uint8_t *rgbaBuffer, uint32_t numPixels)
 
static void AJA_ConvertARGBToRGB (uint8_t *rgbaBuffer, uint8_t *rgbBuffer, uint32_t numPixels)
 
static void AJA_ConvertARGBToBGR (uint8_t *rgbaBuffer, uint8_t *rgbBuffer, uint32_t numPixels)
 
void AJA_Convert16BitARGBTo16BitRGB (AJA_RGBAlpha16BitPixel *rgbaLineBuffer, uint16_t *rgbLineBuffer, uint32_t numPixels)
 
void AJA_Convert16BitARGBTo12BitRGBPacked (AJA_RGBAlpha16BitPixel *rgbaLineBuffer, uint8_t *rgbLineBuffer, uint32_t numPixels)
 
void AJA_Convert8BitYCbCrToYUY2 (uint8_t *ycbcrBuffer, uint32_t numPixels)
 
void AJA_RePackLineDataForYCbCrDPX (uint32_t *packedycbcrLine, uint32_t numULWords)
 
void AJA_ConvertUnpacked10BitYCbCrToPixelFormat (uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, AJA_PixelFormat pixelFormat)
 
void AJA_ConvertPixelFormatToRGBA (uint32_t *buffer, AJA_RGBAlphaPixel *rgbBuffer, uint32_t numPixels, AJA_PixelFormat pixelFormat, bool bIsSD)
 
void AJA_MaskUnPacked10BitYCbCrBuffer (uint16_t *ycbcrUnPackedBuffer, uint16_t signalMask, uint32_t numPixels)
 
void WriteLineToBuffer (AJA_PixelFormat pixelFormat, uint32_t currentLine, uint32_t numPixels, uint32_t linePitch, uint8_t *pOutputBuffer, uint32_t *pPackedLineBuffer)
 
void WriteLineToBuffer (AJA_PixelFormat pixelFormat, AJA_BayerColorPhase bayerPhase, uint32_t currentLine, uint32_t numPixels, uint32_t linePitch, uint8_t *pOutputBuffer, uint32_t *pPackedLineBuffer)
 
void AJA_ReSampleLine (AJA_RGBAlphaPixel *Input, AJA_RGBAlphaPixel *Output, uint16_t startPixel, uint16_t endPixel, int32_t numInputPixels, int32_t numOutputPixels)
 
void AJA_ReSampleLine (int16_t *Input, int16_t *Output, uint16_t startPixel, uint16_t endPixel, int32_t numInputPixels, int32_t numOutputPixels)
 
void AJA_ReSampleYCbCrSampleLine (int16_t *Input, int16_t *Output, int32_t numInputPixels, int32_t numOutputPixels)
 
void AJA_ReSampleAudio (int16_t *Input, int16_t *Output, uint16_t startPixel, uint16_t endPixel, int32_t numInputPixels, int32_t numOutputPixels, int16_t channelInterleaveMulitplier)
 

Variables

uint32_t CubicCoef [129]
 

Detailed Description

Declares the ajabase library's video utility functions.

Definition in file videoutilities.cpp.

Macro Definition Documentation

◆ _ENDIAN_SWAP32

#define _ENDIAN_SWAP32 (   _data_)    (((_data_<<24)&0xff000000)|((_data_<<8)&0x00ff0000)|((_data_>>8)&0x0000ff00)|((_data_>>24)&0x000000ff))

Definition at line 18 of file videoutilities.cpp.

Function Documentation

◆ AJA_CalcRowBytesForFormat()

uint32_t AJA_CalcRowBytesForFormat ( AJA_PixelFormat  format,
uint32_t  width 
)

Definition at line 174 of file videoutilities.cpp.

◆ AJA_Convert16BitARGBTo12BitRGBPacked()

void AJA_Convert16BitARGBTo12BitRGBPacked ( AJA_RGBAlpha16BitPixel rgbaLineBuffer,
uint8_t *  rgbLineBuffer,
uint32_t  numPixels 
)

Definition at line 1224 of file videoutilities.cpp.

◆ AJA_Convert16BitARGBTo16BitRGB()

void AJA_Convert16BitARGBTo16BitRGB ( AJA_RGBAlpha16BitPixel rgbaLineBuffer,
uint16_t *  rgbLineBuffer,
uint32_t  numPixels 
)

Definition at line 1210 of file videoutilities.cpp.

◆ AJA_Convert16BitRGBtoBayer10BitDPXLJ()

void AJA_Convert16BitRGBtoBayer10BitDPXLJ ( AJA_RGBAlpha16BitPixel rgbaBuffer,
uint32_t *  bayerBuffer,
uint32_t  numPixels,
uint32_t  line,
AJA_BayerColorPhase  phase 
)

Definition at line 771 of file videoutilities.cpp.

◆ AJA_Convert16BitRGBtoBayer10BitDPXPacked()

void AJA_Convert16BitRGBtoBayer10BitDPXPacked ( AJA_RGBAlpha16BitPixel rgbaBuffer,
uint8_t *  bayerBuffer,
uint32_t  numPixels,
uint32_t  line,
AJA_BayerColorPhase  phase 
)

Definition at line 938 of file videoutilities.cpp.

◆ AJA_Convert16BitRGBtoBayer12BitDPXLJ()

void AJA_Convert16BitRGBtoBayer12BitDPXLJ ( AJA_RGBAlpha16BitPixel rgbaBuffer,
uint32_t *  bayerBuffer,
uint32_t  numPixels,
uint32_t  line,
AJA_BayerColorPhase  phase 
)

Definition at line 863 of file videoutilities.cpp.

◆ AJA_Convert16BitRGBtoBayer12BitDPXPacked()

void AJA_Convert16BitRGBtoBayer12BitDPXPacked ( AJA_RGBAlpha16BitPixel rgbaBuffer,
uint8_t *  bayerBuffer,
uint32_t  numPixels,
uint32_t  line,
AJA_BayerColorPhase  phase 
)

Definition at line 1062 of file videoutilities.cpp.

◆ AJA_Convert8BitYCbCrToYUY2()

void AJA_Convert8BitYCbCrToYUY2 ( uint8_t *  ycbcrBuffer,
uint32_t  numPixels 
)

Definition at line 1253 of file videoutilities.cpp.

◆ AJA_ConvertARGBToABGR()

void AJA_ConvertARGBToABGR ( uint8_t *  rgbaBuffer,
uint32_t  numPixels 
)

Definition at line 1167 of file videoutilities.cpp.

◆ AJA_ConvertARGBToBGR()

static void AJA_ConvertARGBToBGR ( uint8_t *  rgbaBuffer,
uint8_t *  rgbBuffer,
uint32_t  numPixels 
)
static

Definition at line 1197 of file videoutilities.cpp.

◆ AJA_ConvertARGBToRGB()

static void AJA_ConvertARGBToRGB ( uint8_t *  rgbaBuffer,
uint8_t *  rgbBuffer,
uint32_t  numPixels 
)
static

Definition at line 1183 of file videoutilities.cpp.

◆ AJA_ConvertARGBToRGBA()

void AJA_ConvertARGBToRGBA ( uint8_t *  rgbaBuffer,
uint32_t  numPixels 
)

Definition at line 1151 of file videoutilities.cpp.

◆ AJA_ConvertLineto10BitRGB()

void AJA_ConvertLineto10BitRGB ( uint16_t *  ycbcrBuffer,
AJA_RGBAlpha10BitPixel rgbaBuffer,
uint32_t  numPixels,
bool  fUseSDMatrix 
)

Definition at line 520 of file videoutilities.cpp.

◆ AJA_ConvertLineto16BitRGB()

void AJA_ConvertLineto16BitRGB ( uint16_t *  ycbcrBuffer,
AJA_RGBAlpha16BitPixel rgbaBuffer,
uint32_t  numPixels,
bool  fUseSDMatrix 
)

Definition at line 700 of file videoutilities.cpp.

◆ AJA_ConvertLineto8BitYCbCr()

void AJA_ConvertLineto8BitYCbCr ( uint16_t *  ycbcr10BitBuffer,
uint8_t *  ycbcr8BitBuffer,
uint32_t  numPixels 
)

Definition at line 432 of file videoutilities.cpp.

◆ AJA_ConvertLinetoRGB() [1/2]

void AJA_ConvertLinetoRGB ( uint16_t *  ycbcrBuffer,
AJA_RGBAlphaPixel rgbaBuffer,
uint32_t  numPixels,
bool  fUseSDMatrix 
)

Definition at line 639 of file videoutilities.cpp.

◆ AJA_ConvertLinetoRGB() [2/2]

void AJA_ConvertLinetoRGB ( uint8_t *  ycbcrBuffer,
AJA_RGBAlphaPixel rgbaBuffer,
uint32_t  numPixels,
bool  fUseSDMatrix 
)

Definition at line 578 of file videoutilities.cpp.

◆ AJA_ConvertLineToYCbCr422()

void AJA_ConvertLineToYCbCr422 ( AJA_RGBAlphaPixel RGBLine,
uint16_t *  YCbCrLine,
int32_t  numPixels,
int32_t  startPixel,
bool  fUseSDMatrix 
)

Definition at line 443 of file videoutilities.cpp.

◆ AJA_ConvertPixelFormatToRGBA()

void AJA_ConvertPixelFormatToRGBA ( uint32_t *  buffer,
AJA_RGBAlphaPixel rgbBuffer,
uint32_t  numPixels,
AJA_PixelFormat  pixelFormat,
bool  bIsSD 
)

Definition at line 1390 of file videoutilities.cpp.

◆ AJA_ConvertRGBAlpha10LineToYCbCr422()

void AJA_ConvertRGBAlpha10LineToYCbCr422 ( AJA_RGBAlpha10BitPixel RGBLine,
uint16_t *  YCbCrLine,
int32_t  numPixels,
int32_t  startPixel,
bool  fUseRGBFullRange 
)

Definition at line 483 of file videoutilities.cpp.

◆ AJA_ConvertUnpacked10BitYCbCrToPixelFormat()

void AJA_ConvertUnpacked10BitYCbCrToPixelFormat ( uint16_t *  unPackedBuffer,
uint32_t *  packedBuffer,
uint32_t  numPixels,
AJA_PixelFormat  pixelFormat 
)

Definition at line 1288 of file videoutilities.cpp.

◆ AJA_MakeUnPacked10BitYCbCrBuffer()

void AJA_MakeUnPacked10BitYCbCrBuffer ( uint16_t *  buffer,
uint16_t  Y,
uint16_t  Cb,
uint16_t  Cr,
uint32_t  numPixels 
)

Definition at line 406 of file videoutilities.cpp.

◆ AJA_MakeUnPacked8BitYCbCrBuffer()

void AJA_MakeUnPacked8BitYCbCrBuffer ( uint8_t *  buffer,
uint8_t  Y,
uint8_t  Cb,
uint8_t  Cr,
uint32_t  numPixels 
)

Definition at line 418 of file videoutilities.cpp.

◆ AJA_MaskUnPacked10BitYCbCrBuffer()

void AJA_MaskUnPacked10BitYCbCrBuffer ( uint16_t *  ycbcrUnPackedBuffer,
uint16_t  signalMask,
uint32_t  numPixels 
)

Definition at line 1464 of file videoutilities.cpp.

◆ AJA_PackRGB10BitFor10BitDPX()

void AJA_PackRGB10BitFor10BitDPX ( AJA_RGBAlpha10BitPixel rgba10BitBuffer,
uint32_t  numPixels,
bool  bigEndian 
)

Definition at line 344 of file videoutilities.cpp.

◆ AJA_PackRGB10BitFor10BitRGB()

void AJA_PackRGB10BitFor10BitRGB ( AJA_RGBAlpha10BitPixel rgba10BitBuffer,
uint32_t  numPixels 
)

Definition at line 315 of file videoutilities.cpp.

◆ AJA_PackRGB10BitFor10BitRGBPacked()

void AJA_PackRGB10BitFor10BitRGBPacked ( AJA_RGBAlpha10BitPixel rgba10BitBuffer,
uint32_t  numPixels 
)

Definition at line 328 of file videoutilities.cpp.

◆ AJA_PackTo10BitYCbCrBuffer()

void AJA_PackTo10BitYCbCrBuffer ( uint16_t *  ycbcrBuffer,
uint32_t *  packedBuffer,
uint32_t  numPixels 
)

Definition at line 276 of file videoutilities.cpp.

◆ AJA_PackTo10BitYCbCrDPXBuffer()

void AJA_PackTo10BitYCbCrDPXBuffer ( uint16_t *  ycbcrBuffer,
uint32_t *  packedBuffer,
uint32_t  numPixels,
bool  bigEndian 
)

Definition at line 291 of file videoutilities.cpp.

◆ AJA_RePackLineDataForYCbCrDPX()

void AJA_RePackLineDataForYCbCrDPX ( uint32_t *  packedycbcrLine,
uint32_t  numULWords 
)

Definition at line 1269 of file videoutilities.cpp.

◆ AJA_ReSampleAudio()

void AJA_ReSampleAudio ( int16_t *  Input,
int16_t *  Output,
uint16_t  startPixel,
uint16_t  endPixel,
int32_t  numInputPixels,
int32_t  numOutputPixels,
int16_t  channelInterleaveMulitplier 
)

Definition at line 1760 of file videoutilities.cpp.

◆ AJA_ReSampleLine() [1/2]

void AJA_ReSampleLine ( AJA_RGBAlphaPixel Input,
AJA_RGBAlphaPixel Output,
uint16_t  startPixel,
uint16_t  endPixel,
int32_t  numInputPixels,
int32_t  numOutputPixels 
)

Definition at line 1635 of file videoutilities.cpp.

◆ AJA_ReSampleLine() [2/2]

void AJA_ReSampleLine ( int16_t *  Input,
int16_t *  Output,
uint16_t  startPixel,
uint16_t  endPixel,
int32_t  numInputPixels,
int32_t  numOutputPixels 
)

Definition at line 1667 of file videoutilities.cpp.

◆ AJA_ReSampleYCbCrSampleLine()

void AJA_ReSampleYCbCrSampleLine ( int16_t *  Input,
int16_t *  Output,
int32_t  numInputPixels,
int32_t  numOutputPixels 
)

Definition at line 1696 of file videoutilities.cpp.

◆ AJA_UnPack10BitDPXtoRGBAlpha10BitPixel()

void AJA_UnPack10BitDPXtoRGBAlpha10BitPixel ( AJA_RGBAlpha10BitPixel rgba10BitBuffer,
uint32_t *  DPXLinebuffer,
uint32_t  numPixels,
bool  bigEndian 
)

Definition at line 361 of file videoutilities.cpp.

◆ AJA_UnPack10BitDPXtoRGBAlphaBitPixel()

void AJA_UnPack10BitDPXtoRGBAlphaBitPixel ( uint8_t *  rgbaBuffer,
uint32_t *  DPXLinebuffer,
uint32_t  numPixels,
bool  bigEndian 
)

Definition at line 381 of file videoutilities.cpp.

◆ AJA_UnPack10BitYCbCrBuffer()

void AJA_UnPack10BitYCbCrBuffer ( uint32_t *  packedBuffer,
uint16_t *  ycbcrBuffer,
uint32_t  numPixels 
)

Definition at line 262 of file videoutilities.cpp.

◆ createVideoFrame()

void createVideoFrame ( uint32_t *  buffer,
uint64_t  frameNumber,
AJA_PixelFormat  pixFmt,
uint32_t  lines,
uint32_t  pixels,
uint32_t  linepitch,
uint16_t  y,
uint16_t  cb,
uint16_t  cr 
)

Definition at line 158 of file videoutilities.cpp.

◆ CubicInterPolate()

AJA_RGBAlphaPixel CubicInterPolate ( AJA_RGBAlphaPixel Input,
int32_t  Index 
)
inline

Definition at line 1784 of file videoutilities.cpp.

◆ CubicInterPolateAudioWord()

int16_t CubicInterPolateAudioWord ( int16_t *  Input,
int32_t  Index 
)
inline

Definition at line 1836 of file videoutilities.cpp.

◆ CubicInterPolateWord()

int16_t CubicInterPolateWord ( int16_t *  Input,
int32_t  Index 
)
inline

Definition at line 1823 of file videoutilities.cpp.

◆ FixedTrunc()

int FixedTrunc ( int  inFix)
inline

Definition at line 13 of file videoutilities.cpp.

◆ WriteLineToBuffer() [1/2]

void WriteLineToBuffer ( AJA_PixelFormat  pixelFormat,
AJA_BayerColorPhase  bayerPhase,
uint32_t  currentLine,
uint32_t  numPixels,
uint32_t  linePitch,
uint8_t *  pOutputBuffer,
uint32_t *  pPackedLineBuffer 
)

Definition at line 1586 of file videoutilities.cpp.

◆ WriteLineToBuffer() [2/2]

void WriteLineToBuffer ( AJA_PixelFormat  pixelFormat,
uint32_t  currentLine,
uint32_t  numPixels,
uint32_t  linePitch,
uint8_t *  pOutputBuffer,
uint32_t *  pPackedLineBuffer 
)

Definition at line 1539 of file videoutilities.cpp.

Variable Documentation

◆ CubicCoef

uint32_t CubicCoef[129]

Definition at line 24 of file videoutilities.cpp.