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, int16_t *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 int16_t *data, int8_t *strm, uint8_t bt8)
 
static int s2b (int16_t *data, const int8_t *strm, uint8_t bt8, int32_t *qtbla)
 
static void Quant (int16_t *block, int32_t *qtbl)
 
static int bcomp (int16_t *rblock, int16_t *old, mmx_t *mask)
 

Private Attributes

int16_t block [64] MALIGN32 {0}
 
int32_t ws [64 *4] MALIGN32 {0}
 
int32_t lqt [64] MALIGN32 {0}
 
int32_t cqt [64] MALIGN32 {0}
 
int32_t liqt [64] MALIGN32 {0}
 
int32_t ciqt [64] MALIGN32 {0}
 
int32_t lb8 {0}
 
int32_t cb8 {0}
 
int32_t Ywidth {0}
 
int32_t Cwidth {0}
 
int32_t Ysize {0}
 
int32_t Csize {0}
 
int16_t * old {nullptr}
 
int16_t * old_start {nullptr}
 
int key_count {0}
 
int width {0}
 
int height {0}
 
int Q {0}
 
int f {0}
 
mmx_t lmask {}
 
mmx_t cmask {}
 
int key_rate {0}
 

Detailed Description

Definition at line 64 of file RTjpegN.h.

Constructor & Destructor Documentation

◆ RTjpeg()

RTjpeg::RTjpeg ( void  )

Definition at line 2794 of file RTjpegN.cpp.

◆ ~RTjpeg()

RTjpeg::~RTjpeg ( void  )

Definition at line 2807 of file RTjpegN.cpp.

Member Function Documentation

◆ SetQuality()

int RTjpeg::SetQuality ( int *  quality)

Definition at line 2691 of file RTjpegN.cpp.

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

◆ SetFormat()

int RTjpeg::SetFormat ( const int *  fmt)

Definition at line 2708 of file RTjpegN.cpp.

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

◆ SetSize()

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

Definition at line 2714 of file RTjpegN.cpp.

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

◆ SetIntra()

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

Definition at line 2750 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::SetupRTjpeg().

◆ Compress()

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

Definition at line 3315 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::WriteVideo().

◆ Decompress()

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

Definition at line 3352 of file RTjpegN.cpp.

Referenced by NuppelDecoder::DecodeFrame().

◆ SetNextKey()

void RTjpeg::SetNextKey ( void  )

Definition at line 3310 of file RTjpegN.cpp.

Referenced by NuppelVideoRecorder::WriteVideo().

◆ b2s()

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

◆ s2b()

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

Definition at line 281 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 ( int16_t *  block,
int32_t *  qtbl 
)
staticprivate

◆ DctInit()

void RTjpeg::DctInit ( void  )
private

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

Referenced by SetQuality().

◆ Idct()

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

Definition at line 1539 of file RTjpegN.cpp.

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

◆ CalcTbls()

void RTjpeg::CalcTbls ( void  )
inlineprivate

Definition at line 2657 of file RTjpegN.cpp.

Referenced by SetQuality().

◆ compressYUV420()

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

Definition at line 2812 of file RTjpegN.cpp.

Referenced by Compress().

◆ compressYUV422()

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

Definition at line 2865 of file RTjpegN.cpp.

Referenced by Compress().

◆ compress8()

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

Definition at line 2910 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV420()

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

Definition at line 3134 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompressYUV422()

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

Definition at line 3219 of file RTjpegN.cpp.

Referenced by Compress().

◆ mcompress8()

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

Definition at line 3281 of file RTjpegN.cpp.

Referenced by Compress().

◆ decompressYUV422()

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

Definition at line 2939 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompressYUV420()

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

Definition at line 2988 of file RTjpegN.cpp.

Referenced by Decompress().

◆ decompress8()

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

Definition at line 3051 of file RTjpegN.cpp.

Referenced by Decompress().

◆ bcomp()

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

Definition at line 3076 of file RTjpegN.cpp.

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

Member Data Documentation

◆ MALIGN32 [1/6]

int16_t block [64] RTjpeg::MALIGN32 {0}
private

Definition at line 113 of file RTjpegN.h.

◆ MALIGN32 [2/6]

int32_t ws [64*4] RTjpeg::MALIGN32 {0}
private

Definition at line 114 of file RTjpegN.h.

◆ MALIGN32 [3/6]

int32_t lqt [64] RTjpeg::MALIGN32 {0}
private

Definition at line 115 of file RTjpegN.h.

◆ MALIGN32 [4/6]

int32_t cqt [64] RTjpeg::MALIGN32 {0}
private

Definition at line 116 of file RTjpegN.h.

◆ MALIGN32 [5/6]

int32_t liqt [64] RTjpeg::MALIGN32 {0}
private

Definition at line 117 of file RTjpegN.h.

◆ MALIGN32 [6/6]

int32_t ciqt [64] RTjpeg::MALIGN32 {0}
private

Definition at line 118 of file RTjpegN.h.

◆ lb8

int32_t RTjpeg::lb8 {0}
private

◆ cb8

int32_t RTjpeg::cb8 {0}
private

◆ Ywidth

int32_t RTjpeg::Ywidth {0}
private

Definition at line 121 of file RTjpegN.h.

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

◆ Cwidth

int32_t RTjpeg::Cwidth {0}
private

Definition at line 122 of file RTjpegN.h.

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

◆ Ysize

int32_t RTjpeg::Ysize {0}
private

Definition at line 123 of file RTjpegN.h.

Referenced by SetSize().

◆ Csize

int32_t RTjpeg::Csize {0}
private

Definition at line 124 of file RTjpegN.h.

Referenced by SetSize().

◆ old

int16_t* RTjpeg::old {nullptr}
private

Definition at line 125 of file RTjpegN.h.

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

◆ old_start

int16_t* RTjpeg::old_start {nullptr}
private

Definition at line 126 of file RTjpegN.h.

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

◆ key_count

int RTjpeg::key_count {0}
private

Definition at line 127 of file RTjpegN.h.

Referenced by Compress(), and SetNextKey().

◆ width

int RTjpeg::width {0}
private

◆ height

int RTjpeg::height {0}
private

◆ Q

int RTjpeg::Q {0}
private

Definition at line 131 of file RTjpegN.h.

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

◆ f

int RTjpeg::f {0}
private

◆ lmask

mmx_t RTjpeg::lmask {}
private

Definition at line 134 of file RTjpegN.h.

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

◆ cmask

mmx_t RTjpeg::cmask {}
private

Definition at line 135 of file RTjpegN.h.

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

◆ key_rate

int RTjpeg::key_rate {0}
private

Definition at line 140 of file RTjpegN.h.

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


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