MythTV  master
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
RTjpeg Class Reference

#include <RTjpegN.h>

Collaboration diagram for RTjpeg:
Collaboration graph
[legend]

Public Member Functions

 RTjpeg ()
 
 ~RTjpeg ()
 
int SetQuality (int *quality)
 
int SetFormat (const int *fmt)
 
int SetSize (const int *w, const int *h)
 
int SetIntra (int *key, int *lm, int *cm)
 
int Compress (int8_t *sp, uint8_t **planes)
 
void Decompress (int8_t *sp, uint8_t **planes)
 
void SetNextKey (void)
 

Private Member Functions

void QuantInit (void)
 
void DctInit (void)
 
void DctY (uint8_t *idata, int rskip)
 
void IdctInit (void)
 
void Idct (uint8_t *odata, RTjpegData16 &data, int rskip)
 
void CalcTbls (void)
 
int compressYUV420 (int8_t *sp, uint8_t **planes)
 
int compressYUV422 (int8_t *sp, uint8_t **planes)
 
int compress8 (int8_t *sp, uint8_t **planes)
 
int mcompressYUV420 (int8_t *sp, uint8_t **planes)
 
int mcompressYUV422 (int8_t *sp, uint8_t **planes)
 
int mcompress8 (int8_t *sp, uint8_t **planes)
 
void decompressYUV422 (int8_t *sp, uint8_t **planes)
 
void decompressYUV420 (int8_t *sp, uint8_t **planes)
 
void decompress8 (int8_t *sp, uint8_t **planes)
 

Static Private Member Functions

static int b2s (const RTjpegData16 &data, int8_t *strm, uint8_t bt8)
 
static int s2b (RTjpegData16 &data, const int8_t *strm, uint8_t bt8, RTjpegData32 &qtbla)
 
static void Quant (RTjpegData16 &block, RTjpegData32 &qtbl)
 
static int bcomp (RTjpegData16 &rblock, int16_t *old, mmx_t *mask)
 

Private Attributes

RTjpegData16 m_block {0}
 
std::array< int32_t, 64 *4 > m_ws {0}
 
RTjpegData32 m_lqt {0}
 
RTjpegData32 m_cqt {0}
 
RTjpegData32 m_liqt {0}
 
RTjpegData32 m_ciqt {0}
 
int32_t m_lB8 {0}
 
int32_t m_cB8 {0}
 
int32_t m_yWidth {0}
 
int32_t m_cWidth {0}
 
int32_t m_ySize {0}
 
int32_t m_cSize {0}
 
int16_t * m_old {nullptr}
 
int16_t * m_oldStart {nullptr}
 
int m_keyCount {0}
 
int m_width {0}
 
int m_height {0}
 
int m_q {0}
 
int m_f {0}
 
mmx_t m_lMask {}
 
mmx_t m_cMask {}
 
int m_keyRate {0}
 

Detailed Description

Definition at line 67 of file RTjpegN.h.

Constructor & Destructor Documentation

◆ RTjpeg()

RTjpeg::RTjpeg ( void  )

Definition at line 2767 of file RTjpegN.cpp.

◆ ~RTjpeg()

RTjpeg::~RTjpeg ( void  )

Definition at line 2780 of file RTjpegN.cpp.

Member Function Documentation

◆ SetQuality()

int RTjpeg::SetQuality ( int *  quality)

Definition at line 2667 of file RTjpegN.cpp.

Referenced by Decompress(), and NuppelVideoRecorder::SetupRTjpeg().

◆ SetFormat()

int RTjpeg::SetFormat ( const int *  fmt)

Definition at line 2684 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::SetupRTjpeg().

◆ SetSize()

int RTjpeg::SetSize ( const int *  w,
const int *  h 
)

Definition at line 2690 of file RTjpegN.cpp.

Referenced by Decompress(), and NuppelVideoRecorder::SetupRTjpeg().

◆ SetIntra()

int RTjpeg::SetIntra ( int *  key,
int *  lm,
int *  cm 
)

Definition at line 2725 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::SetupRTjpeg().

◆ Compress()

int RTjpeg::Compress ( int8_t *  sp,
uint8_t **  planes 
)

Definition at line 3270 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::WriteVideo().

◆ Decompress()

void RTjpeg::Decompress ( int8_t *  sp,
uint8_t **  planes 
)

Definition at line 3307 of file RTjpegN.cpp.

◆ SetNextKey()

void RTjpeg::SetNextKey ( void  )

Definition at line 3265 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::WriteVideo().

◆ b2s()

int RTjpeg::b2s ( const RTjpegData16 data,
int8_t *  strm,
uint8_t  bt8 
)
staticprivate

◆ s2b()

int RTjpeg::s2b ( RTjpegData16 data,
const int8_t *  strm,
uint8_t  bt8,
RTjpegData32 qtbla 
)
staticprivate

Definition at line 279 of file RTjpegN.cpp.

Referenced by decompress8(), decompressYUV420(), and decompressYUV422().

◆ QuantInit()

void RTjpeg::QuantInit ( void  )
private

Definition at line 513 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ Quant()

void RTjpeg::Quant ( RTjpegData16 block,
RTjpegData32 qtbl 
)
staticprivate

◆ DctInit()

void RTjpeg::DctInit ( void  )
private

Definition at line 588 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ DctY()

void RTjpeg::DctY ( uint8_t *  idata,
int  rskip 
)
private

◆ IdctInit()

void RTjpeg::IdctInit ( void  )
private

Definition at line 1509 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ Idct()

void RTjpeg::Idct ( uint8_t *  odata,
RTjpegData16 data,
int  rskip 
)
private

Definition at line 1518 of file RTjpegN.cpp.

Referenced by decompress8(), decompressYUV420(), and decompressYUV422().

◆ CalcTbls()

void RTjpeg::CalcTbls ( void  )
inlineprivate

Definition at line 2636 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ compressYUV420()

int RTjpeg::compressYUV420 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 2785 of file RTjpegN.cpp.

Referenced by Compress().

◆ compressYUV422()

int RTjpeg::compressYUV422 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 2836 of file RTjpegN.cpp.

Referenced by Compress().

◆ compress8()

int RTjpeg::compress8 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 2879 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV420()

int RTjpeg::mcompressYUV420 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 3098 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV422()

int RTjpeg::mcompressYUV422 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 3180 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompress8()

int RTjpeg::mcompress8 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 3239 of file RTjpegN.cpp.

Referenced by Compress().

◆ decompressYUV422()

void RTjpeg::decompressYUV422 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 2907 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompressYUV420()

void RTjpeg::decompressYUV420 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 2955 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompress8()

void RTjpeg::decompress8 ( int8_t *  sp,
uint8_t **  planes 
)
inlineprivate

Definition at line 3017 of file RTjpegN.cpp.

Referenced by Decompress().

◆ bcomp()

int RTjpeg::bcomp ( RTjpegData16 rblock,
int16_t *  old,
mmx_t *  mask 
)
staticprivate

Definition at line 3043 of file RTjpegN.cpp.

Referenced by mcompress8(), mcompressYUV420(), and mcompressYUV422().

Member Data Documentation

◆ m_block

RTjpegData16 RTjpeg::m_block {0}
private

◆ m_ws

std::array<int32_t,64*4> RTjpeg::m_ws {0}
private

Definition at line 117 of file RTjpegN.h.

Referenced by DctY(), and Idct().

◆ m_lqt

RTjpegData32 RTjpeg::m_lqt {0}
private

◆ m_cqt

RTjpegData32 RTjpeg::m_cqt {0}
private

◆ m_liqt

RTjpegData32 RTjpeg::m_liqt {0}
private

Definition at line 120 of file RTjpegN.h.

Referenced by CalcTbls(), decompress8(), decompressYUV420(), decompressYUV422(), and IdctInit().

◆ m_ciqt

RTjpegData32 RTjpeg::m_ciqt {0}
private

Definition at line 121 of file RTjpegN.h.

Referenced by CalcTbls(), decompressYUV420(), decompressYUV422(), and IdctInit().

◆ m_lB8

int32_t RTjpeg::m_lB8 {0}
private

◆ m_cB8

int32_t RTjpeg::m_cB8 {0}
private

◆ m_yWidth

int32_t RTjpeg::m_yWidth {0}
private

Definition at line 124 of file RTjpegN.h.

Referenced by compressYUV420(), compressYUV422(), mcompressYUV420(), mcompressYUV422(), and SetSize().

◆ m_cWidth

int32_t RTjpeg::m_cWidth {0}
private

Definition at line 125 of file RTjpegN.h.

Referenced by compressYUV420(), compressYUV422(), mcompressYUV420(), mcompressYUV422(), and SetSize().

◆ m_ySize

int32_t RTjpeg::m_ySize {0}
private

Definition at line 126 of file RTjpegN.h.

Referenced by SetSize().

◆ m_cSize

int32_t RTjpeg::m_cSize {0}
private

Definition at line 127 of file RTjpegN.h.

Referenced by SetSize().

◆ m_old

int16_t* RTjpeg::m_old {nullptr}
private

Definition at line 128 of file RTjpegN.h.

Referenced by Compress(), mcompress8(), mcompressYUV420(), mcompressYUV422(), SetIntra(), and SetSize().

◆ m_oldStart

int16_t* RTjpeg::m_oldStart {nullptr}
private

Definition at line 129 of file RTjpegN.h.

Referenced by SetIntra(), SetSize(), and ~RTjpeg().

◆ m_keyCount

int RTjpeg::m_keyCount {0}
private

Definition at line 130 of file RTjpegN.h.

Referenced by Compress(), and SetNextKey().

◆ m_width

int RTjpeg::m_width {0}
private

◆ m_height

int RTjpeg::m_height {0}
private

◆ m_q

int RTjpeg::m_q {0}
private

Definition at line 134 of file RTjpegN.h.

Referenced by CalcTbls(), Compress(), Decompress(), and SetQuality().

◆ m_f

int RTjpeg::m_f {0}
private

Definition at line 135 of file RTjpegN.h.

Referenced by Compress(), Decompress(), and SetFormat().

◆ m_lMask

mmx_t RTjpeg::m_lMask {}
private

Definition at line 137 of file RTjpegN.h.

Referenced by mcompress8(), mcompressYUV420(), mcompressYUV422(), and SetIntra().

◆ m_cMask

mmx_t RTjpeg::m_cMask {}
private

Definition at line 138 of file RTjpegN.h.

Referenced by mcompressYUV420(), mcompressYUV422(), and SetIntra().

◆ m_keyRate

int RTjpeg::m_keyRate {0}
private

Definition at line 143 of file RTjpegN.h.

Referenced by Compress(), SetIntra(), and SetSize().


The documentation for this class was generated from the following files: