summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/rmd_yuv_utils.c
AgeCommit message (Collapse)Author
2020-07-11*: drop {gtk,qt}-recordmydesktop subdirsVito Caputo
This restores the recordmydesktop/ subdir as root from the mirror I cloned by fork from. I have no particular interest in the gtk/qt frontends and it doesn't appear they were part of a single tree in the past. But I will probably preserve backwards compatibility of the cli so they can continue to work with this fork installed.
2020-07-11yuv_utils: shrink [yuv]blocks to unsigned char[]Vito Caputo
No idea why this had such a large type, its members just hold 0 or 1.
2020-07-11yuv_utils: gracefully ignore odd pixels for UVVito Caputo
This is temporary, in preparation for potentially odd-dimensioned image buffers. For now I'll just skip the last row / column in the UV update for such odd dimensions. In the future there could be a read-modify-write dance for handling the last row/column or something like that.
2020-07-11yuv_utils: fixup dirty blocknum() parametersVito Caputo
This needs to maintain dirty blocks in the yuv frame coordinates, not in the captured image's cooridinates. The existing code assumes those are the same in double-buffer mode where the dirty block tracking is applied. But I'm working towards allowing the captured image dimensions to be free from the 16x16 alignment constraints the yuv buffers must conform to for theora. To handle that future, the block coordinates should at least use the (yuv)->y_width, not width_tm. I also added shifting the x,y but in double-buffer mode that shouldn't actually be needed since it'd always be full-shots unless I'm mistaken.
2020-07-11yuv_utils: more cleanups focusing on the macrosVito Caputo
Nothing really changed here, just rearranging some stuff and replacing some divides with shifts.
2020-07-11*: more random cleanups mostly formattingVito Caputo
nothing functionally different
2020-07-11*: try restore some sanity to YUV macrosVito Caputo
The public macros didn't need to be macros, so they've been turned into functions. All the big ugly YUV macro stuff that can be justified as macros has been moved to rmd_yuv_utils.c where they're privately used. They've also had a first pass at formatting them sanely...
2020-06-20*: just some fast and nasty reformattingVito Caputo
If I'm going to actually be modifying this program substantially and possibly maintaining some fork of it, it's gotta be formmatted how I prefer. This is by no means done or perfect, rmd_types.h in particular is quite the mess, I will be revisiting this issue...
2009-01-10src/*.c: Namescape all functions for consistency and general codebaseenselic
sanity (previously only a few rmd functions were namespaced). git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@590 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-12-13Added missing stdio.h and errno.h headers in anyiovar
files that needed them (could cause compilation failure on some platforms). Also, rearranged the sequence with which include's happen, so that any missing headers will be more likely to show up as copilation errors, in the future. rmd_yuv_utils.[ch] and rmd_block_utils.[ch] have been merged within the former, as they deal with the same subject (converting rgb buffers to yuv ones, with the only difference that rmd_block_utils had the double-buffer convertions while rmd_yuv_utils dealt with the single-buffered ones). Their headers also had the a circular dependency (rmd_yuv_utils.h included rmd_block_utils.h and vice-versa). rmd_math.[ch] was added. This file holds now the rmdRoundf function which is a portable implementation of roundf (which depends on C99). The reasoning behind the addition of these files, is that they might hold more purely mathematical functions, in the future. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@583 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-16src/rmd_yuv_utils.c : Applied patch by Luca Bonavita, that correctsiovar
the rgb to yuv algorithm and provides near perfect colorspace conversion. src/rmd_get_frame.c : The sum of the chroma subcomponents, in the XFIXES_POINTER_TO_YUV macro, must wrap around the unsigned char type range, for the calculation to be correct. So, we take its modulo to that range. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@551 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/*.[ch]: Rename files so that the name becomesenselic
rmd_some_file.[ch]. The exceptions are recordmydesktop.c which is the main file and skeleton.[ch] which are external files. src/Makefile.am: Adapt. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@546 f606c939-3180-4ac9-a4b8-4b8779d57d0a
© All Rights Reserved