Alex 'AdUser' Z
11 years ago
commit
b0b737bac6
5 changed files with 120 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation; either version 2 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU Library General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with this program; if not, write to the Free Software |
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "main.h" |
||||||
|
#include "image.h" |
||||||
|
|
||||||
|
#include <gd.h> |
||||||
|
|
||||||
|
int bitmap_compare(image_bitmap * const a, image_bitmap * const b) |
||||||
|
{ |
||||||
|
uint16_t row = 0; |
||||||
|
uint16_t bit = 0; |
||||||
|
size_t cnt = 0; |
||||||
|
|
||||||
|
for (row = 0; row < 16; row++) { |
||||||
|
bit = 1 << 15; |
||||||
|
while (bit) { |
||||||
|
cnt += !!(((*a)[row] & bit) ^ ((*b)[row] & bit)); |
||||||
|
bit >>= 1; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return cnt; |
||||||
|
} |
||||||
|
|
||||||
|
int image_load(void) |
||||||
|
{ |
||||||
|
return 1; |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
#define SAMPLE_SIZE sizeof(uint16_t) |
||||||
|
|
||||||
|
typedef uint16_t image_bitmap[16]; |
||||||
|
|
||||||
|
int bitmap_compare(image_bitmap * const a, image_bitmap * const b); |
||||||
|
int image_load(void); |
@ -0,0 +1,34 @@ |
|||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation; either version 2 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU Library General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with this program; if not, write to the Free Software |
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "main.h" |
||||||
|
#include <gdbm.h> |
||||||
|
|
||||||
|
#define DB_BLOCKSIZE 256 * 1024 |
||||||
|
|
||||||
|
GDBM_FILE dbf; |
||||||
|
|
||||||
|
int db_open(char *samples, char *files) |
||||||
|
{ |
||||||
|
dbf = gdbm_open(samples, DB_BLOCKSIZE, GDBM_WRCREAT, 0644, 0); |
||||||
|
|
||||||
|
if (!dbf) { |
||||||
|
printf("Can't open database: %s\n", gdbm_strerror(gdbm_errno)); |
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
return 1; |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
#include <stdarg.h> |
||||||
|
#include <stdbool.h> |
||||||
|
#include <stddef.h> |
||||||
|
#include <stdint.h> |
||||||
|
#include <stdio.h> |
||||||
|
#include <stdlib.h> |
||||||
|
#include <string.h> |
||||||
|
#include <unistd.h> |
||||||
|
#include <assert.h> |
||||||
|
#include <errno.h> |
||||||
|
#include <limits.h> |
||||||
|
#include <sys/stat.h> |
||||||
|
#include <sys/types.h> |
||||||
|
|
||||||
|
extern int db_open(char *samples, char *files); |
||||||
|
extern int db_close(void); |
||||||
|
|
||||||
|
extern int image_add(uint64_t, char *path); |
||||||
|
extern int image_del(uint64_t); |
||||||
|
extern int image_exists(uint64_t); |
||||||
|
/*extern int image_find(uint64_t, rec_t **data, size_t limit);*/ |
Loading…
Reference in new issue