From 386b7d3366f1359a265da207a9cafa3edf553b64 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Mon, 7 Oct 2019 19:13:39 -0400 Subject: Reorganize and commit all the modified TACLeBench code and run scripts --- all_pairs/source/epic/epic.h | 72 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 all_pairs/source/epic/epic.h (limited to 'all_pairs/source/epic/epic.h') diff --git a/all_pairs/source/epic/epic.h b/all_pairs/source/epic/epic.h new file mode 100644 index 0000000..5e5675f --- /dev/null +++ b/all_pairs/source/epic/epic.h @@ -0,0 +1,72 @@ +#ifndef __EPIC_H_ +#define __EPIC_H_ + +#define EPIC_VERSION 1.1 + +/* ============= FUNDAMENTAL LIMITATIONS ============= */ + +/* Maximum x- or y-size of image */ +#define MAX_IMAGE_DIM 16384 + +/* Maximum number of pyramid levels (value 3*levs+1 stored in 5 bits). + This doesn't need to be larger than log2(MAX_IMAGE_DIM/FILTER_SIZE). */ +#define MAX_LEVELS 10 + +/* Maximum number of quantization bins. This essentially determines + the maximum depth image to be represented. */ +#define MAX_BINS 511 + +/* ============= SECONDARY (derived) LIMITATIONS ============= */ + +/* This number determines the precision of the stored binsizes: + stored coefficients are accurate to +/- (1/SCALE_FACTOR). + On the other hand, this number also will limit the maximum amount + of compression. + It should not be more than [2^(8*sizeof(BinValueType))]/256. */ +#define SCALE_FACTOR 128 + +/* This number must be consistent with the filters that are + hardwired into epic.c */ +#define FILTER_SIZE 15 + +/* Log (base 2) of MAX_IMAGE_DIM^2: (bits required to store the dimensions) */ +#define LOG_MAX_IMAGE_SIZE 32 + +/* The type of the quantized images. Must be SIGNED, and capable of holding + values in the range [-MAX_BINS, MAX_BINS] */ +typedef short BinIndexType; + +/* The type used to represent the binsizes. Should be UNSIGNED. If this is + changed, be sure to change the places in epic.c and unepic.c where + binsizes are written or read from files. */ +typedef unsigned short BinValueType; + +/* Number of possible values for a symbol. This must be at least + (MAX_BINS * 4) (one sign bit, one tag bit)... */ +#define NUM_SYMBOL_VALUES 65536 + +/* Function prototypes. */ +void epic_build_pyr( float *image, int x_size, int y_size, int num_levels, + float *lo_filter, float *hi_filter, int filter_size ); + +void epic_build_level( float *image, int level_x_size, int level_y_size, + float *lo_filter, float *hi_filter, + int filter_size, float *result_block ); + +void epic_internal_transpose( register float *mat, int rows, + register int cols ); + +void epic_reflect1( register float *filt, register int x_dim, int y_dim, + int x_pos, int y_pos, register float *result, int f_or_e ); + +void epic_internal_filter( register float *image, register int x_dim, + register int y_dim, float *filt, + register float *temp, register int x_fdim, + register int y_fdim, int xgrid_start, + int xgrid_step, int ygrid_start, int ygrid_step, + register float *result ); + +void epic_reflect1( float *filt, int x_dim, int y_dim, int x_pos, int y_pos, + float *result, int f_or_e ); + +#endif // __EPIC_H_ -- cgit v1.2.2 '/cgit/cgit.cgi/mc2-scripts-and-benchmarks.git/blame/?id=92df3dcae6747e4410574e7bf1f14dd1c07c3471'>root/SD-VBS/benchmarks/tracking/data/cif/2.bmp
blob: 8c2ac57753f33fd0106f4ae2c58366fc794e1a1f (plain) (tree)