-#if 0
-void matrix_inv_mult( double m[3][3], double vector[3] )
-{
- register int i;
- register double v0 = vector[0];
- register double v1 = vector[1];
- register double v2 = vector[2];
-
- for(i=0; i<3; i++)
- {
- vector[i] = m[0][i] * v0 + m[1][i] * v1 + m[2][i] * v2;
- }
-}
-#endif
-
-#define ID_0 0xff
-#define ID_1 0xd8
-#define ID_2 0xff
-#define ID_3 0xe0
-#define ID_4 0x00
-#define ID_5 0x10
-#define ID_6 0x4a
-#define ID_7 0x46
-#define ID_8 0x49
-#define ID_9 0x46
-#define ID_10 0x00
-
-#define ID_LENGTH 11
-
-// Find last jpeg inside image; create and copy to file jpeg
-int extractJPEG( fullPath *image, fullPath *jpeg )
-{
- file_spec fnum;
- long count;
- unsigned char* im;
- int i, idx = -1;
- unsigned char ch;
-
- if( myopen( image, read_bin, fnum ) )
- return -1;
-
-
- count = 1; i=0; // Get file length
-
- while( count == 1 )
- {
- myread( fnum, count, &ch );
- if(count==1) i++;
- }
- myclose(fnum);
-
- count = i;
-
- im = (UCHAR*)malloc( count );
- if( im == NULL )
- {
- PrintError("Not enough memory");
- return -1;
- }
-
- if( myopen( image, read_bin, fnum ) )
- return -1;
-
- myread(fnum,count,im);
- myclose(fnum);
-
- if( i != count )
- return -1;
-
- count -= ID_LENGTH;
-
- for(i=0; i<count; i++)
- {
- if( im[i] == ID_0 && im[i+1] == ID_1 && im[i+2] == ID_2 && im[i+3] == ID_3
- && im[i+4] == ID_4 && im[i+5] == ID_5 && im[i+6] == ID_6 && im[i+7] == ID_7
- && im[i+8] == ID_8 && im[i+9] == ID_9 && im[i+10] == ID_10)
- idx = i;
- }
-
- if( idx == -1 ) // No jpeg found
- {
- free(im);
- return -1;
- }
-
- count = count + ID_LENGTH - idx;
-
- mycreate( jpeg, 'GKON','JPEG');
- if( myopen( jpeg, write_bin, fnum ) )
- return -1;
- mywrite( fnum, count, im+idx );
- free( im );
- myclose( fnum );
- return 0;
-}
-
-