An ogg/theora+irct encoder class; accepts argb32 images and binary text, outputs an ogg stream.
More...
#include <KviOggTheoraEncoder.h>
|
| static int | ilog (unsigned _v) |
| | Internal function used to calculate our granule shift. More...
|
| |
An ogg/theora+irct encoder class; accepts argb32 images and binary text, outputs an ogg stream.
| KviOggTheoraEncoder::KviOggTheoraEncoder |
( |
KviDataBuffer * |
stream, |
|
|
int |
iWidth = 320, |
|
|
int |
iHeight = 240, |
|
|
int |
iFpsN = 5, |
|
|
int |
iFpsD = 1, |
|
|
int |
iParN = 4, |
|
|
int |
iParD = 3 |
|
) |
| |
| KviOggTheoraEncoder::~KviOggTheoraEncoder |
( |
| ) |
|
|
virtual |
| void KviOggTheoraEncoder::addTextFrame |
( |
unsigned char * |
textPkt, |
|
|
int |
textSize |
|
) |
| |
| void KviOggTheoraEncoder::addVideoFrame |
( |
QRgb * |
rgb32, |
|
|
int |
videoSize |
|
) |
| |
| int KviOggTheoraEncoder::fetch_and_process_video |
( |
quint8 * |
videoYuv, |
|
|
ogg_page * |
videopage, |
|
|
ogg_stream_state * |
to, |
|
|
th_enc_ctx * |
td, |
|
|
int |
videoflag |
|
) |
| |
|
private |
Internal function that processes a video frame to create an ogg page.
- Returns
- int
| int KviOggTheoraEncoder::fetch_and_process_video_packet |
( |
quint8 * |
videoYuv, |
|
|
th_enc_ctx * |
td, |
|
|
ogg_packet * |
op |
|
) |
| |
|
private |
Internal function that processes a video frame to create an ogg packet.
- Returns
- int
| int KviOggTheoraEncoder::ilog |
( |
unsigned |
_v | ) |
|
|
staticprivate |
Internal function used to calculate our granule shift.
- Returns
- int
| int KviOggTheoraEncoder::frame_state |
|
private |
Internal flag used in video frame processing
Stream geometry definition
| ogg_page KviOggTheoraEncoder::og |
|
private |
One Ogg bitstream page. Vorbis packets are inside
| ogg_packet KviOggTheoraEncoder::op |
|
private |
One raw packet of encoded data
| th_comment KviOggTheoraEncoder::tc |
|
private |
Theora stream comments struct
| th_enc_ctx* KviOggTheoraEncoder::td |
|
private |
Theora stream encoding struct
| ogg_int64_t KviOggTheoraEncoder::text_sofar |
|
private |
Number of transmitted text frames
| int KviOggTheoraEncoder::textflag |
|
private |
Internal flag used in text frame processing
| th_info KviOggTheoraEncoder::ti |
|
private |
Theora stream info struct
| ogg_stream_state KviOggTheoraEncoder::to |
|
private |
Take physical pages, weld into a logical stream of theora packets
| int KviOggTheoraEncoder::videoflag |
|
private |
Internal flag used in video frame processing
| quint8* KviOggTheoraEncoder::videoYuv |
|
private |
Yuv encoded surface pointer
| size_t KviOggTheoraEncoder::y4m_aux_buf_read_sz |
|
private |
The amount to read into the auxiliary buffer
| size_t KviOggTheoraEncoder::y4m_aux_buf_sz |
|
private |
The size of the auxiliary buffer
| size_t KviOggTheoraEncoder::y4m_dst_buf_read_sz |
|
private |
The amount to read directly into the converted frame buffer
| size_t KviOggTheoraEncoder::y4m_dst_buf_sz |
|
private |
The size of each converted frame buffer
| unsigned char* KviOggTheoraEncoder::yuvframe[3] |
|
private |
Internal struct used in video frame processing
| ogg_stream_state KviOggTheoraEncoder::zo |
|
private |
Take physical pages, weld into a logical stream of irct packets
The documentation for this class was generated from the following files: