|
|
de79654 |
diff -up ./utils/playercam/playercam.c.fixplayercam ./utils/playercam/playercam.c
|
|
|
de79654 |
--- ./utils/playercam/playercam.c.fixplayercam 2010-10-03 23:22:45.197406018 -0400
|
|
|
de79654 |
+++ ./utils/playercam/playercam.c 2011-01-08 09:23:56.329551970 -0500
|
|
|
de79654 |
@@ -21,7 +21,7 @@
|
|
|
de79654 |
* Desc: PlayerCam
|
|
|
de79654 |
* Author: Brad Kratochvil
|
|
|
de79654 |
* Date: 20050902
|
|
|
de79654 |
- * CVS: $Id: playercam.c 8799 2010-06-28 04:12:42Z jpgr87 $
|
|
|
de79654 |
+ * CVS: $Id: playercam.c 8968 2010-11-15 03:06:34Z jpgr87 $
|
|
|
de79654 |
*************************************************************************/
|
|
|
de79654 |
|
|
|
de79654 |
/** @ingroup utils */
|
|
|
de79654 |
@@ -413,17 +413,20 @@ player_init(int argc, char *argv[])
|
|
|
de79654 |
// Decompress the image
|
|
|
de79654 |
csize = g_camera->image_count;
|
|
|
de79654 |
playerc_camera_decompress(g_camera);
|
|
|
de79654 |
- usize = g_camera->image_count;
|
|
|
de79654 |
+ usize = g_camera->image_count;
|
|
|
de79654 |
+
|
|
|
de79654 |
|
|
|
de79654 |
g_print("camera: [w %d h %d d %d] [%d/%d bytes]\n",
|
|
|
de79654 |
g_camera->width, g_camera->height, g_camera->bpp, csize, usize);
|
|
|
de79654 |
|
|
|
de79654 |
g_width = g_camera->width;
|
|
|
de79654 |
g_height = g_camera->height;
|
|
|
de79654 |
- if (allocated_size != usize)
|
|
|
de79654 |
+
|
|
|
de79654 |
+ int buffsize = g_camera->width * g_camera->height * 3;
|
|
|
de79654 |
+ if (allocated_size != buffsize)
|
|
|
de79654 |
{
|
|
|
de79654 |
- g_img = realloc(g_img, usize);
|
|
|
de79654 |
- allocated_size = usize;
|
|
|
de79654 |
+ g_img = realloc(g_img, buffsize);
|
|
|
de79654 |
+ allocated_size = buffsize;
|
|
|
de79654 |
}
|
|
|
de79654 |
}
|
|
|
de79654 |
else // try the blobfinder
|
|
|
de79654 |
@@ -467,7 +470,7 @@ player_update()
|
|
|
de79654 |
{
|
|
|
de79654 |
// Decompress the image if necessary
|
|
|
de79654 |
playerc_camera_decompress(g_camera);
|
|
|
de79654 |
- assert(allocated_size > g_camera->image_count*3);
|
|
|
de79654 |
+ assert(allocated_size >= g_camera->image_count);
|
|
|
de79654 |
// figure out the colorspace
|
|
|
de79654 |
switch (g_camera->format)
|
|
|
de79654 |
{
|
|
|
de79654 |
@@ -485,11 +488,11 @@ player_update()
|
|
|
de79654 |
{
|
|
|
de79654 |
int j = 0;
|
|
|
de79654 |
// Transform to MONO8
|
|
|
de79654 |
- for (i = 0; i < g_camera->image_count; i++, j+=2)
|
|
|
de79654 |
+ for (i = 0; i < g_camera->image_count/2; i++, j+=2)
|
|
|
de79654 |
{
|
|
|
de79654 |
- g_img[i*3+1] = g_img[i*3+2] = g_img[i*3+3] =
|
|
|
de79654 |
- ((unsigned char)(g_camera->image[j]) << 8) +
|
|
|
de79654 |
- (unsigned char)(g_camera->image[j+1]);
|
|
|
de79654 |
+ g_img[i*3] = g_img[i*3+1] = g_img[i*3+2] =
|
|
|
de79654 |
+ ((unsigned char)(g_camera->image[j]));// << 8) +
|
|
|
de79654 |
+// (unsigned char)(g_camera->image[j+1]);
|
|
|
de79654 |
}
|
|
|
de79654 |
break;
|
|
|
de79654 |
}
|