Codebase list frei0r / 60839d0
Refreshed patches (and removed those applied upstream) IOhannes m zmölnig 9 years ago
11 changed file(s) with 4 addition(s) and 649 deletion(s). Raw diff Collapse all Expand all
+0
-196
debian/patches/020130305~852a4ac.patch less more
0 Author: Janne Liljeblad <janne.liljeblad@gmail.com>
1 Last-Update: 2013-03-05
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=852a4ac
4 Description: Add transparent background option to vectorscope
5
6 ---
7 src/filter/vectorscope/vectorscope.c | 105 ++++++++++++++++++++++++++++-------
8 1 file changed, 84 insertions(+), 21 deletions(-)
9
10 diff --git a/src/filter/vectorscope/vectorscope.c b/src/filter/vectorscope/vectorscope.c
11 index fd28313..e984534 100644
12 --- a/src/filter/vectorscope/vectorscope.c
13 +++ b/src/filter/vectorscope/vectorscope.c
14 @@ -57,6 +57,8 @@ typedef struct vectorscope_instance {
15 gavl_video_scaler_t* scope_scaler;
16 gavl_video_frame_t* scope_frame_src;
17 gavl_video_frame_t* scope_frame_dst;
18 + double mix;
19 + double overlay_sides;
20 } vectorscope_instance_t;
21
22 int f0r_init()
23 @@ -74,14 +76,26 @@ void f0r_get_plugin_info( f0r_plugin_info_t* info )
24 info->color_model = F0R_COLOR_MODEL_RGBA8888;
25 info->frei0r_version = FREI0R_MAJOR_VERSION;
26 info->major_version = 0;
27 - info->minor_version = 1;
28 - info->num_params = 0;
29 + info->minor_version = 2;
30 + info->num_params = 2;
31 info->explanation = "Displays the vectorscope of the video-data";
32 }
33
34 void f0r_get_param_info( f0r_param_info_t* info, int param_index )
35 {
36 - /* empty */
37 + switch(param_index)
38 + {
39 + case 0:
40 + info->name = "mix";
41 + info->type = F0R_PARAM_DOUBLE;
42 + info->explanation = "The amount of source image mixed into background of display";
43 + break;
44 + case 1:
45 + info->name = "overlay sides";
46 + info->type = F0R_PARAM_BOOL;
47 + info->explanation = "If false, the sides of image are shown without overlay";
48 + break;
49 + }
50 }
51
52 f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
53 @@ -94,6 +108,9 @@ f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
54 return NULL;
55 }
56
57 + inst->mix = 0.0;
58 + inst->overlay_sides = 1.0;
59 +
60 inst->scala = (unsigned char*)malloc( width * height * 4 );
61
62 gavl_video_scaler_t* video_scaler;
63 @@ -232,13 +249,35 @@ void f0r_destruct(f0r_instance_t instance)
64 }
65
66 void f0r_get_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
67 -{
68 - /* empty */
69 +{
70 + assert(instance);
71 + vectorscope_instance_t* inst = (vectorscope_instance_t*)instance;
72 +
73 + switch(param_index)
74 + {
75 + case 0:
76 + *((double *)param) = inst->mix;
77 + break;
78 + case 1:
79 + *((double *)param) = inst->overlay_sides;
80 + break;
81 + }
82 }
83
84 void f0r_set_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
85 -{
86 - /* empty */
87 +{
88 + assert(instance);
89 + vectorscope_instance_t* inst = (vectorscope_instance_t*)instance;
90 +
91 + switch(param_index)
92 + {
93 + case 0:
94 + inst->mix = *((double *)param);
95 + break;
96 + case 1:
97 + inst->overlay_sides = *((double *)param);
98 + break;
99 + }
100 }
101
102 /* RGB to YCbCr range 0-255 */
103 @@ -257,7 +296,8 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
104 vectorscope_instance_t* inst = (vectorscope_instance_t*)instance;
105
106 int width = inst->w;
107 - int height = inst->h;
108 + int height = inst->h;
109 + double mix = inst->mix;
110 int len = inst->w * inst->h;
111 int scope_len = SCOPE_WIDTH * SCOPE_HEIGHT;
112
113 @@ -276,9 +316,17 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
114 src_end = src + len;
115 scope_end = scope + scope_len;
116
117 - while ( dst < dst_end ) {
118 - *(dst++) = 0xFF000000;
119 - }
120 + if ( inst->overlay_sides > 0.5) {
121 + while ( dst < dst_end ) {
122 + *(dst++) = 0xFF000000;
123 + }
124 + } else {
125 + while ( dst < dst_end ) {
126 + *(dst++) = *(src++);
127 + }
128 + src -= len;
129 + }
130 +
131 dst = outframe;
132 while ( scope < scope_end ) {
133 *(scope++) = 0xFF000000;
134 @@ -293,7 +341,6 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
135 YCbCr = rgb_to_YCbCr(rgb);
136 x = YCbCr.Cb;
137 y = 255-YCbCr.Cr;
138 - //printf ("Cb: %d, Cr: %d\n", x, y );
139 if ( x >= 0 && x < SCOPE_WIDTH && y >= 0 && y < SCOPE_HEIGHT ) {
140 pixel = (uint8_t*)&scope[x+SCOPE_WIDTH*y];
141 if ( pixel[0] < 255 ) {
142 @@ -301,7 +348,6 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
143 pixel[1]++;
144 pixel[2]++;
145 }
146 - //dst[x+width*y] += 1;//0xFFFFFFFF;
147 }
148 }
149
150 @@ -310,17 +356,34 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
151
152 gavl_video_scaler_scale( inst->scope_scaler, inst->scope_frame_src, inst->scope_frame_dst );
153
154 - unsigned char *scala8, *dst8, *dst8_end;
155 + unsigned char *scala8, *dst8, *dst8_end, *src8;
156
157 scala8 = inst->scala;
158 + src8 = (unsigned char*)inframe;
159 dst8 = (unsigned char*)outframe;
160 dst8_end = dst8 + ( len * 4 );
161 - while ( dst8 < dst8_end ) {
162 - dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
163 - dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
164 - dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
165 - scala8 += 4;
166 - dst8 += 4;
167 - }
168 + if (mix > 0.001 ) { // to not lose performance for non-mixing users
169 + while ( dst8 < dst8_end ) {
170 + dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
171 + dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
172 + dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
173 + if (dst8[0] == 0) {
174 + dst8[0] = src8[0] * mix;
175 + dst8[1] = src8[1] * mix;
176 + dst8[2] = src8[2] * mix;
177 + }
178 + scala8 += 4;
179 + dst8 += 4;
180 + src8 += 4;
181 + }
182 + } else {
183 + while ( dst8 < dst8_end ) {
184 + dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
185 + dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
186 + dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
187 + scala8 += 4;
188 + dst8 += 4;
189 + }
190 + }
191 }
192
193 --
194 2.0.0.rc2
195
+0
-180
debian/patches/020130305~d67548e.patch less more
0 Author: Janne Liljeblad <janne.liljeblad@gmail.com>
1 Last-Update: 2013-03-05
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=d67548e
4 Description: Add transparent background option to rgbparade
5
6 ---
7 src/filter/rgbparade/rgbparade.c | 105 ++++++++++++++++++++++++++++++++-------
8 1 file changed, 88 insertions(+), 17 deletions(-)
9
10 diff --git a/src/filter/rgbparade/rgbparade.c b/src/filter/rgbparade/rgbparade.c
11 index 66bde18..b97aa64 100644
12 --- a/src/filter/rgbparade/rgbparade.c
13 +++ b/src/filter/rgbparade/rgbparade.c
14 @@ -45,6 +45,8 @@ typedef struct rgbparade {
15 gavl_video_scaler_t* parade_scaler;
16 gavl_video_frame_t* parade_frame_src;
17 gavl_video_frame_t* parade_frame_dst;
18 + double mix;
19 + double overlay_sides;
20 } rgbparade_t;
21
22 int f0r_init()
23 @@ -62,13 +64,27 @@ void f0r_get_plugin_info( f0r_plugin_info_t* info )
24 info->color_model = F0R_COLOR_MODEL_RGBA8888;
25 info->frei0r_version = FREI0R_MAJOR_VERSION;
26 info->major_version = 0;
27 - info->minor_version = 1;
28 - info->num_params = 0;
29 + info->minor_version = 2;
30 + info->num_params = 2;
31 info->explanation = "Displays a histogram of R, G and B of the video-data";
32 }
33
34 void f0r_get_param_info( f0r_param_info_t* info, int param_index )
35 -{ /* empty */ }
36 +{
37 + switch(param_index)
38 + {
39 + case 0:
40 + info->name = "mix";
41 + info->type = F0R_PARAM_DOUBLE;
42 + info->explanation = "The amount of source image mixed into background of display";
43 + break;
44 + case 1:
45 + info->name = "overlay sides";
46 + info->type = F0R_PARAM_BOOL;
47 + info->explanation = "If false, the sides of image are shown without overlay";
48 + break;
49 + }
50 +}
51
52 f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
53 {
54 @@ -76,6 +92,9 @@ f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
55 inst->w = width;
56 inst->h = height;
57
58 + inst->mix = 0.0;
59 + inst->overlay_sides = 1.0;
60 +
61 inst->scala = (unsigned char*)malloc( width * height * 4 );
62
63 gavl_video_scaler_t* video_scaler;
64 @@ -196,10 +215,36 @@ void f0r_destruct(f0r_instance_t instance)
65 }
66
67 void f0r_get_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
68 -{ /* empty */ }
69 +{
70 + assert(instance);
71 + rgbparade_t* inst = (rgbparade_t*)instance;
72 +
73 + switch(param_index)
74 + {
75 + case 0:
76 + *((double *)param) = inst->mix;
77 + break;
78 + case 1:
79 + *((double *)param) = inst->overlay_sides;
80 + break;
81 + }
82 +}
83
84 void f0r_set_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
85 -{ /* empty */ }
86 +{
87 + assert(instance);
88 + rgbparade_t* inst = (rgbparade_t*)instance;
89 +
90 + switch(param_index)
91 + {
92 + case 0:
93 + inst->mix = *((double *)param);
94 + break;
95 + case 1:
96 + inst->overlay_sides = *((double *)param);
97 + break;
98 + }
99 +}
100
101 void draw_grid(unsigned char* scope, double width, double height)
102 {
103 @@ -230,7 +275,8 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
104 rgbparade_t* inst = (rgbparade_t*)instance;
105
106 int width = inst->w;
107 - int height = inst->h;
108 + int height = inst->h;
109 + double mix = inst->mix;
110 int len = inst->w * inst->h;
111 int parade_len = width * PARADE_HEIGHT;
112
113 @@ -250,9 +296,17 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
114 src_end = src + len;
115 parade_end = parade + parade_len;
116
117 - while ( dst < dst_end ) {
118 - *(dst++) = 0xFF000000;
119 - }
120 + if ( inst->overlay_sides > 0.5) {
121 + while ( dst < dst_end ) {
122 + *(dst++) = 0xFF000000;
123 + }
124 + } else {
125 + while ( dst < dst_end ) {
126 + *(dst++) = *(src++);
127 + }
128 + src -= len;
129 + }
130 +
131 dst = outframe;
132 while ( parade < parade_end ) {
133 *(parade++) = 0xFF000000;
134 @@ -291,17 +345,34 @@ void f0r_update(f0r_instance_t instance, double time, const uint32_t* inframe, u
135
136 gavl_video_scaler_scale( inst->parade_scaler, inst->parade_frame_src, inst->parade_frame_dst );
137
138 - unsigned char *scala8, *dst8, *dst8_end;
139 + unsigned char *scala8, *dst8, *dst8_end, *src8;
140
141 scala8 = inst->scala;
142 + src8 = (unsigned char*)inframe;
143 dst8 = (unsigned char*)outframe;
144 dst8_end = dst8 + ( len * 4 );
145 - while ( dst8 < dst8_end ) {
146 - dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
147 - dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
148 - dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
149 - scala8 += 4;
150 - dst8 += 4;
151 - }
152 + if (mix > 0.001 ) { // to not lose performance for non-mixing users
153 + while ( dst8 < dst8_end ) {
154 + dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
155 + dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
156 + dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
157 + if (dst8[0] == 0 && dst8[1] == 0 && dst8[2] == 0){
158 + dst8[0] = src8[0] * mix;
159 + dst8[1] = src8[1] * mix;
160 + dst8[2] = src8[2] * mix;
161 + }
162 + scala8 += 4;
163 + dst8 += 4;
164 + src8 += 4;
165 + }
166 + } else {
167 + while ( dst8 < dst8_end ) {
168 + dst8[0] = ( ( ( scala8[0] - dst8[0] ) * 255 * scala8[3] ) >> 16 ) + dst8[0];
169 + dst8[1] = ( ( ( scala8[1] - dst8[1] ) * 255 * scala8[3] ) >> 16 ) + dst8[1];
170 + dst8[2] = ( ( ( scala8[2] - dst8[2] ) * 255 * scala8[3] ) >> 16 ) + dst8[2];
171 + scala8 += 4;
172 + dst8 += 4;
173 + }
174 + }
175 }
176
177 --
178 2.0.0.rc2
179
+0
-26
debian/patches/020130314~5b70863.patch less more
0 Author: Dan Dennedy <dan@dennedy.org>
1 Last-Update: 2013-03-14
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=5b70863
4 Description: Fix version in autoconf.
5
6 ---
7 configure.ac | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10 diff --git a/configure.ac b/configure.ac
11 index 1a92ac3..48335d9 100644
12 --- a/configure.ac
13 +++ b/configure.ac
14 @@ -2,7 +2,7 @@
15 # Process this file with autoconf to produce a configure script.
16
17 AC_PREREQ(2.59c)
18 -AC_INIT(frei0r-plugins, [1.3.0], [frei0r-devel@piksel.no])
19 +AC_INIT(frei0r-plugins, [1.4.0], [frei0r-devel@piksel.no])
20 AC_CONFIG_MACRO_DIR([m4])
21
22 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
23 --
24 2.0.0.rc2
25
+0
-25
debian/patches/020130314~e803035.patch less more
0 Author: Dan Dennedy <dan@dennedy.org>
1 Last-Update: 2013-03-14
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=e803035
4 Description: Fix missing string.h include.
5
6 ---
7 include/frei0r_cairo.h | 1 +
8 1 file changed, 1 insertion(+)
9
10 diff --git a/include/frei0r_cairo.h b/include/frei0r_cairo.h
11 index 4e545cb..d82e115 100644
12 --- a/include/frei0r_cairo.h
13 +++ b/include/frei0r_cairo.h
14 @@ -21,6 +21,7 @@
15
16
17 #include <cairo.h>
18 +#include <string.h>
19
20 /**
21 * String identifiers for gradient types available using Cairo.
22 --
23 2.0.0.rc2
24
+0
-71
debian/patches/020130316~245bb38.patch less more
0 Author: =?UTF-8?q?Jean-Fran=C3=A7ois=20Fortin=20Tam?= <nekohayo@gmail.com>
1 Last-Update: 2013-03-16
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=245bb38
4 Description: Make property names for "pixeliz0r" and "lenscorrection"
5 human-readable
6
7 ---
8 src/filter/lenscorrection/lenscorrection.c | 10 +++++-----
9 src/filter/pixeliz0r/pixeliz0r.c | 4 ++--
10 2 files changed, 7 insertions(+), 7 deletions(-)
11
12 diff --git a/src/filter/lenscorrection/lenscorrection.c b/src/filter/lenscorrection/lenscorrection.c
13 index 3db5541..85a4a54 100644
14 --- a/src/filter/lenscorrection/lenscorrection.c
15 +++ b/src/filter/lenscorrection/lenscorrection.c
16 @@ -62,27 +62,27 @@ void f0r_get_param_info(f0r_param_info_t* info, int param_index)
17 switch(param_index)
18 {
19 case 0:
20 - info->name = "xcenter";
21 + info->name = "X center";
22 info->type = F0R_PARAM_DOUBLE;
23 info->explanation = "";
24 break;
25 case 1:
26 - info->name = "ycenter";
27 + info->name = "Y center";
28 info->type = F0R_PARAM_DOUBLE;
29 info->explanation = "";
30 break;
31 case 2:
32 - info->name = "correctionnearcenter";
33 + info->name = "Correction near center";
34 info->type = F0R_PARAM_DOUBLE;
35 info->explanation = "";
36 break;
37 case 3:
38 - info->name = "correctionnearedges";
39 + info->name = "Correction near edges";
40 info->type = F0R_PARAM_DOUBLE;
41 info->explanation = "";
42 break;
43 case 4:
44 - info->name = "brightness";
45 + info->name = "Brightness";
46 info->type = F0R_PARAM_DOUBLE;
47 info->explanation = "";
48 break;
49 diff --git a/src/filter/pixeliz0r/pixeliz0r.c b/src/filter/pixeliz0r/pixeliz0r.c
50 index 6baf91b..e13805d 100644
51 --- a/src/filter/pixeliz0r/pixeliz0r.c
52 +++ b/src/filter/pixeliz0r/pixeliz0r.c
53 @@ -47,12 +47,12 @@ void f0r_get_param_info(f0r_param_info_t* info, int param_index)
54 switch(param_index)
55 {
56 case 0:
57 - info->name = "BlockSizeX";
58 + info->name = "Block width";
59 info->type = F0R_PARAM_DOUBLE;
60 info->explanation = "Horizontal size of one \"pixel\"";
61 break;
62 case 1:
63 - info->name = "BlockSizeY";
64 + info->name = "Block height";
65 info->type = F0R_PARAM_DOUBLE;
66 info->explanation = "Vertical size of one \"pixel\"";
67 break;
68 --
69 2.0.0.rc2
70
+0
-92
debian/patches/020130415~b1faa09.patch less more
0 Author: Marko Cebokli <mc@mcpc14.site>
1 Last-Update: 2013-04-15
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=b1faa09
4 Description: Medians: fix indexes in median13
5
6 ---
7 src/filter/medians/small_medians.h | 68 +++++++++++++++++++-------------------
8 1 file changed, 34 insertions(+), 34 deletions(-)
9
10 diff --git a/src/filter/medians/small_medians.h b/src/filter/medians/small_medians.h
11 index bd26d0a..81a6705 100644
12 --- a/src/filter/medians/small_medians.h
13 +++ b/src/filter/medians/small_medians.h
14 @@ -137,40 +137,40 @@ static inline uint32_t median13(uint32_t *mm)
15 {
16 uint8_t *m=(uint8_t*)mm;
17 // -R- -G- -B-
18 - P_SO(m[10],m[3]); P_SO(m[11],m[4]); P_SO(m[12],m[5]);
19 - P_SO(m[6],m[10]); P_SO(m[7],m[11]); P_SO(m[8],m[12]);
20 - P_SO(m[11],m[1]); P_SO(m[12],m[2]); P_SO(m[13],m[3]);
21 - P_SO(m[5],m[4]); P_SO(m[6],m[5]); P_SO(m[7],m[6]);
22 - P_SO(m[0],m[8]); P_SO(m[1],m[9]); P_SO(m[2],m[10]);
23 - P_SO(m[1],m[3]); P_SO(m[2],m[4]); P_SO(m[3],m[5]);
24 - P_SO(m[5],m[0]); P_SO(m[6],m[1]); P_SO(m[7],m[2]);
25 - P_SO(m[7],m[1]); P_SO(m[8],m[2]); P_SO(m[9],m[3]);
26 - P_SO(m[8],m[10]); P_SO(m[9],m[11]); P_SO(m[10],m[12]);
27 - P_SO(m[8],m[12]); P_SO(m[9],m[13]); P_SO(m[10],m[14]);
28 - P_SO(m[4],m[12]); P_SO(m[5],m[13]); P_SO(m[6],m[14]);
29 - P_SO(m[3],m[12]); P_SO(m[4],m[13]); P_SO(m[5],m[14]);
30 - P_SO(m[7],m[11]); P_SO(m[8],m[12]); P_SO(m[9],m[13]);
31 - P_SO(m[9],m[2]); P_SO(m[10],m[3]); P_SO(m[11],m[4]);
32 - P_SO(m[0],m[2]); P_SO(m[1],m[3]); P_SO(m[2],m[4]);
33 - P_SO(m[4],m[1]); P_SO(m[5],m[2]); P_SO(m[6],m[3]);
34 - P_SO(m[11],m[0]); P_SO(m[12],m[1]); P_SO(m[13],m[2]);
35 - P_SO(m[4],m[9]); P_SO(m[5],m[10]); P_SO(m[6],m[11]);
36 - P_MA(m[7],m[5]); P_MA(m[8],m[6]); P_MA(m[9],m[7]);
37 - P_MI(m[2],m[1]); P_MI(m[3],m[2]); P_MI(m[4],m[3]);
38 - P_MA(m[4],m[6]); P_MA(m[5],m[7]); P_MA(m[6],m[8]);
39 - P_SO(m[5],m[9]); P_SO(m[6],m[10]); P_SO(m[7],m[11]);
40 - P_SO(m[9],m[0]); P_SO(m[10],m[1]); P_SO(m[11],m[2]);
41 - P_MI(m[3],m[0]); P_MI(m[4],m[1]); P_MI(m[5],m[2]);
42 - P_MA(m[5],m[6]); P_MA(m[6],m[7]); P_MA(m[7],m[8]);
43 - P_SO(m[2],m[3]); P_SO(m[3],m[4]); P_SO(m[4],m[5]);
44 - P_MA(m[11],m[6]); P_MA(m[12],m[7]); P_MA(m[13],m[8]);
45 - P_SO(m[9],m[2]); P_SO(m[10],m[3]); P_SO(m[11],m[4]);
46 - P_MA(m[8],m[9]); P_MA(m[9],m[10]); P_MA(m[10],m[11]);
47 - P_MI(m[10],m[2]); P_MI(m[11],m[3]); P_MI(m[12],m[4]);
48 - P_SO(m[9],m[10]); P_SO(m[10],m[11]);P_SO(m[11],m[12]);
49 - P_MA(m[9],m[6]); P_MA(m[10],m[7]); P_MA(m[11],m[8]);
50 - P_MI(m[10],m[3]); P_MI(m[11],m[4]); P_MI(m[12],m[5]);
51 - P_MI(m[6],m[10]); P_MI(m[7],m[11]); P_MI(m[8],m[12]);
52 + P_SO(m[40],m[12]); P_SO(m[41],m[13]); P_SO(m[42],m[14]);
53 + P_SO(m[24],m[40]); P_SO(m[25],m[41]); P_SO(m[26],m[42]);
54 + P_SO(m[44],m[4]); P_SO(m[45],m[5]); P_SO(m[46],m[6]);
55 + P_SO(m[20],m[16]); P_SO(m[21],m[17]); P_SO(m[22],m[18]);
56 + P_SO(m[0],m[32]); P_SO(m[1],m[33]); P_SO(m[2],m[34]);
57 + P_SO(m[4],m[12]); P_SO(m[5],m[13]); P_SO(m[6],m[14]);
58 + P_SO(m[20],m[0]); P_SO(m[21],m[1]); P_SO(m[22],m[2]);
59 + P_SO(m[28],m[4]); P_SO(m[29],m[5]); P_SO(m[30],m[6]);
60 + P_SO(m[32],m[40]); P_SO(m[33],m[41]); P_SO(m[34],m[42]);
61 + P_SO(m[32],m[48]); P_SO(m[33],m[49]); P_SO(m[34],m[50]);
62 + P_SO(m[16],m[48]); P_SO(m[17],m[49]); P_SO(m[18],m[50]);
63 + P_SO(m[12],m[48]); P_SO(m[13],m[49]); P_SO(m[14],m[50]);
64 + P_SO(m[28],m[44]); P_SO(m[29],m[45]); P_SO(m[30],m[46]);
65 + P_SO(m[36],m[8]); P_SO(m[37],m[9]); P_SO(m[38],m[10]);
66 + P_SO(m[0],m[8]); P_SO(m[1],m[9]); P_SO(m[2],m[10]);
67 + P_SO(m[16],m[4]); P_SO(m[17],m[5]); P_SO(m[18],m[6]);
68 + P_SO(m[44],m[0]); P_SO(m[45],m[1]); P_SO(m[46],m[2]);
69 + P_SO(m[16],m[36]); P_SO(m[17],m[37]); P_SO(m[18],m[38]);
70 + P_MA(m[28],m[20]); P_MA(m[29],m[21]); P_MA(m[30],m[22]);
71 + P_MI(m[8],m[4]); P_MI(m[9],m[5]); P_MI(m[10],m[6]);
72 + P_MA(m[16],m[24]); P_MA(m[17],m[25]); P_MA(m[18],m[26]);
73 + P_SO(m[20],m[36]); P_SO(m[21],m[37]); P_SO(m[22],m[38]);
74 + P_SO(m[36],m[0]); P_SO(m[37],m[1]); P_SO(m[38],m[2]);
75 + P_MI(m[12],m[0]); P_MI(m[13],m[1]); P_MI(m[14],m[2]);
76 + P_MA(m[20],m[24]); P_MA(m[21],m[25]); P_MA(m[22],m[26]);
77 + P_SO(m[8],m[12]); P_SO(m[9],m[13]); P_SO(m[10],m[14]);
78 + P_MA(m[44],m[24]); P_MA(m[45],m[25]); P_MA(m[46],m[26]);
79 + P_SO(m[36],m[8]); P_SO(m[37],m[9]); P_SO(m[38],m[10]);
80 + P_MA(m[32],m[36]); P_MA(m[33],m[37]); P_MA(m[34],m[38]);
81 + P_MI(m[40],m[8]); P_MI(m[41],m[9]); P_MI(m[42],m[10]);
82 + P_SO(m[36],m[40]); P_SO(m[37],m[41]); P_SO(m[38],m[42]);
83 + P_MA(m[36],m[24]); P_MA(m[37],m[25]); P_MA(m[38],m[26]);
84 + P_MI(m[40],m[12]); P_MI(m[41],m[13]); P_MI(m[42],m[14]);
85 + P_MI(m[24],m[40]); P_MI(m[25],m[41]); P_MI(m[26],m[42]);
86 return mm[6];
87 }
88
89 --
90 2.0.0.rc2
91
+0
-51
debian/patches/020140427~fc84121.patch less more
0 Author: Dan Dennedy <dan@dennedy.org>
1 Last-Update: 2014-04-27
2 Forwarded: yes
3 Origin: upstream, http://git.dyne.org/frei0r/commit/?id=fc84121
4 Description: Fix array out-of-bounds error in partik0l.
5
6 When using rand(), it may make sense to use RAND_MAX. But in a build
7 made on MinGW RAND_MAX is equivalent to a SHRT_MAX, which results in
8 crashes in blossom_recal() due to accessing the prime array outside of
9 its bounds. INT_MAX was chosen because on Linux, RAND_MAX is equivalent
10 to INT_MAX, and UINT_MAX gives different results visually.
11 ---
12 src/generator/partik0l/partik0l.cpp | 15 ++++++++-------
13 1 file changed, 8 insertions(+), 7 deletions(-)
14
15 diff --git a/src/generator/partik0l/partik0l.cpp b/src/generator/partik0l/partik0l.cpp
16 index 6dd5a8a..87728c7 100644
17 --- a/src/generator/partik0l/partik0l.cpp
18 +++ b/src/generator/partik0l/partik0l.cpp
19 @@ -38,6 +38,7 @@
20
21 #include <time.h>
22 #include <inttypes.h>
23 +#include <limits.h>
24
25 /* defines for blob size and roundness */
26 #define LIM 8 // 25
27 @@ -185,13 +186,13 @@ void Partik0l::update() {
28
29 void Partik0l::blossom_recal(bool r) {
30
31 - float z = ((PRIMES-2)*fastrand()/RAND_MAX)+1;
32 - blossom_m = 1.0+(30.0)*fastrand()/RAND_MAX;
33 - blossom_n = 1.0+(30.0)*fastrand()/RAND_MAX;
34 - blossom_i = prime[ (int) (z*fastrand()/RAND_MAX) ];
35 - blossom_j = prime[ (int) (z*fastrand()/RAND_MAX) ];
36 - blossom_k = prime[ (int) (z*fastrand()/RAND_MAX) ];
37 - blossom_l = prime[ (int) (z*fastrand()/RAND_MAX) ];
38 + float z = ((PRIMES-2)*fastrand()/INT_MAX)+1;
39 + blossom_m = 1.0+(30.0)*fastrand()/INT_MAX;
40 + blossom_n = 1.0+(30.0)*fastrand()/INT_MAX;
41 + blossom_i = prime[ (int) (z*fastrand()/INT_MAX) ];
42 + blossom_j = prime[ (int) (z*fastrand()/INT_MAX) ];
43 + blossom_k = prime[ (int) (z*fastrand()/INT_MAX) ];
44 + blossom_l = prime[ (int) (z*fastrand()/INT_MAX) ];
45 wd = (double)w;
46 hd = (double)h;
47 if(r)
48 --
49 2.0.0.rc2
50
11 arguments to AM_INIT_AUTOMAKE have been deprecated.
22 see http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
33 Author: IOhannes m zmölnig
4 Forwarded: https://github.com/dyne/frei0r/pull/5
45 Last-Update: 2014-05-20
56 ---
67 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
78 --- frei0r.orig/configure.ac
89 +++ frei0r/configure.ac
910 @@ -5,7 +5,7 @@
10 AC_INIT(frei0r-plugins, [1.4.0], [frei0r-devel@piksel.no])
11 AC_INIT(frei0r-plugins, [1.5.0], [frei0r-devel@dyne.org])
1112 AC_CONFIG_MACRO_DIR([m4])
1213
1314 -AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
00 Description: fix install target for doc
11 Author: IOhannes m zmölnig <umlaeute@debian.org>
2 Forwarded: https://github.com/dyne/frei0r/pull/5
23 Last-Update: 2014-05-20
34 ---
45 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
00 Description: Fixing spelling mistakes
11 Author: IOhannes m zmölnig <umlaeute@debian.org>
2 Forwarded: https://github.com/dyne/frei0r/pull/5
23 Forwarded: http://lists.dyne.org/lurker/message/20140521.064611.ef8b1c6a.en.html
34 Last-Update: 2014-05-21
45 ---
0 020130314~5b70863.patch
1 020130314~e803035.patch
2 020130305~852a4ac.patch
3 020130305~d67548e.patch
4 020130316~245bb38.patch
5 020130415~b1faa09.patch
6 020140427~fc84121.patch
70 1-AM_INIT_AUTOMAKE.patch
81 1-build-doc.patch
92 1-fix-spelling.patch