From b2ee41cd1a499b66725797ca26a026fc352973f8 Mon Sep 17 00:00:00 2001 From: biocrasher Date: Mon, 17 Jul 2006 15:04:58 +0000 Subject: added pixel averaging option git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@22 f606c939-3180-4ac9-a4b8-4b8779d57d0a --- recordmydesktop/src/update_image.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'recordmydesktop/src/update_image.c') 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; -- cgit v1.2.1