diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-01-04 03:12:12 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-01-04 03:12:12 +0000 |
commit | 98c8cf0f19d89b729825d6d37b924a84025ec07b (patch) | |
tree | 51cbf43364a63f83c5e0e2fea133038ebf8a255c /code/renderer/tr_local.h | |
parent | 9e019da1eadfaab84999cf76ec169d6cb3bc9f25 (diff) | |
download | ioquake3-aero-98c8cf0f19d89b729825d6d37b924a84025ec07b.tar.gz ioquake3-aero-98c8cf0f19d89b729825d6d37b924a84025ec07b.zip |
* AVI video output
- Uses motion jpeg codec by default
- Use cl_avidemo to set a framerate
- \video [filename] to start capture
- \stopvideo to stop capture
- Audio capture is a bit ropey
git-svn-id: svn://svn.icculus.org/quake3/trunk@454 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/renderer/tr_local.h')
-rw-r--r-- | code/renderer/tr_local.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h index 865128f..1b47f96 100644 --- a/code/renderer/tr_local.h +++ b/code/renderer/tr_local.h @@ -1215,6 +1215,7 @@ skin_t *R_GetSkinByHandle( qhandle_t hSkin ); int R_ComputeLOD( trRefEntity_t *ent ); +const void *RB_TakeVideoFrameCmd( const void *data ); // // tr_shader.c @@ -1579,6 +1580,15 @@ typedef struct { qboolean jpeg; } screenshotCommand_t; +typedef struct { + int commandId; + int width; + int height; + byte *captureBuffer; + byte *encodeBuffer; + qboolean motionJpeg; +} videoFrameCommand_t; + typedef enum { RC_END_OF_LIST, RC_SET_COLOR, @@ -1586,7 +1596,8 @@ typedef enum { RC_DRAW_SURFS, RC_DRAW_BUFFER, RC_SWAP_BUFFERS, - RC_SCREENSHOT + RC_SCREENSHOT, + RC_VIDEOFRAME } renderCommand_t; @@ -1635,6 +1646,11 @@ void RE_StretchPic ( float x, float y, float w, float h, void RE_BeginFrame( stereoFrame_t stereoFrame ); void RE_EndFrame( int *frontEndMsec, int *backEndMsec ); void SaveJPG(char * filename, int quality, int image_width, int image_height, unsigned char *image_buffer); +int SaveJPGToBuffer( byte *buffer, int quality, + int image_width, int image_height, + byte *image_buffer ); +void RE_TakeVideoFrame( int width, int height, + byte *captureBuffer, byte *encodeBuffer, qboolean motionJpeg ); // font stuff void R_InitFreeType( void ); |