summaryrefslogtreecommitdiff
path: root/recordmydesktop/src
diff options
context:
space:
mode:
authoriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2007-01-21 01:09:32 +0000
committeriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2007-01-21 01:09:32 +0000
commit265e0bc43c5f057a28a07c2e38da748971d7a993 (patch)
treeef2765011c9bae13a2ed15e66386b702ec8870a8 /recordmydesktop/src
parentfa96f09ceadcad5247a84245ad933782b4b71ee6 (diff)
Added support for 16bpp color depth.
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
Diffstat (limited to 'recordmydesktop/src')
-rw-r--r--recordmydesktop/src/get_frame.c3
-rw-r--r--recordmydesktop/src/initialize_data.c3
-rw-r--r--recordmydesktop/src/setbrwindow.c11
-rw-r--r--recordmydesktop/src/update_image.c3
4 files changed, 12 insertions, 8 deletions
diff --git a/recordmydesktop/src/get_frame.c b/recordmydesktop/src/get_frame.c
index d3fb2ab..83e3058 100644
--- a/recordmydesktop/src/get_frame.c
+++ b/recordmydesktop/src/get_frame.c
@@ -145,7 +145,8 @@ void *GetFrame(ProgData *pdata){
(pdata->brwin.rgeom.width),
(pdata->brwin.rgeom.height),
pdata->args.noshared,
- pdata->args.no_quick_subsample);
+ pdata->args.no_quick_subsample,
+ pdata->specs.depth);
pthread_mutex_unlock(&pdata->yuv_mutex);
}
if(pdata->args.xfixes_cursor){
diff --git a/recordmydesktop/src/initialize_data.c b/recordmydesktop/src/initialize_data.c
index 2a710b5..93f7858 100644
--- a/recordmydesktop/src/initialize_data.c
+++ b/recordmydesktop/src/initialize_data.c
@@ -125,7 +125,8 @@ int InitializeData(ProgData *pdata,
UPDATE_YUV_BUFFER((&pdata->enc_data->yuv),dtap,
(pdata->enc_data->x_offset),(pdata->enc_data->y_offset),
(pdata->brwin.rgeom.width),(pdata->brwin.rgeom.height),
- __X_IPC,(pdata->args.no_quick_subsample));
+ __X_IPC,(pdata->args.no_quick_subsample),
+ pdata->specs.depth);
pdata->frametime=(1000000)/pdata->args.fps;
diff --git a/recordmydesktop/src/setbrwindow.c b/recordmydesktop/src/setbrwindow.c
index 58dc34c..2b7b694 100644
--- a/recordmydesktop/src/setbrwindow.c
+++ b/recordmydesktop/src/setbrwindow.c
@@ -42,7 +42,7 @@ void SizePack2_8_16(int *start,int *size,int limit){
//32 bit pack align
- //we already have disible by two width,so
+ //we already have disible by two width,so
//it's 2, 4 or 6
octoffset=((*size)%8);
if(octoffset==2){
@@ -61,7 +61,7 @@ void SizePack2_8_16(int *start,int *size,int limit){
(*size)-=4;
}
}
-
+
else if(octoffset==4){
if(((*size)+(*start)+2<=limit)&&((*start)>=2)){
(*start)-=2;
@@ -169,8 +169,9 @@ int SetBRWindow(Display *dpy,BRWindow *brwin,DisplaySpecs *specs,ProgArgs *args)
- brwin->nbytes=(((brwin->rgeom.width+15)>>4)<<4)*(((brwin->rgeom.height+15)>>4)<<4)*4;
-
-
+ brwin->nbytes=(((brwin->rgeom.width+15)>>4)<<4)*(((brwin->rgeom.height+15)>>4)<<4)*
+ ((specs->depth==16)?2:4);
+
+
return 0;
}
diff --git a/recordmydesktop/src/update_image.c b/recordmydesktop/src/update_image.c
index 1bf0cd5..7ae39ff 100644
--- a/recordmydesktop/src/update_image.c
+++ b/recordmydesktop/src/update_image.c
@@ -57,7 +57,8 @@ void UpdateImage(Display * dpy,
(temp->geom.x-brwin->rgeom.x+enc->x_offset),
(temp->geom.y-brwin->rgeom.y+enc->y_offset),
(temp->geom.width),(temp->geom.height),
- noshmem,no_quick_subsample);
+ noshmem,no_quick_subsample,
+ specs->depth);
pthread_mutex_unlock(yuv_mutex);
temp=temp->next;
}while(temp!=NULL);
© All Rights Reserved