summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/update_image.c
diff options
context:
space:
mode:
authorbiocrasher <biocrasher@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-07-17 15:04:58 +0000
committerbiocrasher <biocrasher@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-07-17 15:04:58 +0000
commitb2ee41cd1a499b66725797ca26a026fc352973f8 (patch)
tree0721f234266c109fd40a1cfe8f9e73ae65c262dd /recordmydesktop/src/update_image.c
parent485c81f8613e0aa0e7b8d5a5d63ac6264e4a7786 (diff)
added pixel averaging option
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@22 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/update_image.c')
-rw-r--r--recordmydesktop/src/update_image.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/recordmydesktop/src/update_image.c b/recordmydesktop/src/update_image.c
index bf319e2..0de3f0a 100644
--- a/recordmydesktop/src/update_image.c
+++ b/recordmydesktop/src/update_image.c
@@ -35,7 +35,8 @@ void UpdateImage(Display * dpy,
BRWindow *brwin,
EncData *enc,
char *datatemp,
- int noshmem){
+ int noshmem,
+ int no_quick_subsample){
RectArea *temp;
unsigned char *dtap=(unsigned char*)datatemp;
temp=*root;
@@ -52,18 +53,30 @@ void UpdateImage(Display * dpy,
temp->geom.height);
pthread_mutex_lock(yuv_mutex);
-
- UPDATE_YUV_BUFFER_IM(yuv,dtap,
- (temp->geom.x-brwin->rgeom.x+enc->x_offset),(temp->geom.y-brwin->rgeom.y+enc->y_offset),
- (temp->geom.width),(temp->geom.height));
+ if(no_quick_subsample){
+ UPDATE_YUV_BUFFER_IM_AVG(yuv,dtap,
+ (temp->geom.x-brwin->rgeom.x+enc->x_offset),(temp->geom.y-brwin->rgeom.y+enc->y_offset),
+ (temp->geom.width),(temp->geom.height));
+ }
+ else{
+ UPDATE_YUV_BUFFER_IM(yuv,dtap,
+ (temp->geom.x-brwin->rgeom.x+enc->x_offset),(temp->geom.y-brwin->rgeom.y+enc->y_offset),
+ (temp->geom.width),(temp->geom.height));
+ }
pthread_mutex_unlock(yuv_mutex);
}
else{
+ if(no_quick_subsample){
+ UPDATE_YUV_BUFFER_SH_AVG(yuv,dtap,
+ (temp->geom.x-brwin->rgeom.x+enc->x_offset),(temp->geom.y-brwin->rgeom.y+enc->y_offset),
+ (temp->geom.width),(temp->geom.height));
+ }
+ else{
UPDATE_YUV_BUFFER_SH(yuv,dtap,
(temp->geom.x-brwin->rgeom.x+enc->x_offset),(temp->geom.y-brwin->rgeom.y+enc->y_offset),
(temp->geom.width),(temp->geom.height));
-
+ }
}
temp=temp->next;
© All Rights Reserved