summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/get_frame.c
diff options
context:
space:
mode:
authorbiocrasher <biocrasher@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-07-18 12:27:20 +0000
committerbiocrasher <biocrasher@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2006-07-18 12:27:20 +0000
commitf8ac24a454658f39b89fd8b24ee39c28d5e99c23 (patch)
tree387eff3e386fdb480d1c0a80e15a90e2d83d5b9c /recordmydesktop/src/get_frame.c
parent1ca1ca0f59a350cd22e6989ac717e6f408dad5f6 (diff)
window alignment 8pixels,32 bytes. Fixed messed up end-result.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@24 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/get_frame.c')
-rw-r--r--recordmydesktop/src/get_frame.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/recordmydesktop/src/get_frame.c b/recordmydesktop/src/get_frame.c
index 6a93ceb..d5673e6 100644
--- a/recordmydesktop/src/get_frame.c
+++ b/recordmydesktop/src/get_frame.c
@@ -111,14 +111,31 @@ void *GetFrame(void *pdata){
((ProgData *)pdata)->brwin.rgeom.width,
((ProgData *)pdata)->brwin.rgeom.height);
pthread_mutex_lock(&((ProgData *)pdata)->yuv_mutex);
- XImageToYUV(((ProgData *)pdata)->image,&((ProgData *)pdata)->enc_data->yuv,
- ((ProgData *)pdata)->args.no_quick_subsample);
+ if(((ProgData *)pdata)->args.no_quick_subsample){
+ UPDATE_YUV_BUFFER_IM_AVG((&((ProgData *)pdata)->enc_data->yuv),((unsigned char*)((ProgData *)pdata)->image->data),
+ (((ProgData *)pdata)->enc_data->x_offset),(((ProgData *)pdata)->enc_data->y_offset),
+ (((ProgData *)pdata)->brwin.rgeom.width),(((ProgData *)pdata)->brwin.rgeom.height));
+ }
+ else{
+ UPDATE_YUV_BUFFER_IM((&((ProgData *)pdata)->enc_data->yuv),((unsigned char*)((ProgData *)pdata)->image->data),
+ (((ProgData *)pdata)->enc_data->x_offset),(((ProgData *)pdata)->enc_data->y_offset),
+ (((ProgData *)pdata)->brwin.rgeom.width),(((ProgData *)pdata)->brwin.rgeom.height));
+ }
pthread_mutex_unlock(&((ProgData *)pdata)->yuv_mutex);
}
else{
pthread_mutex_lock(&((ProgData *)pdata)->yuv_mutex);
- XImageToYUV(((ProgData *)pdata)->shimage,&((ProgData *)pdata)->enc_data->yuv,
- ((ProgData *)pdata)->args.no_quick_subsample);
+ if(((ProgData *)pdata)->args.no_quick_subsample){
+ UPDATE_YUV_BUFFER_IM_AVG((&((ProgData *)pdata)->enc_data->yuv),((unsigned char*)((ProgData *)pdata)->shimage->data),
+ (((ProgData *)pdata)->enc_data->x_offset),(((ProgData *)pdata)->enc_data->y_offset),
+ (((ProgData *)pdata)->brwin.rgeom.width),(((ProgData *)pdata)->brwin.rgeom.height));
+ }
+ else{
+ UPDATE_YUV_BUFFER_IM((&((ProgData *)pdata)->enc_data->yuv),((unsigned char*)((ProgData *)pdata)->shimage->data),
+ (((ProgData *)pdata)->enc_data->x_offset),(((ProgData *)pdata)->enc_data->y_offset),
+ (((ProgData *)pdata)->brwin.rgeom.width),(((ProgData *)pdata)->brwin.rgeom.height));
+ }
+
pthread_mutex_unlock(&((ProgData *)pdata)->yuv_mutex);
}
}
© All Rights Reserved