36 s.spatial_decomposition_count=6;
37 s.spatial_decomposition_type=1;
42 if (!
s.temp_dwt_buffer || !
s.temp_idwt_buffer) {
43 fprintf(stderr,
"Failed to allocate memory\n");
50 printf(
"testing 5/3 DWT\n");
65 printf(
"testing 9/7 DWT\n");
66 s.spatial_decomposition_type=0;
82 int level, orientation, x, y;
86 memset(errors, 0,
sizeof(errors));
87 s.spatial_decomposition_count=3;
88 s.spatial_decomposition_type=0;
90 for(orientation=
level ? 1 : 0; orientation<4; orientation++){
97 if(orientation&1) buf+=
w;
98 if(orientation>1) buf+=
stride>>1;
104 for(x=0; x<
width; x++){
117 printf(
"static int const visual_weight[][4]={\n");
120 for(orientation=0; orientation<4; orientation++){
129 for(x=0; x<
width; x++){
130 int tab[4]={0,2,3,1};
136 for(x=0; x<
width; x++){
#define i(width, name, range_min, range_max)
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
__device__ int printf(const char *,...)
int64_t av_gcd(int64_t a, int64_t b)
Compute the greatest common divisor of two integer operands.
av_cold void av_lfg_init(AVLFG *c, unsigned int seed)
static unsigned int av_lfg_get(AVLFG *c)
Get the next random unsigned 32-bit number using an ALFG.
void * av_calloc(size_t nmemb, size_t size)
Memory handling functions.
void ff_spatial_idwt(IDWTELEM *buffer, IDWTELEM *temp, int width, int height, int stride, int type, int decomposition_count)
void ff_spatial_dwt(DWTELEM *buffer, DWTELEM *temp, int width, int height, int stride, int type, int decomposition_count)
Context structure for the Lagged Fibonacci PRNG.
static void error(const char *err)
static void prng(CheckasmRand *restrict xs, uint8_t *restrict buf, size_t size)
static const struct twinvq_data tab