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_UZ *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}
 
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 53 of file RTjpegN.h.

Constructor & Destructor Documentation

◆ RTjpeg()

RTjpeg::RTjpeg ( )

Definition at line 2763 of file RTjpegN.cpp.

◆ ~RTjpeg()

RTjpeg::~RTjpeg ( )

Definition at line 2776 of file RTjpegN.cpp.

Member Function Documentation

◆ SetQuality()

int RTjpeg::SetQuality ( int *  quality)

Definition at line 2675 of file RTjpegN.cpp.

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

◆ SetFormat()

int RTjpeg::SetFormat ( const int *  fmt)

Definition at line 2692 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::SetupRTjpeg().

◆ SetSize()

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

Definition at line 2698 of file RTjpegN.cpp.

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

◆ SetIntra()

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

Definition at line 2726 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::SetupRTjpeg().

◆ Compress()

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

Definition at line 3266 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::WriteVideo().

◆ Decompress()

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

Definition at line 3303 of file RTjpegN.cpp.

◆ SetNextKey()

void RTjpeg::SetNextKey ( void  )

Definition at line 3261 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 284 of file RTjpegN.cpp.

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

◆ QuantInit()

void RTjpeg::QuantInit ( void  )
private

Definition at line 518 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 593 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 1517 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ Idct()

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

Definition at line 1526 of file RTjpegN.cpp.

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

◆ CalcTbls()

void RTjpeg::CalcTbls ( void  )
inlineprivate

Definition at line 2644 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ compressYUV420()

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

Definition at line 2781 of file RTjpegN.cpp.

Referenced by Compress().

◆ compressYUV422()

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

Definition at line 2832 of file RTjpegN.cpp.

Referenced by Compress().

◆ compress8()

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

Definition at line 2875 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV420()

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

Definition at line 3094 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV422()

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

Definition at line 3176 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompress8()

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

Definition at line 3235 of file RTjpegN.cpp.

Referenced by Compress().

◆ decompressYUV422()

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

Definition at line 2903 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompressYUV420()

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

Definition at line 2951 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompress8()

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

Definition at line 3013 of file RTjpegN.cpp.

Referenced by Decompress().

◆ bcomp()

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

Definition at line 3039 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_UZ * 4> RTjpeg::m_ws {0}
private

Definition at line 103 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 106 of file RTjpegN.h.

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

◆ m_ciqt

RTjpegData32 RTjpeg::m_ciqt {0}
private

Definition at line 107 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 110 of file RTjpegN.h.

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

◆ m_cWidth

int32_t RTjpeg::m_cWidth {0}
private

Definition at line 111 of file RTjpegN.h.

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

◆ m_ySize

int32_t RTjpeg::m_ySize {0}
private

Definition at line 112 of file RTjpegN.h.

Referenced by SetSize().

◆ m_cSize

int32_t RTjpeg::m_cSize {0}
private

Definition at line 113 of file RTjpegN.h.

Referenced by SetSize().

◆ m_old

int16_t* RTjpeg::m_old {nullptr}
private

◆ m_keyCount

int RTjpeg::m_keyCount {0}
private

Definition at line 115 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 119 of file RTjpegN.h.

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

◆ m_f

int RTjpeg::m_f {0}
private

Definition at line 120 of file RTjpegN.h.

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

◆ m_lMask

mmx_t RTjpeg::m_lMask {}
private

Definition at line 122 of file RTjpegN.h.

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

◆ m_cMask

mmx_t RTjpeg::m_cMask {}
private

Definition at line 123 of file RTjpegN.h.

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

◆ m_keyRate

int RTjpeg::m_keyRate {0}
private

Definition at line 128 of file RTjpegN.h.

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


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