Age | Commit message (Collapse) | Author |
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@271 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
This fixed also the wakeup from pause bug.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@269 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
Fixed fpe in FlushBlock
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@268 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@267 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
and thus require sufficiently less hard disk space.
Instead of the old (plane_width/16)*(plane_height/16) blocksize,
now we are using 16x16 for the y plane and 8x8 blocks for the u,v planes.
Also this byte alignment allows comparing of blocks to happen by
first casting into a larger datatype(u_int64_t if available, u_int32_t else).
This way we do as little as 1/8 or 1/4 of comparisons. This essentially offsets
the higher CPU required to check the now increased number of blocks, and even
provides a slight performance boost from the previous way of caching.
Also, the load cache loop has been debloated, by moving much of the functionality
that previously resided in an if evaluation statement, into anew function(ReadFrame).
For further abstraction, ReadFrame utilizes ReadZF to do the actual reading.
ReadZF determines if a gzread or an fread has to be done.
Another improvement in the program is that, now, write operations on the disk, happen
in 4 kbytes pages, minimizing thus the overall cost of access.
Last change in this set is that the indexes in the CachedFrame and FrameHeader datatypes,
are now u_int32_t's, to accomodate the possibly large number of blocks(could have been 16 bit
types but that would give 4096*4096 max resolution, which might have caused problems in the future)
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@266 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@265 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@264 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@263 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
(rule is purely for visual purposes, macro expansions are not taken into account).
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@262 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
which have been replaced with UPDATE_*_PLANE(S) with an extra __bit_depth__ parameter
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@261 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
Currently the UPDATE_*_PLANE(S)_* macros are duplicated, so they might need some
reworking (they are perfectly functional though).
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@260 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
This one is further broken into UPDATE_(X)_PLANE(S)_(Y) macros, where X is Y or UV and Y is 32 or 16(color depth).
This will allow easier incorporation of 16bpp support, without code duplication(where it can be avoided) and
without bloating the toplevel calls of these macros with multiple similar blocks of code.
Also changed toplevel check of depth, to allow running on 16 bpp
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@259 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
Cleaned-up main, moved initialization tasks to InitializeData and all thread creation
in rmdThreads.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@258 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
Moved some of the code on cache encoding, from main to a new fuction(EncodeCache).
Added EncodeCache declaration in rmdfunc.h
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@257 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
with sizeof(long)!=4). Xfixes.h declares the pixels as a list of unsigned long
instead of CARD32 that is used on the serverside , resulting in 4 byte padding on amd64,
where sizeof(long)==8.This was breaking the XFIXES_POINTER_TO_YUV macro, but is now corrected.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@256 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
this is going to be a minor bugfixing release after all
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@255 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@254 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
for easier maintainance
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@253 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@252 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@248 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@246 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@245 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@240 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@239 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
time expiration,before it starts(wait on cond_var before loop).
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@238 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
along with relevant documentation, arg parsing, etc.
Removed obolete and unused encoding variable.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@237 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@233 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
theora and vorbis streams (which should now be correct).
Also missing eos has been taken care.
New condition variables have been added to signal end of encoding threads
and avoid lockups, caused by the new configuration for eos.
Also the main thread handles better the joins now, making sure that
the encoding threads do not get stuck waiting.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@230 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@229 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@228 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
by
Andreas Zwinkau
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@227 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@226 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@225 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
memcmp isn't faster after all (it just doesn't register at gprof)
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@224 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@223 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@212 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@211 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
avoid BadWindow on XGetWindowAttributes, with XQueryTree
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@210 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@209 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
fix by David Valot
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@207 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@205 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@197 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@196 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@195 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@180 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
it's better anyway)
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@173 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@172 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@167 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@166 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|
|
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@165 f606c939-3180-4ac9-a4b8-4b8779d57d0a
|