9 #include <schroedinger/schro.h>
10 #include <schroedinger/schrodebug.h>
11 #include <schroedinger/schroutils.h>
14 create_pattern (SchroFrame
*frame
)
19 for(j
=0;j
<frame
->height
;j
++){
20 data
= OFFSET(frame
->components
[0].data
, j
*frame
->components
[0].stride
);
21 for(i
=0;i
<frame
->width
;i
++){
22 data
[i
] = (((i
>>4)&1) ^ ((j
>>4)&1)) * 255;
25 memset (frame
->components
[1].data
, 0, frame
->components
[1].length
);
26 memset (frame
->components
[2].data
, 0, frame
->components
[2].length
);
27 schro_frame_filter_lowpass2 (frame
, 5.0);
31 distort (SchroFrame
*frame
)
36 for(j
=0;j
<frame
->height
;j
++){
37 data
= OFFSET(frame
->components
[0].data
, j
*frame
->components
[0].stride
);
38 for(i
=0;i
<frame
->width
;i
++){
51 frame1
= schro_frame_new_and_alloc (NULL
, SCHRO_FRAME_FORMAT_U8_420
, 256, 256);
52 frame2
= schro_frame_new_and_alloc (NULL
, SCHRO_FRAME_FORMAT_U8_420
, 256, 256);
54 create_pattern (frame1
);
55 create_pattern (frame2
);
59 schro_frame_ssim (frame1
, frame2
);
61 schro_frame_unref (frame1
);
62 schro_frame_unref (frame2
);
66 main (int argc
, char *argv
[])