Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
aviwriter Struct Reference

Public Types

enum  { MAX_CHUNK_DEPTH = 16, MAX_SUPER_INDEX = 1024 }
 
enum  { VID_RGB = 0, VID_YUV, VID_YUV420 }
 

Public Member Functions

aviindexentryaddindex (int frame, int type, int size)
 
double filespaceguess ()
 
void startchunk (const char *fcc, uint size=0)
 
void listchunk (const char *fcc, const char *lfcc)
 
void endchunk ()
 
void endlistchunk ()
 
void writechunk (const char *fcc, const void *data, uint len)
 
void close ()
 
 aviwriter (const char *name, uint w, uint h, uint fps, bool sound)
 
 ~aviwriter ()
 
bool open ()
 
void scaleyuv (const uchar *pixels, uint srcw, uint srch)
 
void encodeyuv (const uchar *pixels)
 
void compressyuv (const uchar *pixels)
 
bool writesound (uchar *data, uint framesize, uint frame)
 
void flushsegment ()
 
bool nextsegment ()
 
bool writevideoframe (const uchar *pixels, uint srcw, uint srch, int format, uint frame)
 

Static Public Member Functions

static void boxsample (const uchar *src, const uint stride, const uint area, const uint w, uint h, const uint xlow, const uint xhigh, const uint ylow, const uint yhigh, uint &bdst, uint &gdst, uint &rdst)
 

Public Attributes

streamf
 
ucharyuv
 
uint videoframes
 
stream::offset totalsize
 
const uint videow
 
const uint videoh
 
const uint videofps
 
string filename
 
int soundfrequency
 
int soundchannels
 
Uint16 soundformat
 
vector< aviindexentryindex
 
vector< avisegmentinfosegments
 
stream::offset fileframesoffset
 
stream::offset fileextframesoffset
 
stream::offset filevideooffset
 
stream::offset filesoundoffset
 
stream::offset superindexvideooffset
 
stream::offset superindexsoundoffset
 
stream::offset chunkoffsets [MAX_CHUNK_DEPTH]
 
int chunkdepth
 

Member Enumeration Documentation

anonymous enum
Enumerator
MAX_CHUNK_DEPTH 
MAX_SUPER_INDEX 
anonymous enum
Enumerator
VID_RGB 
VID_YUV 
VID_YUV420 

Constructor & Destructor Documentation

aviwriter::aviwriter ( const char *  name,
uint  w,
uint  h,
uint  fps,
bool  sound 
)
inline

References concatstring(), copystring(), and path().

aviwriter::~aviwriter ( )
inline

Member Function Documentation

aviindexentry& aviwriter::addindex ( int  frame,
int  type,
int  size 
)
inline
static void aviwriter::boxsample ( const uchar src,
const uint  stride,
const uint  area,
const uint  w,
uint  h,
const uint  xlow,
const uint  xhigh,
const uint  ylow,
const uint  yhigh,
uint bdst,
uint gdst,
uint rdst 
)
inlinestatic

References cur, and gle::end().

void aviwriter::close ( )
inline
void aviwriter::compressyuv ( const uchar pixels)
inline

References flip().

void aviwriter::encodeyuv ( const uchar pixels)
inline

References flip().

void aviwriter::endchunk ( )
inline

References ASSERT.

void aviwriter::endlistchunk ( )
inline

References ASSERT, and f().

double aviwriter::filespaceguess ( )
inline

Referenced by recorder::drawhud().

void aviwriter::flushsegment ( )
inline
void aviwriter::listchunk ( const char *  fcc,
const char *  lfcc 
)
inline

References f().

bool aviwriter::nextsegment ( )
inline
bool aviwriter::open ( )
inline
void aviwriter::scaleyuv ( const uchar pixels,
uint  srcw,
uint  srch 
)
inline

References flip().

void aviwriter::startchunk ( const char *  fcc,
uint  size = 0 
)
inline

References f().

void aviwriter::writechunk ( const char *  fcc,
const void data,
uint  len 
)
inline

References f().

bool aviwriter::writesound ( uchar data,
uint  framesize,
uint  frame 
)
inline

References gle::end(), and endianswap().

Referenced by recorder::videoencoder().

bool aviwriter::writevideoframe ( const uchar pixels,
uint  srcw,
uint  srch,
int  format,
uint  frame 
)
inline

Referenced by recorder::videoencoder().

Member Data Documentation

int aviwriter::chunkdepth
stream::offset aviwriter::chunkoffsets[MAX_CHUNK_DEPTH]
stream* aviwriter::f
stream::offset aviwriter::fileextframesoffset
stream::offset aviwriter::fileframesoffset
string aviwriter::filename

Referenced by recorder::start().

stream::offset aviwriter::filesoundoffset
stream::offset aviwriter::filevideooffset
vector<aviindexentry> aviwriter::index
vector<avisegmentinfo> aviwriter::segments
int aviwriter::soundchannels
Uint16 aviwriter::soundformat
int aviwriter::soundfrequency
stream::offset aviwriter::superindexsoundoffset
stream::offset aviwriter::superindexvideooffset
stream::offset aviwriter::totalsize
const uint aviwriter::videofps
uint aviwriter::videoframes
const uint aviwriter::videoh
const uint aviwriter::videow
uchar* aviwriter::yuv

The documentation for this struct was generated from the following file: