diff options
author | iovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2006-10-24 12:58:54 +0000 |
---|---|---|
committer | iovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2006-10-24 12:58:54 +0000 |
commit | ba11f851311f9f92f92fcd8148a8f621b736e979 (patch) | |
tree | dd062f9ff9f0fe8f2e26cb323300a121704e6c95 /rMD-exp/include/recordmydesktop.h | |
parent | ffe69a6240de9e6bb56b9b729b8133fb323cee80 (diff) |
gzipped frame caching
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@114 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'rMD-exp/include/recordmydesktop.h')
-rw-r--r-- | rMD-exp/include/recordmydesktop.h | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/rMD-exp/include/recordmydesktop.h b/rMD-exp/include/recordmydesktop.h index 9255525..b06db1b 100644 --- a/rMD-exp/include/recordmydesktop.h +++ b/rMD-exp/include/recordmydesktop.h @@ -235,31 +235,39 @@ typedef struct _ProgData{ //the same platform. //We need the total number of blocks -//and the position number of each of them -//(separately for y,u,v planes). +//for each plane. + //The number of the frame compared to the //number of time expirations at the time of //caching, will enable us to make up for lost frames. - +//default 4+4+2+2+2=14!bad! +//me add pad, make god of 2 happy! typedef struct _FrameHeader{ - - unsigned int frameno;//number of frame(cached frames) - unsigned int current_total;//number of frames that should have been + u_int32_t frameno,//number of frame(cached frames) + current_total;//number of frames that should have been //taken at time of caching this one - unsigned short Ynum;//number of changed blocks in the Y plane - unsigned short Unum;//number of changed blocks in the U plane - unsigned short Vnum;//number of changed blocks in the V plane - unsigned char *YBlocks;//identifying number on the grid, starting at top left - unsigned char *UBlocks;// >> >> - unsigned char *VBlocks;// >> >> - unsigned char *YData;//data for the blocks that have changed, - unsigned char *UData;//which have to be remapped on the buffer when reading - unsigned char *VData; + u_int16_t Ynum,//number of changed blocks in the Y plane + Unum,//number of changed blocks in the U plane + Vnum;//number of changed blocks in the V plane + u_int16_t pad;//always zero }FrameHeader; +//The frame after retrieval. +//Based on the Header information +//we can read the correct amount of bytes. + +typedef struct _CachedFrame{ + FrameHeader *header; + unsigned char *YBlocks;//identifying number on the grid, starting at top left + unsigned char *UBlocks;// >> >> + unsigned char *VBlocks;// >> >> + unsigned char *YData;//pointer to data for the blocks that have changed, + unsigned char *UData;//which have to be remapped on the buffer when reading + unsigned char *VData; +}CachedFrame; /**Globals*/ |