Stefan Schuermans commited on 2023-08-18 09:55:23
Showing 21 changed files, with 717 additions and 857 deletions.
... | ... |
@@ -18,8 +18,8 @@ int BlinkenColorizerStr2Mode(const char *str); |
18 | 18 |
const char *BlinkenColorizerMode2Str(int mode); |
19 | 19 |
|
20 | 20 |
// get color for colorizing |
21 |
-unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, |
|
22 |
- int y, int x, int c); |
|
21 |
+unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, int y, |
|
22 |
+ int x, int c); |
|
23 | 23 |
|
24 | 24 |
#ifdef __cplusplus |
25 | 25 |
} // extern "C" |
... | ... |
@@ -14,8 +14,8 @@ extern "C" { |
14 | 14 |
|
15 | 15 |
typedef struct sBlinkenFrame stBlinkenFrame; |
16 | 16 |
|
17 |
-stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, |
|
18 |
- int maxval, int duration); |
|
17 |
+stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, int maxval, |
|
18 |
+ int duration); |
|
19 | 19 |
|
20 | 20 |
stBlinkenFrame *BlinkenFrameClone(stBlinkenFrame *pSrcFrame); |
21 | 21 |
|
... | ... |
@@ -31,8 +31,7 @@ int BlinkenFrameGetMaxval(stBlinkenFrame *pFrame); |
31 | 31 |
int BlinkenFrameGetDuration(stBlinkenFrame *pFrame); |
32 | 32 |
void BlinkenFrameSetDuration(stBlinkenFrame *pFrame, int duration); |
33 | 33 |
|
34 |
-unsigned char BlinkenFrameGetPixel(stBlinkenFrame *pFrame, int y, int x, |
|
35 |
- int c); |
|
34 |
+unsigned char BlinkenFrameGetPixel(stBlinkenFrame *pFrame, int y, int x, int c); |
|
36 | 35 |
void BlinkenFrameSetPixel(stBlinkenFrame *pFrame, int y, int x, int c, |
37 | 36 |
unsigned char val); |
38 | 37 |
|
... | ... |
@@ -51,8 +50,8 @@ void BlinkenFrameSetColor(stBlinkenFrame *pFrame, int y, int x, |
51 | 50 |
* \param[in] dc number of channels in area |
52 | 51 |
* \param[in] pData pointer to buffer for pixel data, size must be dy * dx * dc |
53 | 52 |
*/ |
54 |
-void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, |
|
55 |
- int y, int dy, int x, int dx, int c, int dc, |
|
53 |
+void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, int y, int dy, |
|
54 |
+ int x, int dx, int c, int dc, |
|
56 | 55 |
unsigned char *pData); |
57 | 56 |
|
58 | 57 |
/** |
... | ... |
@@ -66,8 +65,8 @@ void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, |
66 | 65 |
* \param[in] dc number of channels in area |
67 | 66 |
* \param[in] pData pointer to new pixel data, size must be dy * dx * dc |
68 | 67 |
*/ |
69 |
-void BlinkenFrameSetPixelData(stBlinkenFrame *pFrame, |
|
70 |
- int y, int dy, int x, int dx, int c, int dc, |
|
68 |
+void BlinkenFrameSetPixelData(stBlinkenFrame *pFrame, int y, int dy, int x, |
|
69 |
+ int dx, int c, int dc, |
|
71 | 70 |
unsigned char const *pData); |
72 | 71 |
|
73 | 72 |
int BlinkenFrameIsEmpty(stBlinkenFrame *pFrame); |
... | ... |
@@ -78,14 +77,14 @@ int BlinkenFrameCompare(stBlinkenFrame *pFrame1, stBlinkenFrame *pFrame2); |
78 | 77 |
|
79 | 78 |
void BlinkenFrameResize(stBlinkenFrame *pFrame, int height, int width, |
80 | 79 |
int channels, int maxval); |
81 |
-void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, |
|
82 |
- int height, int width); |
|
80 |
+void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, int height, |
|
81 |
+ int width); |
|
83 | 82 |
void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width); |
84 | 83 |
void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, |
85 | 84 |
int step); |
86 | 85 |
void BlinkenFrameCopyRect(stBlinkenFrame *pDest, int destY, int destX, |
87 |
- stBlinkenFrame *pSrc, int srcY, int srcX, |
|
88 |
- int height, int width); |
|
86 |
+ stBlinkenFrame *pSrc, int srcY, int srcX, int height, |
|
87 |
+ int width); |
|
89 | 88 |
|
90 | 89 |
void BlinkenFrameRotateCw(stBlinkenFrame *pFrame); |
91 | 90 |
void BlinkenFrameRotateCcw(stBlinkenFrame *pFrame); |
... | ... |
@@ -6,10 +6,10 @@ |
6 | 6 |
#ifndef INC_BlinkenLib_BlinkenLib |
7 | 7 |
#define INC_BlinkenLib_BlinkenLib |
8 | 8 |
|
9 |
-#include <BlinkenLib/config.h> |
|
10 | 9 |
#include <BlinkenLib/BlinkenColorizer.h> |
11 | 10 |
#include <BlinkenLib/BlinkenFrame.h> |
12 | 11 |
#include <BlinkenLib/BlinkenMovie.h> |
13 | 12 |
#include <BlinkenLib/BlinkenProto.h> |
13 |
+#include <BlinkenLib/config.h> |
|
14 | 14 |
|
15 | 15 |
#endif // #ifndef INC_BlinkenLib_BlinkenLib |
... | ... |
@@ -6,8 +6,8 @@ |
6 | 6 |
#ifndef INC_BlinkenLib_BlinkenMovie |
7 | 7 |
#define INC_BlinkenLib_BlinkenMovie |
8 | 8 |
|
9 |
-#include <BlinkenLib/config.h> |
|
10 | 9 |
#include <BlinkenLib/BlinkenFrame.h> |
10 |
+#include <BlinkenLib/config.h> |
|
11 | 11 |
|
12 | 12 |
#ifdef WIN32 |
13 | 13 |
#include <winsock2.h> |
... | ... |
@@ -60,8 +60,8 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie); |
60 | 60 |
int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
61 | 61 |
stBlinkenMovie *pMovie2 /* appended and freed */); |
62 | 62 |
void BlinkenMovieReverse(stBlinkenMovie *pMovie); |
63 |
-void BlinkenMovieCutTime(stBlinkenMovie *pMovie, |
|
64 |
- int begin /* in ms */, int end /* in ms */); |
|
63 |
+void BlinkenMovieCutTime(stBlinkenMovie *pMovie, int begin /* in ms */, |
|
64 |
+ int end /* in ms */); |
|
65 | 65 |
void BlinkenMovieAdaptDuration(stBlinkenMovie *pMovie, |
66 | 66 |
int duration /* in ms */); |
67 | 67 |
void BlinkenMovieAdaptMaxFrameDuration(stBlinkenMovie *pMovie, |
... | ... |
@@ -69,13 +69,13 @@ void BlinkenMovieAdaptMaxFrameDuration(stBlinkenMovie *pMovie, |
69 | 69 |
|
70 | 70 |
void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, |
71 | 71 |
int channels, int maxval); |
72 |
-void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, |
|
73 |
- int height, int width); |
|
72 |
+void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, int height, |
|
73 |
+ int width); |
|
74 | 74 |
void BlinkenMovieScale(stBlinkenMovie *pMovie, int height, int width); |
75 | 75 |
void BlinkenMovieColorize(stBlinkenMovie *pMovie, int channels, int mode); |
76 | 76 |
void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
77 |
- stBlinkenMovie *pSrc, int srcY, int srcX, |
|
78 |
- int height, int width); |
|
77 |
+ stBlinkenMovie *pSrc, int srcY, int srcX, int height, |
|
78 |
+ int width); |
|
79 | 79 |
|
80 | 80 |
void BlinkenMovieRotateCw(stBlinkenMovie *pMovie); |
81 | 81 |
void BlinkenMovieRotateCcw(stBlinkenMovie *pMovie); |
... | ... |
@@ -10,12 +10,19 @@ |
10 | 10 |
extern "C" { |
11 | 11 |
#endif |
12 | 12 |
|
13 |
-typedef enum eBlinkenProto { BlinkenProtoNone, BlinkenProtoBlp, |
|
14 |
- BlinkenProtoEblp, BlinkenProtoMcuf |
|
13 |
+typedef enum eBlinkenProto { |
|
14 |
+ BlinkenProtoNone, |
|
15 |
+ BlinkenProtoBlp, |
|
16 |
+ BlinkenProtoEblp, |
|
17 |
+ BlinkenProtoMcuf |
|
15 | 18 |
} etBlinkenProto; |
16 | 19 |
|
17 |
-typedef enum eBlinkenPacket { BlinkenPacketNone, BlinkenPacketFrame, |
|
18 |
- BlinkenPacketRequest, BlinkenPacketEndRequest, BlinkenPacketStreamEnd |
|
20 |
+typedef enum eBlinkenPacket { |
|
21 |
+ BlinkenPacketNone, |
|
22 |
+ BlinkenPacketFrame, |
|
23 |
+ BlinkenPacketRequest, |
|
24 |
+ BlinkenPacketEndRequest, |
|
25 |
+ BlinkenPacketStreamEnd |
|
19 | 26 |
} etBlinkenPacket; |
20 | 27 |
|
21 | 28 |
int BlinkenProtoMakePacket(etBlinkenProto proto, etBlinkenPacket packet, |
... | ... |
@@ -23,8 +30,7 @@ int BlinkenProtoMakePacket(etBlinkenProto proto, etBlinkenPacket packet, |
23 | 30 |
// returns length or -1 on error |
24 | 31 |
|
25 | 32 |
void BlinkenProtoDetectPacket(const char *pData, int length, |
26 |
- etBlinkenProto * pProto, |
|
27 |
- etBlinkenPacket * pPacket); |
|
33 |
+ etBlinkenProto *pProto, etBlinkenPacket *pPacket); |
|
28 | 34 |
// returns protocol in *pProto if pProto not NULL |
29 | 35 |
// returns packet type in *pPacket if pPacket not NULL |
30 | 36 |
|
... | ... |
@@ -10,8 +10,7 @@ |
10 | 10 |
#include "Tools.h" |
11 | 11 |
|
12 | 12 |
unsigned char BlinkenColorizerSolid(int step, int channels, int y, int x, |
13 |
- int c) |
|
14 |
-{ |
|
13 |
+ int c) { |
|
15 | 14 |
int substep, updown, chan; |
16 | 15 |
step %= channels * 2 * 254; |
17 | 16 |
substep = step % 254; |
... | ... |
@@ -37,8 +36,7 @@ unsigned char BlinkenColorizerSolid(int step, int channels, int y, int x, |
37 | 36 |
} |
38 | 37 |
|
39 | 38 |
unsigned char BlinkenColorizerRainbow(int step, int channels, int y, int x, |
40 |
- int c) |
|
41 |
-{ |
|
39 |
+ int c) { |
|
42 | 40 |
return BlinkenColorizerSolid(step + ((x + y) * 64), channels, y, x, c); |
43 | 41 |
} |
44 | 42 |
|
... | ... |
@@ -56,8 +54,7 @@ static const BlinkenColorizingModeDesc BlinkenColorizingModeDescs[] = { |
56 | 54 |
|
57 | 55 |
// convert string to colorizing mode |
58 | 56 |
// returns colorizing mode (>= 0) or -1 on error |
59 |
-int BlinkenColorizerStr2Mode(const char *str) |
|
60 |
-{ |
|
57 |
+int BlinkenColorizerStr2Mode(const char *str) { |
|
61 | 58 |
unsigned int i; |
62 | 59 |
for (i = 0; i < arr_cnt(BlinkenColorizingModeDescs); i++) |
63 | 60 |
if (strcmp(str, BlinkenColorizingModeDescs[i].name) == 0) |
... | ... |
@@ -68,17 +65,15 @@ int BlinkenColorizerStr2Mode(const char *str) |
68 | 65 |
} |
69 | 66 |
|
70 | 67 |
// convert colorizing mode to string |
71 |
-const char *BlinkenColorizerMode2Str(int mode) |
|
72 |
-{ |
|
68 |
+const char *BlinkenColorizerMode2Str(int mode) { |
|
73 | 69 |
if (mode < 0 || mode >= (int)arr_cnt(BlinkenColorizingModeDescs)) |
74 | 70 |
return "(unknown)"; |
75 | 71 |
return BlinkenColorizingModeDescs[mode].name; |
76 | 72 |
} |
77 | 73 |
|
78 | 74 |
// get color for colorizing |
79 |
-unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, |
|
80 |
- int y, int x, int c) |
|
81 |
-{ |
|
75 |
+unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, int y, |
|
76 |
+ int x, int c) { |
|
82 | 77 |
if (mode < 0 || mode >= (int)arr_cnt(BlinkenColorizingModeDescs)) |
83 | 78 |
return 255; |
84 | 79 |
return BlinkenColorizingModeDescs[mode].func(step, channels, y, x, c); |
... | ... |
@@ -7,13 +7,13 @@ |
7 | 7 |
#include <stdlib.h> |
8 | 8 |
#include <string.h> |
9 | 9 |
#ifdef WIN32 |
10 |
-#include <winsock2.h> |
|
11 | 10 |
#include <windows.h> |
11 |
+#include <winsock2.h> |
|
12 | 12 |
typedef WORD uint16_t; |
13 | 13 |
typedef DWORD uint32_t; |
14 | 14 |
#else |
15 |
-#include <stdint.h> |
|
16 | 15 |
#include <netinet/in.h> |
16 |
+#include <stdint.h> |
|
17 | 17 |
#endif |
18 | 18 |
|
19 | 19 |
#include <BlinkenLib/BlinkenColorizer.h> |
... | ... |
@@ -32,9 +32,8 @@ struct sBlinkenFrame { |
32 | 32 |
unsigned char **ppData; |
33 | 33 |
}; |
34 | 34 |
|
35 |
-stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, |
|
36 |
- int maxval, int duration) |
|
37 |
-{ |
|
35 |
+stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, int maxval, |
|
36 |
+ int duration) { |
|
38 | 37 |
stBlinkenFrame *pFrame; |
39 | 38 |
|
40 | 39 |
if (height < BlinkenHeightMin) |
... | ... |
@@ -68,8 +67,7 @@ stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, |
68 | 67 |
pFrame->maxval = maxval; |
69 | 68 |
pFrame->duration = duration; |
70 | 69 |
|
71 |
- pFrame->ppData = |
|
72 |
- (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
70 |
+ pFrame->ppData = (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
73 | 71 |
sizeof(unsigned char)); |
74 | 72 |
if (pFrame->ppData == NULL) { |
75 | 73 |
free(pFrame); |
... | ... |
@@ -79,17 +77,16 @@ stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, |
79 | 77 |
return pFrame; |
80 | 78 |
} |
81 | 79 |
|
82 |
-stBlinkenFrame *BlinkenFrameClone(stBlinkenFrame *pSrcFrame) |
|
83 |
-{ |
|
80 |
+stBlinkenFrame *BlinkenFrameClone(stBlinkenFrame *pSrcFrame) { |
|
84 | 81 |
int y, x, c, i; |
85 | 82 |
stBlinkenFrame *pFrame; |
86 | 83 |
|
87 | 84 |
if (pSrcFrame == NULL) |
88 | 85 |
return NULL; |
89 | 86 |
|
90 |
- pFrame = BlinkenFrameNew(pSrcFrame->height, pSrcFrame->width, |
|
91 |
- pSrcFrame->channels, pSrcFrame->maxval, |
|
92 |
- pSrcFrame->duration); |
|
87 |
+ pFrame = |
|
88 |
+ BlinkenFrameNew(pSrcFrame->height, pSrcFrame->width, pSrcFrame->channels, |
|
89 |
+ pSrcFrame->maxval, pSrcFrame->duration); |
|
93 | 90 |
if (pFrame == NULL) |
94 | 91 |
return NULL; |
95 | 92 |
|
... | ... |
@@ -101,8 +98,7 @@ stBlinkenFrame *BlinkenFrameClone(stBlinkenFrame *pSrcFrame) |
101 | 98 |
return pFrame; |
102 | 99 |
} |
103 | 100 |
|
104 |
-void BlinkenFrameFree(stBlinkenFrame *pFrame) |
|
105 |
-{ |
|
101 |
+void BlinkenFrameFree(stBlinkenFrame *pFrame) { |
|
106 | 102 |
if (pFrame == NULL) |
107 | 103 |
return; |
108 | 104 |
|
... | ... |
@@ -110,8 +106,7 @@ void BlinkenFrameFree(stBlinkenFrame *pFrame) |
110 | 106 |
free(pFrame); |
111 | 107 |
} |
112 | 108 |
|
113 |
-void BlinkenFrameClear(stBlinkenFrame *pFrame) |
|
114 |
-{ |
|
109 |
+void BlinkenFrameClear(stBlinkenFrame *pFrame) { |
|
115 | 110 |
int y, x, c, i; |
116 | 111 |
|
117 | 112 |
if (pFrame == NULL) |
... | ... |
@@ -123,48 +118,42 @@ void BlinkenFrameClear(stBlinkenFrame *pFrame) |
123 | 118 |
pFrame->ppData[y][i] = 0; |
124 | 119 |
} |
125 | 120 |
|
126 |
-int BlinkenFrameGetHeight(stBlinkenFrame *pFrame) |
|
127 |
-{ |
|
121 |
+int BlinkenFrameGetHeight(stBlinkenFrame *pFrame) { |
|
128 | 122 |
if (pFrame == NULL) |
129 | 123 |
return 0; |
130 | 124 |
|
131 | 125 |
return pFrame->height; |
132 | 126 |
} |
133 | 127 |
|
134 |
-int BlinkenFrameGetWidth(stBlinkenFrame *pFrame) |
|
135 |
-{ |
|
128 |
+int BlinkenFrameGetWidth(stBlinkenFrame *pFrame) { |
|
136 | 129 |
if (pFrame == NULL) |
137 | 130 |
return 0; |
138 | 131 |
|
139 | 132 |
return pFrame->width; |
140 | 133 |
} |
141 | 134 |
|
142 |
-int BlinkenFrameGetChannels(stBlinkenFrame *pFrame) |
|
143 |
-{ |
|
135 |
+int BlinkenFrameGetChannels(stBlinkenFrame *pFrame) { |
|
144 | 136 |
if (pFrame == NULL) |
145 | 137 |
return 0; |
146 | 138 |
|
147 | 139 |
return pFrame->channels; |
148 | 140 |
} |
149 | 141 |
|
150 |
-int BlinkenFrameGetMaxval(stBlinkenFrame *pFrame) |
|
151 |
-{ |
|
142 |
+int BlinkenFrameGetMaxval(stBlinkenFrame *pFrame) { |
|
152 | 143 |
if (pFrame == NULL) |
153 | 144 |
return 0; |
154 | 145 |
|
155 | 146 |
return pFrame->maxval; |
156 | 147 |
} |
157 | 148 |
|
158 |
-int BlinkenFrameGetDuration(stBlinkenFrame *pFrame) |
|
159 |
-{ |
|
149 |
+int BlinkenFrameGetDuration(stBlinkenFrame *pFrame) { |
|
160 | 150 |
if (pFrame == NULL) |
161 | 151 |
return 0; |
162 | 152 |
|
163 | 153 |
return pFrame->duration; |
164 | 154 |
} |
165 | 155 |
|
166 |
-void BlinkenFrameSetDuration(stBlinkenFrame *pFrame, int duration) |
|
167 |
-{ |
|
156 |
+void BlinkenFrameSetDuration(stBlinkenFrame *pFrame, int duration) { |
|
168 | 157 |
if (pFrame == NULL) |
169 | 158 |
return; |
170 | 159 |
|
... | ... |
@@ -177,22 +166,18 @@ void BlinkenFrameSetDuration(stBlinkenFrame *pFrame, int duration) |
177 | 166 |
} |
178 | 167 |
|
179 | 168 |
unsigned char BlinkenFrameGetPixel(stBlinkenFrame *pFrame, int y, int x, |
180 |
- int c) |
|
181 |
-{ |
|
182 |
- if (pFrame == NULL || |
|
183 |
- y < 0 || y >= pFrame->height || |
|
184 |
- x < 0 || x >= pFrame->width || c < 0 || c >= pFrame->channels) |
|
169 |
+ int c) { |
|
170 |
+ if (pFrame == NULL || y < 0 || y >= pFrame->height || x < 0 || |
|
171 |
+ x >= pFrame->width || c < 0 || c >= pFrame->channels) |
|
185 | 172 |
return 0; |
186 | 173 |
|
187 | 174 |
return pFrame->ppData[y][x * pFrame->channels + c]; |
188 | 175 |
} |
189 | 176 |
|
190 | 177 |
void BlinkenFrameSetPixel(stBlinkenFrame *pFrame, int y, int x, int c, |
191 |
- unsigned char val) |
|
192 |
-{ |
|
193 |
- if (pFrame == NULL || |
|
194 |
- y < 0 || y >= pFrame->height || |
|
195 |
- x < 0 || x >= pFrame->width || c < 0 || c >= pFrame->channels) |
|
178 |
+ unsigned char val) { |
|
179 |
+ if (pFrame == NULL || y < 0 || y >= pFrame->height || x < 0 || |
|
180 |
+ x >= pFrame->width || c < 0 || c >= pFrame->channels) |
|
196 | 181 |
return; |
197 | 182 |
|
198 | 183 |
if (val > pFrame->maxval) |
... | ... |
@@ -200,12 +185,11 @@ void BlinkenFrameSetPixel(stBlinkenFrame *pFrame, int y, int x, int c, |
200 | 185 |
pFrame->ppData[y][x * pFrame->channels + c] = val; |
201 | 186 |
} |
202 | 187 |
|
203 |
-unsigned long BlinkenFrameGetColor(stBlinkenFrame *pFrame, int y, int x) |
|
204 |
-{ |
|
188 |
+unsigned long BlinkenFrameGetColor(stBlinkenFrame *pFrame, int y, int x) { |
|
205 | 189 |
int i; |
206 | 190 |
|
207 |
- if (pFrame == NULL || |
|
208 |
- y < 0 || y >= pFrame->height || x < 0 || x >= pFrame->width) |
|
191 |
+ if (pFrame == NULL || y < 0 || y >= pFrame->height || x < 0 || |
|
192 |
+ x >= pFrame->width) |
|
209 | 193 |
return 0; |
210 | 194 |
|
211 | 195 |
i = x * pFrame->channels; |
... | ... |
@@ -213,41 +197,40 @@ unsigned long BlinkenFrameGetColor(stBlinkenFrame *pFrame, int y, int x) |
213 | 197 |
if (pFrame->channels == 1) |
214 | 198 |
return (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
215 | 199 |
pFrame->maxval / 2) / |
216 |
- pFrame-> |
|
217 |
- maxval) << 16 | (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
|
200 |
+ pFrame->maxval) |
|
201 |
+ << 16 | |
|
202 |
+ (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
|
218 | 203 |
pFrame->maxval / 2) / |
219 |
- pFrame->maxval) << 8 | (((unsigned long) |
|
220 |
- pFrame->ppData[y][i + |
|
221 |
- 0] * |
|
222 |
- 255 + |
|
204 |
+ pFrame->maxval) |
|
205 |
+ << 8 | |
|
206 |
+ (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
|
223 | 207 |
pFrame->maxval / 2) / |
224 | 208 |
pFrame->maxval); |
225 | 209 |
if (pFrame->channels == 2) |
226 | 210 |
return (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
227 | 211 |
pFrame->maxval / 2) / |
228 |
- pFrame-> |
|
229 |
- maxval) << 16 | (((unsigned long)pFrame->ppData[y][i + 1] * 255 + |
|
230 |
- pFrame->maxval / 2) / pFrame->maxval) << 8; |
|
231 |
- return (((unsigned long)pFrame->ppData[y][i + 0] * 255 + |
|
232 |
- pFrame->maxval / 2) / |
|
233 |
- pFrame->maxval) << 16 | (((unsigned long)pFrame->ppData[y][i + 1] * |
|
234 |
- 255 + |
|
212 |
+ pFrame->maxval) |
|
213 |
+ << 16 | |
|
214 |
+ (((unsigned long)pFrame->ppData[y][i + 1] * 255 + |
|
235 | 215 |
pFrame->maxval / 2) / |
236 |
- pFrame->maxval) << 8 | (((unsigned long) |
|
237 |
- pFrame->ppData[y] |
|
238 |
- [i + 2] * 255 + |
|
239 |
- pFrame->maxval / |
|
240 |
- 2) / |
|
216 |
+ pFrame->maxval) |
|
217 |
+ << 8; |
|
218 |
+ return (((unsigned long)pFrame->ppData[y][i + 0] * 255 + pFrame->maxval / 2) / |
|
219 |
+ pFrame->maxval) |
|
220 |
+ << 16 | |
|
221 |
+ (((unsigned long)pFrame->ppData[y][i + 1] * 255 + pFrame->maxval / 2) / |
|
222 |
+ pFrame->maxval) |
|
223 |
+ << 8 | |
|
224 |
+ (((unsigned long)pFrame->ppData[y][i + 2] * 255 + pFrame->maxval / 2) / |
|
241 | 225 |
pFrame->maxval); |
242 | 226 |
} |
243 | 227 |
|
244 | 228 |
void BlinkenFrameSetColor(stBlinkenFrame *pFrame, int y, int x, |
245 |
- unsigned long color) |
|
246 |
-{ |
|
229 |
+ unsigned long color) { |
|
247 | 230 |
int i, alpha, alpha_, c; |
248 | 231 |
|
249 |
- if (pFrame == NULL || |
|
250 |
- y < 0 || y >= pFrame->height || x < 0 || x >= pFrame->width) |
|
232 |
+ if (pFrame == NULL || y < 0 || y >= pFrame->height || x < 0 || |
|
233 |
+ x >= pFrame->width) |
|
251 | 234 |
return; |
252 | 235 |
|
253 | 236 |
i = x * pFrame->channels; |
... | ... |
@@ -256,34 +239,33 @@ void BlinkenFrameSetColor(stBlinkenFrame *pFrame, int y, int x, |
256 | 239 |
alpha_ = 255 - alpha; |
257 | 240 |
if (pFrame->channels >= 1) |
258 | 241 |
pFrame->ppData[y][i + 0] = |
259 |
- (unsigned |
|
260 |
- char)((((((color >> 16) & 0xFF) * pFrame->maxval + |
|
261 |
- 127) / 255) * alpha + (unsigned long)pFrame->ppData[y][i + |
|
262 |
- 0] * |
|
263 |
- alpha_) / 255); |
|
242 |
+ (unsigned char)((((((color >> 16) & 0xFF) * pFrame->maxval + 127) / |
|
243 |
+ 255) * |
|
244 |
+ alpha + |
|
245 |
+ (unsigned long)pFrame->ppData[y][i + 0] * alpha_) / |
|
246 |
+ 255); |
|
264 | 247 |
if (pFrame->channels >= 2) |
265 | 248 |
pFrame->ppData[y][i + 1] = |
266 |
- (unsigned |
|
267 |
- char)((((((color >> 8) & 0xFF) * pFrame->maxval + |
|
268 |
- 127) / 255) * alpha + (unsigned long)pFrame->ppData[y][i + |
|
269 |
- 1] * |
|
270 |
- alpha_) / 255); |
|
249 |
+ (unsigned char)((((((color >> 8) & 0xFF) * pFrame->maxval + 127) / |
|
250 |
+ 255) * |
|
251 |
+ alpha + |
|
252 |
+ (unsigned long)pFrame->ppData[y][i + 1] * alpha_) / |
|
253 |
+ 255); |
|
271 | 254 |
if (pFrame->channels >= 3) |
272 | 255 |
pFrame->ppData[y][i + 2] = |
273 |
- (unsigned |
|
274 |
- char)(((((color & 0xFF) * pFrame->maxval + 127) / 255) * alpha + |
|
275 |
- (unsigned long)pFrame->ppData[y][i + 2] * alpha_) / 255); |
|
256 |
+ (unsigned char)(((((color & 0xFF) * pFrame->maxval + 127) / 255) * |
|
257 |
+ alpha + |
|
258 |
+ (unsigned long)pFrame->ppData[y][i + 2] * alpha_) / |
|
259 |
+ 255); |
|
276 | 260 |
for (c = 3; c < pFrame->channels; c++) |
277 |
- pFrame->ppData[y][i + c] = (unsigned char)((0 + (unsigned long) |
|
278 |
- pFrame->ppData[y][i + |
|
279 |
- c] * |
|
280 |
- alpha_) / 255); |
|
261 |
+ pFrame->ppData[y][i + c] = |
|
262 |
+ (unsigned char)((0 + (unsigned long)pFrame->ppData[y][i + c] * alpha_) / |
|
263 |
+ 255); |
|
281 | 264 |
} |
282 | 265 |
|
283 |
-void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, |
|
284 |
- int y, int dy, int x, int dx, int c, int dc, |
|
285 |
- unsigned char *pData) |
|
286 |
-{ |
|
266 |
+void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, int y, int dy, |
|
267 |
+ int x, int dx, int c, int dc, |
|
268 |
+ unsigned char *pData) { |
|
287 | 269 |
int height, width, channels; |
288 | 270 |
unsigned char const **ppFrameData; |
289 | 271 |
int sy, ey, iy, sx, ex, ix, sc, ec, ic; // start/end/index x/y/channel |
... | ... |
@@ -309,10 +291,10 @@ void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, |
309 | 291 |
ec = c + dc > channels ? channels - c : dc; |
310 | 292 |
|
311 | 293 |
// get pixel data |
312 |
- for (iy = sy, fy = y, biy = (sy * dx + sx) * dc + sc; |
|
313 |
- iy < ey; ++iy, ++fy, biy += dx * dc) { |
|
314 |
- for (ix = sx, fix = x * channels + c, bix = biy; |
|
315 |
- ix < ex; ++ix, fix += channels, bix += dc) { |
|
294 |
+ for (iy = sy, fy = y, biy = (sy * dx + sx) * dc + sc; iy < ey; |
|
295 |
+ ++iy, ++fy, biy += dx * dc) { |
|
296 |
+ for (ix = sx, fix = x * channels + c, bix = biy; ix < ex; |
|
297 |
+ ++ix, fix += channels, bix += dc) { |
|
316 | 298 |
for (ic = sc, fic = fix, bic = bix; ic < ec; ++ic, ++fic, ++bic) { |
317 | 299 |
pData[bic] = ppFrameData[fy][fic]; |
318 | 300 |
} |
... | ... |
@@ -320,10 +302,9 @@ void BlinkenFrameGetPixelData(stBlinkenFrame const *pFrame, |
320 | 302 |
} |
321 | 303 |
} |
322 | 304 |
|
323 |
-void BlinkenFrameSetPixelData(stBlinkenFrame *pFrame, |
|
324 |
- int y, int dy, int x, int dx, int c, int dc, |
|
325 |
- unsigned char const *pData) |
|
326 |
-{ |
|
305 |
+void BlinkenFrameSetPixelData(stBlinkenFrame *pFrame, int y, int dy, int x, |
|
306 |
+ int dx, int c, int dc, |
|
307 |
+ unsigned char const *pData) { |
|
327 | 308 |
int height, width, channels; |
328 | 309 |
unsigned char maxval; |
329 | 310 |
unsigned char **ppFrameData; |
... | ... |
@@ -352,10 +333,10 @@ void BlinkenFrameSetPixelData(stBlinkenFrame *pFrame, |
352 | 333 |
ec = c + dc > channels ? channels - c : dc; |
353 | 334 |
|
354 | 335 |
// set pixel data |
355 |
- for (iy = sy, fy = y, biy = (sy * dx + sx) * dc + sc; |
|
356 |
- iy < ey; ++iy, ++fy, biy += dx * dc) { |
|
357 |
- for (ix = sx, fix = x * channels + c, bix = biy; |
|
358 |
- ix < ex; ++ix, fix += channels, bix += dc) { |
|
336 |
+ for (iy = sy, fy = y, biy = (sy * dx + sx) * dc + sc; iy < ey; |
|
337 |
+ ++iy, ++fy, biy += dx * dc) { |
|
338 |
+ for (ix = sx, fix = x * channels + c, bix = biy; ix < ex; |
|
339 |
+ ++ix, fix += channels, bix += dc) { |
|
359 | 340 |
for (ic = sc, fic = fix, bic = bix; ic < ec; ++ic, ++fic, ++bic) { |
360 | 341 |
value = pData[bic]; |
361 | 342 |
ppFrameData[fy][fic] = value > maxval ? maxval : value; |
... | ... |
@@ -413,8 +394,7 @@ int BlinkenFrameCompare(stBlinkenFrame *pFrame1, stBlinkenFrame *pFrame2) |
413 | 394 |
return 1; |
414 | 395 |
|
415 | 396 |
for (y = 0; y < pFrame1->height; y++) { |
416 |
- cmp = |
|
417 |
- memcmp(pFrame1->ppData[y], pFrame2->ppData[y], |
|
397 |
+ cmp = memcmp(pFrame1->ppData[y], pFrame2->ppData[y], |
|
418 | 398 |
pFrame1->width * pFrame2->channels); |
419 | 399 |
if (cmp != 0) |
420 | 400 |
return cmp; |
... | ... |
@@ -424,9 +404,8 @@ int BlinkenFrameCompare(stBlinkenFrame *pFrame1, stBlinkenFrame *pFrame2) |
424 | 404 |
} |
425 | 405 |
|
426 | 406 |
static void BlinkenFramePadCrop(stBlinkenFrame *pFrame, int height, int width, |
427 |
- int channels, int maxval, |
|
428 |
- int emptyY, int emptyX, int skipY, int skipX) |
|
429 |
-{ |
|
407 |
+ int channels, int maxval, int emptyY, |
|
408 |
+ int emptyX, int skipY, int skipX) { |
|
430 | 409 |
unsigned char **ppData; |
431 | 410 |
int y, x, c, i, j; |
432 | 411 |
int rangeY, rangeX; |
... | ... |
@@ -453,8 +432,8 @@ static void BlinkenFramePadCrop(stBlinkenFrame *pFrame, int height, int width, |
453 | 432 |
maxval = BlinkenMaxvalMax; |
454 | 433 |
|
455 | 434 |
if (height == pFrame->height && width == pFrame->width && |
456 |
- channels == pFrame->channels && maxval == pFrame->maxval && |
|
457 |
- emptyX == 0 && emptyY == 0 && skipY == 0 && skipX == 0) |
|
435 |
+ channels == pFrame->channels && maxval == pFrame->maxval && emptyX == 0 && |
|
436 |
+ emptyY == 0 && skipY == 0 && skipX == 0) |
|
458 | 437 |
return; |
459 | 438 |
|
460 | 439 |
// allocate new data array |
... | ... |
@@ -497,9 +476,10 @@ static void BlinkenFramePadCrop(stBlinkenFrame *pFrame, int height, int width, |
497 | 476 |
{ |
498 | 477 |
for (c = 0; c < pFrame->channels; c++, i++, j++) |
499 | 478 |
ppData[emptyY + y][j] = |
500 |
- (unsigned |
|
501 |
- char)(((unsigned long)pFrame->ppData[skipY + y][i] * maxval + |
|
502 |
- pFrame->maxval / 2) / pFrame->maxval); |
|
479 |
+ (unsigned char)(((unsigned long)pFrame->ppData[skipY + y][i] * |
|
480 |
+ maxval + |
|
481 |
+ pFrame->maxval / 2) / |
|
482 |
+ pFrame->maxval); |
|
503 | 483 |
for (; c < channels; c++, j++) |
504 | 484 |
ppData[emptyY + y][j] = ppData[emptyY + y][j - 1]; |
505 | 485 |
} else // remove channels: merge leftover channels with last kept |
... | ... |
@@ -508,9 +488,10 @@ static void BlinkenFramePadCrop(stBlinkenFrame *pFrame, int height, int width, |
508 | 488 |
val = 0; |
509 | 489 |
for (c = 0; c < channels - 1; c++, i++, j++) |
510 | 490 |
ppData[emptyY + y][j] = |
511 |
- (unsigned |
|
512 |
- char)(((unsigned long)pFrame->ppData[skipY + y][i] * maxval + |
|
513 |
- pFrame->maxval / 2) / pFrame->maxval); |
|
491 |
+ (unsigned char)(((unsigned long)pFrame->ppData[skipY + y][i] * |
|
492 |
+ maxval + |
|
493 |
+ pFrame->maxval / 2) / |
|
494 |
+ pFrame->maxval); |
|
514 | 495 |
for (c = channels - 1; c < pFrame->channels; c++, i++) |
515 | 496 |
val += (unsigned long)pFrame->ppData[skipY + y][i]; |
516 | 497 |
div = pFrame->maxval * (pFrame->channels - channels + 1); |
... | ... |
@@ -529,8 +510,7 @@ static void BlinkenFramePadCrop(stBlinkenFrame *pFrame, int height, int width, |
529 | 510 |
} |
530 | 511 |
|
531 | 512 |
void BlinkenFrameResize(stBlinkenFrame *pFrame, int height, int width, |
532 |
- int channels, int maxval) |
|
533 |
-{ |
|
513 |
+ int channels, int maxval) { |
|
534 | 514 |
int emptyY, emptyX, skipY, skipX; |
535 | 515 |
|
536 | 516 |
if (pFrame == NULL) |
... | ... |
@@ -574,13 +554,12 @@ void BlinkenFrameResize(stBlinkenFrame *pFrame, int height, int width, |
574 | 554 |
} |
575 | 555 |
|
576 | 556 |
// resize frame with help of calculated parameters |
577 |
- BlinkenFramePadCrop(pFrame, height, width, channels, maxval, |
|
578 |
- emptyY, emptyX, skipY, skipX); |
|
557 |
+ BlinkenFramePadCrop(pFrame, height, width, channels, maxval, emptyY, emptyX, |
|
558 |
+ skipY, skipX); |
|
579 | 559 |
} |
580 | 560 |
|
581 |
-void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, |
|
582 |
- int height, int width) |
|
583 |
-{ |
|
561 |
+void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, int height, |
|
562 |
+ int width) { |
|
584 | 563 |
if (pFrame == NULL) |
585 | 564 |
return; |
586 | 565 |
|
... | ... |
@@ -601,8 +580,8 @@ void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, |
601 | 580 |
if (width > pFrame->width - left) |
602 | 581 |
width = pFrame->width - left; |
603 | 582 |
|
604 |
- if (top == 0 && left == 0 && |
|
605 |
- height == pFrame->height && width == pFrame->width) |
|
583 |
+ if (top == 0 && left == 0 && height == pFrame->height && |
|
584 |
+ width == pFrame->width) |
|
606 | 585 |
return; |
607 | 586 |
|
608 | 587 |
// crop frame with help of calculated parameters |
... | ... |
@@ -610,8 +589,7 @@ void BlinkenFrameCrop(stBlinkenFrame *pFrame, int top, int left, |
610 | 589 |
0, 0, top, left); |
611 | 590 |
} |
612 | 591 |
|
613 |
-void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
|
614 |
-{ |
|
592 |
+void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) { |
|
615 | 593 |
unsigned char **ppData; |
616 | 594 |
double scaleHor, scaleVer, ox, oy, ox1, oy1, val; |
617 | 595 |
int chans, c, nx, ny, x, y, oxi, oyi, ox1i, oy1i; |
... | ... |
@@ -635,8 +613,7 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
635 | 613 |
scaleVer = (double)height / (double)pFrame->height; |
636 | 614 |
|
637 | 615 |
// allocate new data array |
638 |
- ppData = |
|
639 |
- (unsigned char **)BlinkenMalloc2D(height, width * pFrame->channels, |
|
616 |
+ ppData = (unsigned char **)BlinkenMalloc2D(height, width * pFrame->channels, |
|
640 | 617 |
sizeof(unsigned char)); |
641 | 618 |
if (ppData == NULL) |
642 | 619 |
return; |
... | ... |
@@ -666,10 +643,9 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
666 | 643 |
} else // one line of source pixels |
667 | 644 |
{ |
668 | 645 |
val = |
669 |
- (double)pFrame->ppData[oyi][oxi * chans + c] * (1 - ox + |
|
670 |
- oxi) |
|
671 |
- + (double)pFrame->ppData[oyi][ox1i * chans + c] * (ox1 - |
|
672 |
- ox1i); |
|
646 |
+ (double)pFrame->ppData[oyi][oxi * chans + c] * |
|
647 |
+ (1 - ox + oxi) + |
|
648 |
+ (double)pFrame->ppData[oyi][ox1i * chans + c] * (ox1 - ox1i); |
|
673 | 649 |
for (x = oxi + 1; x < ox1i; x++) |
674 | 650 |
val += (double)pFrame->ppData[oyi][x * chans + c]; |
675 | 651 |
val /= ox1 - ox; |
... | ... |
@@ -678,42 +654,33 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
678 | 654 |
{ |
679 | 655 |
if (oxi == ox1i) { |
680 | 656 |
val = |
681 |
- (double)pFrame->ppData[oyi][oxi * chans + c] * (1 - oy + |
|
682 |
- oyi) |
|
683 |
- + (double)pFrame->ppData[oy1i][oxi * chans + c] * (oy1 - |
|
684 |
- oy1i); |
|
657 |
+ (double)pFrame->ppData[oyi][oxi * chans + c] * |
|
658 |
+ (1 - oy + oyi) + |
|
659 |
+ (double)pFrame->ppData[oy1i][oxi * chans + c] * (oy1 - oy1i); |
|
685 | 660 |
for (y = oyi + 1; y < oy1i; y++) |
686 | 661 |
val += (double)pFrame->ppData[y][oxi * chans + c]; |
687 | 662 |
val /= oy1 - oy; |
688 | 663 |
} else // rectangle of source pixels |
689 | 664 |
{ |
690 |
- val = |
|
691 |
- (double)pFrame->ppData[oyi][oxi * chans + c] * (1 - oy + |
|
692 |
- oyi) * (1 - |
|
693 |
- ox + |
|
694 |
- oxi) |
|
695 |
- + (double)pFrame->ppData[oyi][ox1i * chans + c] * (1 - oy + |
|
696 |
- oyi) * |
|
697 |
- (ox1 - ox1i) |
|
698 |
- + (double)pFrame->ppData[oy1i][oxi * chans + c] * (oy1 - |
|
699 |
- oy1i) * |
|
700 |
- (1 - ox + oxi) |
|
701 |
- + (double)pFrame->ppData[oy1i][ox1i * chans + c] * (oy1 - |
|
702 |
- oy1i) * |
|
703 |
- (ox1 - ox1i); |
|
665 |
+ val = (double)pFrame->ppData[oyi][oxi * chans + c] * |
|
666 |
+ (1 - oy + oyi) * (1 - ox + oxi) + |
|
667 |
+ (double)pFrame->ppData[oyi][ox1i * chans + c] * |
|
668 |
+ (1 - oy + oyi) * (ox1 - ox1i) + |
|
669 |
+ (double)pFrame->ppData[oy1i][oxi * chans + c] * |
|
670 |
+ (oy1 - oy1i) * (1 - ox + oxi) + |
|
671 |
+ (double)pFrame->ppData[oy1i][ox1i * chans + c] * |
|
672 |
+ (oy1 - oy1i) * (ox1 - ox1i); |
|
704 | 673 |
for (y = oyi + 1; y < oy1i; y++) { |
705 | 674 |
val += |
706 |
- (double)pFrame->ppData[y][oxi * chans + c] * (1 - ox + |
|
707 |
- oxi) |
|
708 |
- + (double)pFrame->ppData[y][ox1i * chans + c] * (ox1 - |
|
709 |
- ox1i); |
|
675 |
+ (double)pFrame->ppData[y][oxi * chans + c] * |
|
676 |
+ (1 - ox + oxi) + |
|
677 |
+ (double)pFrame->ppData[y][ox1i * chans + c] * (ox1 - ox1i); |
|
710 | 678 |
} |
711 | 679 |
for (x = oxi + 1; x < ox1i; x++) { |
712 | 680 |
val += |
713 |
- (double)pFrame->ppData[oyi][x * chans + c] * (1 - oy + |
|
714 |
- oyi) |
|
715 |
- + (double)pFrame->ppData[oy1i][x * chans + c] * (oy1 - |
|
716 |
- oy1i); |
|
681 |
+ (double)pFrame->ppData[oyi][x * chans + c] * |
|
682 |
+ (1 - oy + oyi) + |
|
683 |
+ (double)pFrame->ppData[oy1i][x * chans + c] * (oy1 - oy1i); |
|
717 | 684 |
} |
718 | 685 |
for (y = oyi + 1; y < oy1i; y++) |
719 | 686 |
for (x = oxi + 1; x < ox1i; x++) |
... | ... |
@@ -734,8 +701,7 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) |
734 | 701 |
} |
735 | 702 |
|
736 | 703 |
void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, |
737 |
- int step) |
|
738 |
-{ |
|
704 |
+ int step) { |
|
739 | 705 |
unsigned char **ppData; |
740 | 706 |
int y, x, c, i, j; |
741 | 707 |
unsigned int val; |
... | ... |
@@ -749,10 +715,8 @@ void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, |
749 | 715 |
channels = BlinkenMaxvalMax; |
750 | 716 |
|
751 | 717 |
// allocate new data array |
752 |
- ppData = |
|
753 |
- (unsigned char **)BlinkenMalloc2D(pFrame->height, |
|
754 |
- pFrame->width * channels, |
|
755 |
- sizeof(unsigned char)); |
|
718 |
+ ppData = (unsigned char **)BlinkenMalloc2D( |
|
719 |
+ pFrame->height, pFrame->width * channels, sizeof(unsigned char)); |
|
756 | 720 |
if (ppData == NULL) |
757 | 721 |
return; |
758 | 722 |
for (y = 0; y < pFrame->height; y++) |
... | ... |
@@ -786,9 +750,8 @@ void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, |
786 | 750 |
} |
787 | 751 |
|
788 | 752 |
void BlinkenFrameCopyRect(stBlinkenFrame *pDest, int destY, int destX, |
789 |
- stBlinkenFrame *pSrc, int srcY, int srcX, |
|
790 |
- int height, int width) |
|
791 |
-{ |
|
753 |
+ stBlinkenFrame *pSrc, int srcY, int srcX, int height, |
|
754 |
+ int width) { |
|
792 | 755 |
int bFreeSrc = 0; |
793 | 756 |
int destI, srcI, y, x, c, dy, sy, di, si; |
794 | 757 |
|
... | ... |
@@ -800,8 +763,8 @@ void BlinkenFrameCopyRect(stBlinkenFrame *pDest, int destY, int destX, |
800 | 763 |
pSrc = BlinkenFrameClone(pSrc); |
801 | 764 |
if (pSrc == NULL) |
802 | 765 |
return; |
803 |
- BlinkenFrameResize(pSrc, pSrc->height, pSrc->width, |
|
804 |
- pDest->channels, pDest->maxval); |
|
766 |
+ BlinkenFrameResize(pSrc, pSrc->height, pSrc->width, pDest->channels, |
|
767 |
+ pDest->maxval); |
|
805 | 768 |
bFreeSrc = 1; // source is now a temporary copy that needs to be freed |
806 | 769 |
} |
807 | 770 |
|
... | ... |
@@ -852,8 +815,7 @@ void BlinkenFrameCopyRect(stBlinkenFrame *pDest, int destY, int destX, |
852 | 815 |
BlinkenFrameFree(pSrc); |
853 | 816 |
} |
854 | 817 |
|
855 |
-void BlinkenFrameRotateCw(stBlinkenFrame *pFrame) |
|
856 |
-{ |
|
818 |
+void BlinkenFrameRotateCw(stBlinkenFrame *pFrame) { |
|
857 | 819 |
int height, width, channels, y, x, c, i, j; |
858 | 820 |
unsigned char **ppData; |
859 | 821 |
|
... | ... |
@@ -864,8 +826,7 @@ void BlinkenFrameRotateCw(stBlinkenFrame *pFrame) |
864 | 826 |
height = pFrame->width; |
865 | 827 |
width = pFrame->height; |
866 | 828 |
channels = pFrame->channels; |
867 |
- ppData = |
|
868 |
- (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
829 |
+ ppData = (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
869 | 830 |
sizeof(unsigned char)); |
870 | 831 |
if (ppData == NULL) |
871 | 832 |
return; |
... | ... |
@@ -886,8 +847,7 @@ void BlinkenFrameRotateCw(stBlinkenFrame *pFrame) |
886 | 847 |
pFrame->ppData = ppData; |
887 | 848 |
} |
888 | 849 |
|
889 |
-void BlinkenFrameRotateCcw(stBlinkenFrame *pFrame) |
|
890 |
-{ |
|
850 |
+void BlinkenFrameRotateCcw(stBlinkenFrame *pFrame) { |
|
891 | 851 |
int height, width, channels, y, x, c, i, j; |
892 | 852 |
unsigned char **ppData; |
893 | 853 |
|
... | ... |
@@ -898,8 +858,7 @@ void BlinkenFrameRotateCcw(stBlinkenFrame *pFrame) |
898 | 858 |
height = pFrame->width; |
899 | 859 |
width = pFrame->height; |
900 | 860 |
channels = pFrame->channels; |
901 |
- ppData = |
|
902 |
- (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
861 |
+ ppData = (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
903 | 862 |
sizeof(unsigned char)); |
904 | 863 |
if (ppData == NULL) |
905 | 864 |
return; |
... | ... |
@@ -920,16 +879,15 @@ void BlinkenFrameRotateCcw(stBlinkenFrame *pFrame) |
920 | 879 |
pFrame->ppData = ppData; |
921 | 880 |
} |
922 | 881 |
|
923 |
-void BlinkenFrameRotateHalf(stBlinkenFrame *pFrame) |
|
924 |
-{ |
|
882 |
+void BlinkenFrameRotateHalf(stBlinkenFrame *pFrame) { |
|
925 | 883 |
int y1, y2, x1, x2, c, i1, i2; |
926 | 884 |
|
927 | 885 |
if (pFrame == NULL) |
928 | 886 |
return; |
929 | 887 |
|
930 | 888 |
for (y1 = 0, y2 = pFrame->height - 1; y1 < pFrame->height; y1++, y2--) { |
931 |
- for (x1 = 0, x2 = pFrame->width - 1, |
|
932 |
- i1 = 0, i2 = (pFrame->width - 1) * pFrame->channels; |
|
889 |
+ for (x1 = 0, x2 = pFrame->width - 1, i1 = 0, |
|
890 |
+ i2 = (pFrame->width - 1) * pFrame->channels; |
|
933 | 891 |
x1 < pFrame->width / 2; x1++, x2--, i2 -= 2 * pFrame->channels) { |
934 | 892 |
for (c = 0; c < pFrame->channels; c++, i1++, i2++) { |
935 | 893 |
unsigned char tmp = pFrame->ppData[y1][i1]; |
... | ... |
@@ -940,16 +898,15 @@ void BlinkenFrameRotateHalf(stBlinkenFrame *pFrame) |
940 | 898 |
} |
941 | 899 |
} |
942 | 900 |
|
943 |
-void BlinkenFrameMirrorHor(stBlinkenFrame *pFrame) |
|
944 |
-{ |
|
901 |
+void BlinkenFrameMirrorHor(stBlinkenFrame *pFrame) { |
|
945 | 902 |
int y, x1, x2, c, i1, i2; |
946 | 903 |
|
947 | 904 |
if (pFrame == NULL) |
948 | 905 |
return; |
949 | 906 |
|
950 | 907 |
for (y = 0; y < pFrame->height; y++) { |
951 |
- for (x1 = 0, x2 = pFrame->width - 1, |
|
952 |
- i1 = 0, i2 = (pFrame->width - 1) * pFrame->channels; |
|
908 |
+ for (x1 = 0, x2 = pFrame->width - 1, i1 = 0, |
|
909 |
+ i2 = (pFrame->width - 1) * pFrame->channels; |
|
953 | 910 |
x1 < pFrame->width / 2; x1++, x2--, i2 -= 2 * pFrame->channels) { |
954 | 911 |
for (c = 0; c < pFrame->channels; c++, i1++, i2++) { |
955 | 912 |
unsigned char tmp = pFrame->ppData[y][i1]; |
... | ... |
@@ -960,8 +917,7 @@ void BlinkenFrameMirrorHor(stBlinkenFrame *pFrame) |
960 | 917 |
} |
961 | 918 |
} |
962 | 919 |
|
963 |
-void BlinkenFrameMirrorVer(stBlinkenFrame *pFrame) |
|
964 |
-{ |
|
920 |
+void BlinkenFrameMirrorVer(stBlinkenFrame *pFrame) { |
|
965 | 921 |
int y1, y2, x, c, i; |
966 | 922 |
|
967 | 923 |
if (pFrame == NULL) |
... | ... |
@@ -978,8 +934,7 @@ void BlinkenFrameMirrorVer(stBlinkenFrame *pFrame) |
978 | 934 |
} |
979 | 935 |
} |
980 | 936 |
|
981 |
-void BlinkenFrameMirrorDiag(stBlinkenFrame *pFrame) |
|
982 |
-{ |
|
937 |
+void BlinkenFrameMirrorDiag(stBlinkenFrame *pFrame) { |
|
983 | 938 |
int height, width, channels, y, x, c, i, j; |
984 | 939 |
unsigned char **ppData; |
985 | 940 |
|
... | ... |
@@ -990,8 +945,7 @@ void BlinkenFrameMirrorDiag(stBlinkenFrame *pFrame) |
990 | 945 |
height = pFrame->width; |
991 | 946 |
width = pFrame->height; |
992 | 947 |
channels = pFrame->channels; |
993 |
- ppData = |
|
994 |
- (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
948 |
+ ppData = (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
995 | 949 |
sizeof(unsigned char)); |
996 | 950 |
if (ppData == NULL) |
997 | 951 |
return; |
... | ... |
@@ -1012,8 +966,7 @@ void BlinkenFrameMirrorDiag(stBlinkenFrame *pFrame) |
1012 | 966 |
pFrame->ppData = ppData; |
1013 | 967 |
} |
1014 | 968 |
|
1015 |
-void BlinkenFrameMirrorDiag2(stBlinkenFrame *pFrame) |
|
1016 |
-{ |
|
969 |
+void BlinkenFrameMirrorDiag2(stBlinkenFrame *pFrame) { |
|
1017 | 970 |
int height, width, channels, y, x, c, i, j; |
1018 | 971 |
unsigned char **ppData; |
1019 | 972 |
|
... | ... |
@@ -1024,8 +977,7 @@ void BlinkenFrameMirrorDiag2(stBlinkenFrame *pFrame) |
1024 | 977 |
height = pFrame->width; |
1025 | 978 |
width = pFrame->height; |
1026 | 979 |
channels = pFrame->channels; |
1027 |
- ppData = |
|
1028 |
- (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
980 |
+ ppData = (unsigned char **)BlinkenMalloc2D(height, width * channels, |
|
1029 | 981 |
sizeof(unsigned char)); |
1030 | 982 |
if (ppData == NULL) |
1031 | 983 |
return; |
... | ... |
@@ -1046,8 +998,7 @@ void BlinkenFrameMirrorDiag2(stBlinkenFrame *pFrame) |
1046 | 998 |
pFrame->ppData = ppData; |
1047 | 999 |
} |
1048 | 1000 |
|
1049 |
-char *BlinkenFrameToString(stBlinkenFrame *pFrame) |
|
1050 |
-{ |
|
1001 |
+char *BlinkenFrameToString(stBlinkenFrame *pFrame) { |
|
1051 | 1002 |
int size, y, x, c, i; |
1052 | 1003 |
char *str, *ptr; |
1053 | 1004 |
unsigned long val; |
... | ... |
@@ -1097,14 +1048,14 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
1097 | 1048 |
|
1098 | 1049 |
case BlinkenProtoBlp: |
1099 | 1050 |
// buffer too short |
1100 |
- if (maxLength < (int)sizeof(stBlinkenProtoBlpHdr) + pFrame->height * pFrame->width) |
|
1051 |
+ if (maxLength < |
|
1052 |
+ (int)sizeof(stBlinkenProtoBlpHdr) + pFrame->height * pFrame->width) |
|
1101 | 1053 |
return -1; |
1102 | 1054 |
// build header |
1103 | 1055 |
((stBlinkenProtoBlpHdr *)pData)->magic = htonl(BlinkenProtoBlpMagic); |
1104 | 1056 |
((stBlinkenProtoBlpHdr *)pData)->frameNo = htonl(0); |
1105 | 1057 |
((stBlinkenProtoBlpHdr *)pData)->width = htons((uint16_t)pFrame->width); |
1106 |
- ((stBlinkenProtoBlpHdr *) pData)->height = |
|
1107 |
- htons((uint16_t) pFrame->height); |
|
1058 |
+ ((stBlinkenProtoBlpHdr *)pData)->height = htons((uint16_t)pFrame->height); |
|
1108 | 1059 |
i = sizeof(stBlinkenProtoBlpHdr); // put data into packet |
1109 | 1060 |
for (y = 0; y < pFrame->height; y++) { |
1110 | 1061 |
for (x = 0, j = 0; x < pFrame->width; x++, i++) { |
... | ... |
@@ -1119,15 +1070,14 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
1119 | 1070 |
|
1120 | 1071 |
case BlinkenProtoEblp: |
1121 | 1072 |
// buffer too short |
1122 |
- if (maxLength < (int)sizeof(stBlinkenProtoEblpHdr) + pFrame->height * pFrame->width) |
|
1073 |
+ if (maxLength < |
|
1074 |
+ (int)sizeof(stBlinkenProtoEblpHdr) + pFrame->height * pFrame->width) |
|
1123 | 1075 |
return -1; |
1124 | 1076 |
// build header |
1125 | 1077 |
((stBlinkenProtoEblpHdr *)pData)->magic = htonl(BlinkenProtoEblpMagic); |
1126 | 1078 |
((stBlinkenProtoEblpHdr *)pData)->frameNo = htonl(0); |
1127 |
- ((stBlinkenProtoEblpHdr *) pData)->width = |
|
1128 |
- htons((uint16_t) pFrame->width); |
|
1129 |
- ((stBlinkenProtoEblpHdr *) pData)->height = |
|
1130 |
- htons((uint16_t) pFrame->height); |
|
1079 |
+ ((stBlinkenProtoEblpHdr *)pData)->width = htons((uint16_t)pFrame->width); |
|
1080 |
+ ((stBlinkenProtoEblpHdr *)pData)->height = htons((uint16_t)pFrame->height); |
|
1131 | 1081 |
i = sizeof(stBlinkenProtoEblpHdr); // put data into packet |
1132 | 1082 |
for (y = 0; y < pFrame->height; y++) { |
1133 | 1083 |
for (x = 0, j = 0; x < pFrame->width; x++, i++) { |
... | ... |
@@ -1135,7 +1085,8 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
1135 | 1085 |
for (c = 0; c < pFrame->channels; c++, j++) |
1136 | 1086 |
val += pFrame->ppData[y][j]; |
1137 | 1087 |
val /= pFrame->channels; |
1138 |
- pData[i] = (pFrame->maxval == 255 ? (unsigned char)val |
|
1088 |
+ pData[i] = (pFrame->maxval == 255 |
|
1089 |
+ ? (unsigned char)val |
|
1139 | 1090 |
: (unsigned char)((val * 255 + pFrame->maxval / 2) / |
1140 | 1091 |
pFrame->maxval)); |
1141 | 1092 |
} |
... | ... |
@@ -1144,18 +1095,16 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, |
1144 | 1095 |
|
1145 | 1096 |
case BlinkenProtoMcuf: |
1146 | 1097 |
// buffer too short |
1147 |
- if (maxLength < (int)sizeof(stBlinkenProtoMcufHdr) + pFrame->height * pFrame->width * pFrame->channels) |
|
1098 |
+ if (maxLength < (int)sizeof(stBlinkenProtoMcufHdr) + |
|
1099 |
+ pFrame->height * pFrame->width * pFrame->channels) |
|
1148 | 1100 |
return -1; |
1149 | 1101 |
// build header |
1150 | 1102 |
((stBlinkenProtoMcufHdr *)pData)->magic = htonl(BlinkenProtoMcufMagic); |
1151 |
- ((stBlinkenProtoMcufHdr *) pData)->height = |
|
1152 |
- htons((uint16_t) pFrame->height); |
|
1153 |
- ((stBlinkenProtoMcufHdr *) pData)->width = |
|
1154 |
- htons((uint16_t) pFrame->width); |
|
1103 |
+ ((stBlinkenProtoMcufHdr *)pData)->height = htons((uint16_t)pFrame->height); |
|
1104 |
+ ((stBlinkenProtoMcufHdr *)pData)->width = htons((uint16_t)pFrame->width); |
|
1155 | 1105 |
((stBlinkenProtoMcufHdr *)pData)->channels = |
1156 | 1106 |
htons((uint16_t)pFrame->channels); |
1157 |
- ((stBlinkenProtoMcufHdr *) pData)->maxval = |
|
1158 |
- htons((uint16_t) pFrame->maxval); |
|
1107 |
+ ((stBlinkenProtoMcufHdr *)pData)->maxval = htons((uint16_t)pFrame->maxval); |
|
1159 | 1108 |
i = sizeof(stBlinkenProtoMcufHdr); // put data into packet |
1160 | 1109 |
for (y = 0; y < pFrame->height; y++) |
1161 | 1110 |
for (x = 0, j = 0; x < pFrame->width; x++) |
... | ... |
@@ -1177,8 +1125,7 @@ stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, |
1177 | 1125 |
int height, width, channels, maxval, y, x, c, i, j; |
1178 | 1126 |
|
1179 | 1127 |
if (length >= (int)sizeof(stBlinkenProtoBlpHdr) && |
1180 |
- ((stBlinkenProtoBlpHdr *) pData)->magic == htonl(BlinkenProtoBlpMagic)) |
|
1181 |
- { |
|
1128 |
+ ((stBlinkenProtoBlpHdr *)pData)->magic == htonl(BlinkenProtoBlpMagic)) { |
|
1182 | 1129 |
if (pProto != NULL) // return protocol |
1183 | 1130 |
*pProto = BlinkenProtoBlp; |
1184 | 1131 |
// get header data |
... | ... |
@@ -1204,8 +1151,7 @@ stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, |
1204 | 1151 |
} |
1205 | 1152 |
|
1206 | 1153 |
if (length >= (int)sizeof(stBlinkenProtoEblpHdr) && |
1207 |
- ((stBlinkenProtoEblpHdr *) pData)->magic == |
|
1208 |
- htonl(BlinkenProtoEblpMagic)) { |
|
1154 |
+ ((stBlinkenProtoEblpHdr *)pData)->magic == htonl(BlinkenProtoEblpMagic)) { |
|
1209 | 1155 |
if (pProto != NULL) // return protocol |
1210 | 1156 |
*pProto = BlinkenProtoEblp; |
1211 | 1157 |
// get header data |
... | ... |
@@ -1231,8 +1177,7 @@ stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, |
1231 | 1177 |
} |
1232 | 1178 |
|
1233 | 1179 |
if (length >= (int)sizeof(stBlinkenProtoMcufHdr) && |
1234 |
- ((stBlinkenProtoMcufHdr *) pData)->magic == |
|
1235 |
- htonl(BlinkenProtoMcufMagic)) { |
|
1180 |
+ ((stBlinkenProtoMcufHdr *)pData)->magic == htonl(BlinkenProtoMcufMagic)) { |
|
1236 | 1181 |
if (pProto != NULL) // return protocol |
1237 | 1182 |
*pProto = BlinkenProtoMcuf; |
1238 | 1183 |
// get header data |
... | ... |
@@ -6,9 +6,9 @@ |
6 | 6 |
#include <gif_lib.h> |
7 | 7 |
#include <stdlib.h> |
8 | 8 |
|
9 |
-#include <BlinkenLib/config.h> |
|
10 | 9 |
#include <BlinkenLib/BlinkenFrame.h> |
11 | 10 |
#include <BlinkenLib/BlinkenMovie.h> |
11 |
+#include <BlinkenLib/config.h> |
|
12 | 12 |
|
13 | 13 |
#include "BlinkenConstants.h" |
14 | 14 |
#include "BlinkenGif.h" |
... | ... |
@@ -22,8 +22,7 @@ |
22 | 22 |
// get color from GIF color map |
23 | 23 |
static void BlinkenGifGetColor(ColorMapObject *pMap, int idx, int transparent, |
24 | 24 |
unsigned char *r, unsigned char *g, |
25 |
- unsigned char *b, unsigned char *t) |
|
26 |
-{ |
|
25 |
+ unsigned char *b, unsigned char *t) { |
|
27 | 26 |
if (transparent >= 0 && idx == transparent) { |
28 | 27 |
*t = 1; |
29 | 28 |
} else { |
... | ... |
@@ -50,8 +49,7 @@ static void BlinkenGifGetColor(ColorMapObject *pMap, int idx, int transparent, |
50 | 49 |
|
51 | 50 |
// set pixel to GIF color |
52 | 51 |
static void BlinkenGifSetPixel(ColorMapObject *pMap, int idx, int transparent, |
53 |
- stBlinkenFrame *pFrame, int y, int x) |
|
54 |
-{ |
|
52 |
+ stBlinkenFrame *pFrame, int y, int x) { |
|
55 | 53 |
unsigned char r, g, b, t; |
56 | 54 |
|
57 | 55 |
if (pFrame != NULL) { |
... | ... |
@@ -65,17 +63,17 @@ static void BlinkenGifSetPixel(ColorMapObject *pMap, int idx, int transparent, |
65 | 63 |
} |
66 | 64 |
|
67 | 65 |
// load a GIF file as BlinkenMovie |
68 |
-stBlinkenMovie *BlinkenGifLoad(const char *pFilename) |
|
69 |
-{ |
|
66 |
+stBlinkenMovie *BlinkenGifLoad(const char *pFilename) { |
|
70 | 67 |
GifFileType *gif; |
71 |
- struct sPass { int ofs, stride; }; |
|
68 |
+ struct sPass { |
|
69 |
+ int ofs, stride; |
|
70 |
+ }; |
|
72 | 71 |
static struct sPass const passes_linear[] = {{0, 1}, {0, 0}}; |
73 | 72 |
static struct sPass const passes_interlaced[] = { |
74 |
- { 0, 8 }, { 4, 8 }, { 2, 4 }, { 1, 2 } |
|
75 |
- }; |
|
73 |
+ {0, 8}, {4, 8}, {2, 4}, {1, 2}}; |
|
76 | 74 |
struct sPass const *pass; |
77 |
- int height, width, frameCnt, frameIdx, i, y, x, y1, x1, |
|
78 |
- bg, disposal, delay, transp, idx; |
|
75 |
+ int height, width, frameCnt, frameIdx, i, y, x, y1, x1, bg, disposal, delay, |
|
76 |
+ transp, idx; |
|
79 | 77 |
ColorMapObject *pGlobalMap, *pMap; |
80 | 78 |
SavedImage *pImg; |
81 | 79 |
GifImageDesc *pDesc; |
... | ... |
@@ -158,8 +156,8 @@ stBlinkenMovie *BlinkenGifLoad(const char *pFilename) |
158 | 156 |
} |
159 | 157 |
for (pass = pDesc->Interlace ? passes_interlaced : passes_linear; |
160 | 158 |
pass->stride > 0; ++pass) { |
161 |
- for (y = pass->ofs, y1 = pDesc->Top + pass->ofs, i = 0; |
|
162 |
- y < pDesc->Height; y += pass->stride, y1 += pass->stride) { |
|
159 |
+ for (y = pass->ofs, y1 = pDesc->Top + pass->ofs, i = 0; y < pDesc->Height; |
|
160 |
+ y += pass->stride, y1 += pass->stride) { |
|
163 | 161 |
for (x = 0, x1 = pDesc->Left; x < pDesc->Width; ++x, ++x1, ++i) { |
164 | 162 |
idx = pImg->RasterBits[i]; |
165 | 163 |
switch (disposal) { |
... | ... |
@@ -206,11 +204,10 @@ stBlinkenMovie *BlinkenGifLoad(const char *pFilename) |
206 | 204 |
return pMovie; |
207 | 205 |
} |
208 | 206 |
|
209 |
-int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) |
|
210 |
-{ |
|
207 |
+int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) { |
|
211 | 208 |
GifFileType *gif; |
212 |
- int frameCnt, height, width, channels, maxval, channels_new, maxval_new, |
|
213 |
- r, g, b, i, frame, y, x, c, y1, x1, y2, x2, v, ret; |
|
209 |
+ int frameCnt, height, width, channels, maxval, channels_new, maxval_new, r, g, |
|
210 |
+ b, i, frame, y, x, c, y1, x1, y2, x2, v, ret; |
|
214 | 211 |
unsigned int delay; |
215 | 212 |
stBlinkenMovie *pOutMovie; |
216 | 213 |
stBlinkenFrame *pFrame, *pLast; |
... | ... |
@@ -236,10 +233,18 @@ int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) |
236 | 233 |
else |
237 | 234 |
channels_new = channels; |
238 | 235 |
switch (channels) { |
239 |
- case 1: maxval_new = 255; break; |
|
240 |
- case 2: maxval_new = 15; break; |
|
241 |
- case 3: maxval_new = 5; break; |
|
242 |
- default: maxval_new = 255; break; |
|
236 |
+ case 1: |
|
237 |
+ maxval_new = 255; |
|
238 |
+ break; |
|
239 |
+ case 2: |
|
240 |
+ maxval_new = 15; |
|
241 |
+ break; |
|
242 |
+ case 3: |
|
243 |
+ maxval_new = 5; |
|
244 |
+ break; |
|
245 |
+ default: |
|
246 |
+ maxval_new = 255; |
|
247 |
+ break; |
|
243 | 248 |
} |
244 | 249 |
pOutMovie = BlinkenMovieClone(pMovie); |
245 | 250 |
if (pOutMovie == NULL) |
... | ... |
@@ -308,7 +313,8 @@ int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) |
308 | 313 |
for (g = 0; g <= maxval; ++g) { |
309 | 314 |
for (r = 0; r <= maxval; ++r) { |
310 | 315 |
gif->SColorMap->Colors[i].Red = ((int)r * 255 + maxval / 2) / maxval; |
311 |
- gif->SColorMap->Colors[i].Green = ((int)g * 255 + maxval / 2) / maxval; |
|
316 |
+ gif->SColorMap->Colors[i].Green = |
|
317 |
+ ((int)g * 255 + maxval / 2) / maxval; |
|
312 | 318 |
gif->SColorMap->Colors[i].Blue = ((int)b * 255 + maxval / 2) / maxval; |
313 | 319 |
++i; |
314 | 320 |
} |
... | ... |
@@ -351,10 +357,14 @@ int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) |
351 | 357 |
break; |
352 | 358 |
} |
353 | 359 |
if (c < channels) { // change detected at x,y |
354 |
- if (y < y1) y1 = y; |
|
355 |
- if (x < x1) x1 = x; |
|
356 |
- if (y > y2) y2 = y; |
|
357 |
- if (x > x2) x2 = x; |
|
360 |
+ if (y < y1) |
|
361 |
+ y1 = y; |
|
362 |
+ if (x < x1) |
|
363 |
+ x1 = x; |
|
364 |
+ if (y > y2) |
|
365 |
+ y2 = y; |
|
366 |
+ if (x > x2) |
|
367 |
+ x2 = x; |
|
358 | 368 |
} |
359 | 369 |
} // for x |
360 | 370 |
} // for y |
... | ... |
@@ -382,8 +392,8 @@ int BlinkenGifSave(stBlinkenMovie *pMovie, const char *pFilename) |
382 | 392 |
pDesc->ColorMap = NULL; |
383 | 393 |
|
384 | 394 |
// allocate pixel buffer |
385 |
- pImg->RasterBits = calloc(pDesc->Width * pDesc->Height, |
|
386 |
- sizeof(unsigned char)); |
|
395 |
+ pImg->RasterBits = |
|
396 |
+ calloc(pDesc->Width * pDesc->Height, sizeof(unsigned char)); |
|
387 | 397 |
if (pImg->RasterBits == NULL) { |
388 | 398 |
EGifCloseFile(gif GIF5_err); |
389 | 399 |
BlinkenMovieFree(pOutMovie); |
... | ... |
@@ -6,9 +6,9 @@ |
6 | 6 |
#ifndef INC_BlinkenLib_BlinkenGif |
7 | 7 |
#define INC_BlinkenLib_BlinkenGif |
8 | 8 |
|
9 |
-#include <BlinkenLib/config.h> |
|
10 | 9 |
#include <BlinkenLib/BlinkenFrame.h> |
11 | 10 |
#include <BlinkenLib/BlinkenMovie.h> |
11 |
+#include <BlinkenLib/config.h> |
|
12 | 12 |
|
13 | 13 |
#ifndef BLINKENLIB_CFG_GIF |
14 | 14 |
#error This file is to be used for GIF support only. |
... | ... |
@@ -16,9 +16,9 @@ |
16 | 16 |
#define MNG_SUPPORT_WRITE |
17 | 17 |
#include <libmng.h> |
18 | 18 |
|
19 |
-#include <BlinkenLib/config.h> |
|
20 | 19 |
#include <BlinkenLib/BlinkenFrame.h> |
21 | 20 |
#include <BlinkenLib/BlinkenMovie.h> |
21 |
+#include <BlinkenLib/config.h> |
|
22 | 22 |
|
23 | 23 |
#include "BlinkenConstants.h" |
24 | 24 |
#include "BlinkenMng.h" |
... | ... |
@@ -36,33 +36,28 @@ typedef struct _BlMng_userdata { |
36 | 36 |
stBlinkenMovie *movie; // movie being created |
37 | 37 |
} BlMng_userdata; |
38 | 38 |
|
39 |
-mng_ptr BlMng_alloc(mng_size_t iSize) |
|
40 |
-{ |
|
39 |
+mng_ptr BlMng_alloc(mng_size_t iSize) { |
|
41 | 40 |
void *ptr = malloc(iSize); |
42 | 41 |
if (ptr != NULL) |
43 | 42 |
memset(ptr, 0, iSize); |
44 | 43 |
return (mng_ptr)ptr; |
45 | 44 |
} |
46 | 45 |
|
47 |
-void BlMng_free(mng_ptr pPtr, mng_size_t __attribute__ ((unused)) iSize) |
|
48 |
-{ |
|
46 |
+void BlMng_free(mng_ptr pPtr, mng_size_t __attribute__((unused)) iSize) { |
|
49 | 47 |
free(pPtr); |
50 | 48 |
} |
51 | 49 |
|
52 |
-mng_bool BlMng_openstream(mng_handle __attribute__ ((unused)) hMNG) |
|
53 |
-{ |
|
50 |
+mng_bool BlMng_openstream(mng_handle __attribute__((unused)) hMNG) { |
|
54 | 51 |
return MNG_TRUE; |
55 | 52 |
} |
56 | 53 |
|
57 |
-mng_bool BlMng_closestream(mng_handle __attribute__ ((unused)) hMNG) |
|
58 |
-{ |
|
54 |
+mng_bool BlMng_closestream(mng_handle __attribute__((unused)) hMNG) { |
|
59 | 55 |
return MNG_TRUE; |
60 | 56 |
} |
61 | 57 |
|
62 | 58 |
// read data from the open file |
63 | 59 |
mng_bool BlMng_readdata(mng_handle hMNG, mng_ptr pBuf, mng_uint32 iSize, |
64 |
- mng_uint32 * iRead) |
|
65 |
-{ |
|
60 |
+ mng_uint32 *iRead) { |
|
66 | 61 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
67 | 62 |
*iRead = fread(pBuf, 1, iSize, data->hFile); |
68 | 63 |
return MNG_TRUE; |
... | ... |
@@ -70,8 +65,7 @@ mng_bool BlMng_readdata(mng_handle hMNG, mng_ptr pBuf, mng_uint32 iSize, |
70 | 65 |
|
71 | 66 |
// write data to the open file |
72 | 67 |
mng_bool BlMng_writedata(mng_handle hMNG, mng_ptr pBuf, mng_uint32 iSize, |
73 |
- mng_uint32 * iWritten) |
|
74 |
-{ |
|
68 |
+ mng_uint32 *iWritten) { |
|
75 | 69 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
76 | 70 |
*iWritten = fwrite(pBuf, 1, iSize, data->hFile); |
77 | 71 |
return MNG_TRUE; |
... | ... |
@@ -79,8 +73,7 @@ mng_bool BlMng_writedata(mng_handle hMNG, mng_ptr pBuf, mng_uint32 iSize, |
79 | 73 |
|
80 | 74 |
// MNG library has processed the header information |
81 | 75 |
mng_bool BlMng_processheader(mng_handle hMNG, mng_uint32 iWidth, |
82 |
- mng_uint32 iHeight) |
|
83 |
-{ |
|
76 |
+ mng_uint32 iHeight) { |
|
84 | 77 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
85 | 78 |
|
86 | 79 |
// free old canvas (in case there is already one) |
... | ... |
@@ -113,8 +106,7 @@ mng_bool BlMng_processheader(mng_handle hMNG, mng_uint32 iWidth, |
113 | 106 |
} |
114 | 107 |
|
115 | 108 |
// get access to a line of the canvas |
116 |
-mng_ptr BlMng_getcanvasline(mng_handle hMNG, mng_uint32 iLinenr) |
|
117 |
-{ |
|
109 |
+mng_ptr BlMng_getcanvasline(mng_handle hMNG, mng_uint32 iLinenr) { |
|
118 | 110 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
119 | 111 |
|
120 | 112 |
// return pointer to line |
... | ... |
@@ -125,20 +117,18 @@ mng_ptr BlMng_getcanvasline(mng_handle hMNG, mng_uint32 iLinenr) |
125 | 117 |
} |
126 | 118 |
|
127 | 119 |
// the MNG library thinks that (a part of) the canvas should be shown |
128 |
-mng_bool BlMng_refresh(mng_handle __attribute__ ((unused)) hMNG, mng_uint32 |
|
129 |
- __attribute__ ((unused)) iX, mng_uint32 |
|
130 |
- __attribute__ ((unused)) iY, mng_uint32 |
|
131 |
- __attribute__ ((unused)) iWidth, mng_uint32 |
|
132 |
- __attribute__ ((unused)) iHeight) |
|
133 |
-{ |
|
120 |
+mng_bool BlMng_refresh(mng_handle __attribute__((unused)) hMNG, |
|
121 |
+ mng_uint32 __attribute__((unused)) iX, |
|
122 |
+ mng_uint32 __attribute__((unused)) iY, |
|
123 |
+ mng_uint32 __attribute__((unused)) iWidth, |
|
124 |
+ mng_uint32 __attribute__((unused)) iHeight) { |
|
134 | 125 |
// nothing to do here for BlinkenLib as we are only converting and not |
135 | 126 |
// displaying |
136 | 127 |
return MNG_TRUE; |
137 | 128 |
} |
138 | 129 |
|
139 | 130 |
// the MNG library want to know how many milliseconds have passed |
140 |
-mng_uint32 BlMng_gettickcount(mng_handle hMNG) |
|
141 |
-{ |
|
131 |
+mng_uint32 BlMng_gettickcount(mng_handle hMNG) { |
|
142 | 132 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
143 | 133 |
|
144 | 134 |
// just return the current number of milliseconds (only converting, do not |
... | ... |
@@ -147,8 +137,7 @@ mng_uint32 BlMng_gettickcount(mng_handle hMNG) |
147 | 137 |
} |
148 | 138 |
|
149 | 139 |
// the MNG library wants to be be called again after some milliseconds |
150 |
-mng_bool BlMng_settimer(mng_handle hMNG, mng_uint32 iMsecs) |
|
151 |
-{ |
|
140 |
+mng_bool BlMng_settimer(mng_handle hMNG, mng_uint32 iMsecs) { |
|
152 | 141 |
BlMng_userdata *data = (BlMng_userdata *)mng_get_userdata(hMNG); |
153 | 142 |
|
154 | 143 |
// just remember the number of milliseconds |
... | ... |
@@ -160,8 +149,7 @@ mng_bool BlMng_settimer(mng_handle hMNG, mng_uint32 iMsecs) |
160 | 149 |
// save as new frame to current movie |
161 | 150 |
void BlMng_save_frame(stBlinkenMovie *movie, unsigned int msec, |
162 | 151 |
unsigned int width, unsigned int height, |
163 |
- unsigned char *data) |
|
164 |
-{ |
|
152 |
+ unsigned char *data) { |
|
165 | 153 |
stBlinkenFrame *frame; |
166 | 154 |
unsigned int c, x, y; |
167 | 155 |
|
... | ... |
@@ -191,8 +179,7 @@ void BlMng_save_frame(stBlinkenMovie *movie, unsigned int msec, |
191 | 179 |
|
192 | 180 |
// compress pixel data in a frame |
193 | 181 |
void BlMng_compress_frame(stBlinkenFrame *frame, unsigned char **p_out_ptr, |
194 |
- unsigned int *p_out_len) |
|
195 |
-{ |
|
182 |
+ unsigned int *p_out_len) { |
|
196 | 183 |
unsigned int width = BlinkenFrameGetWidth(frame); |
197 | 184 |
unsigned int height = BlinkenFrameGetHeight(frame); |
198 | 185 |
// channels is always 3, maxval is always 255 - this function is only |
... | ... |
@@ -233,8 +220,7 @@ void BlMng_compress_frame(stBlinkenFrame *frame, unsigned char **p_out_ptr, |
233 | 220 |
} |
234 | 221 |
|
235 | 222 |
// load a MNG file as BlinkenMovie |
236 |
-stBlinkenMovie *BlinkenMngLoad(const char *pFilename) |
|
237 |
-{ |
|
223 |
+stBlinkenMovie *BlinkenMngLoad(const char *pFilename) { |
|
238 | 224 |
BlMng_userdata *data; |
239 | 225 |
mng_handle hMNG; |
240 | 226 |
stBlinkenMovie *movie = NULL; |
... | ... |
@@ -256,8 +242,7 @@ stBlinkenMovie *BlinkenMngLoad(const char *pFilename) |
256 | 242 |
if (data->hFile != NULL) { |
257 | 243 |
|
258 | 244 |
// initialize MNG library |
259 |
- hMNG = |
|
260 |
- mng_initialize((mng_ptr) data, BlMng_alloc, BlMng_free, MNG_NULL); |
|
245 |
+ hMNG = mng_initialize((mng_ptr)data, BlMng_alloc, BlMng_free, MNG_NULL); |
|
261 | 246 |
if (hMNG) { |
262 | 247 |
|
263 | 248 |
// set MNG callbacks |
... | ... |
@@ -369,8 +354,7 @@ stBlinkenMovie *BlinkenMngLoad(const char *pFilename) |
369 | 354 |
return movie; |
370 | 355 |
} |
371 | 356 |
|
372 |
-int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
|
373 |
-{ |
|
357 |
+int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) { |
|
374 | 358 |
BlMng_userdata *data; |
375 | 359 |
mng_handle hMNG; |
376 | 360 |
int b_success = 0; |
... | ... |
@@ -397,8 +381,7 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
397 | 381 |
if (data->hFile != NULL) { |
398 | 382 |
|
399 | 383 |
// initialize MNG library |
400 |
- hMNG = |
|
401 |
- mng_initialize((mng_ptr) data, BlMng_alloc, BlMng_free, MNG_NULL); |
|
384 |
+ hMNG = mng_initialize((mng_ptr)data, BlMng_alloc, BlMng_free, MNG_NULL); |
|
402 | 385 |
if (hMNG) { |
403 | 386 |
|
404 | 387 |
// set MNG callbacks |
... | ... |
@@ -417,7 +400,8 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
417 | 400 |
unsigned int frame_no; |
418 | 401 |
|
419 | 402 |
// write MG header chunks |
420 |
- if (mng_putchunk_mhdr(hMNG, data->width, data->height, // dimensions |
|
403 |
+ if (mng_putchunk_mhdr( |
|
404 |
+ hMNG, data->width, data->height, // dimensions |
|
421 | 405 |
1000, 0, frame_cnt, total_duration, // ticks |
422 | 406 |
// |
423 | 407 |
// |
... | ... |
@@ -430,7 +414,8 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
430 | 414 |
// frame |
431 | 415 |
// count, |
432 | 416 |
// duration |
433 |
- MNG_SIMPLICITY_VALID | MNG_SIMPLICITY_SIMPLEFEATURES | MNG_SIMPLICITY_COMPLEXFEATURES // simplicity |
|
417 |
+ MNG_SIMPLICITY_VALID | MNG_SIMPLICITY_SIMPLEFEATURES | |
|
418 |
+ MNG_SIMPLICITY_COMPLEXFEATURES // simplicity |
|
434 | 419 |
) != 0) |
435 | 420 |
break; |
436 | 421 |
|
... | ... |
@@ -443,7 +428,8 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
443 | 428 |
// - this is needed to preserve duration of last frame |
444 | 429 |
// - this results in a black frame with 1ms duration at the |
445 | 430 |
// end of the MNG as side effect |
446 |
- if (mng_putchunk_term(hMNG, MNG_TERMACTION_CLEAR, MNG_ITERACTION_CLEAR, // show |
|
431 |
+ if (mng_putchunk_term(hMNG, MNG_TERMACTION_CLEAR, |
|
432 |
+ MNG_ITERACTION_CLEAR, // show |
|
447 | 433 |
// |
448 | 434 |
// |
449 | 435 |
// |
... | ... |
@@ -467,15 +453,17 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
467 | 453 |
// get current frame |
468 | 454 |
stBlinkenFrame *frame = |
469 | 455 |
BlinkenMovieGetFrame(data->movie, frame_no); |
470 |
- unsigned int frame_duration = |
|
471 |
- BlinkenFrameGetDuration(frame); |
|
456 |
+ unsigned int frame_duration = BlinkenFrameGetDuration(frame); |
|
472 | 457 |
|
473 | 458 |
// write MNG frame header chunks |
474 | 459 |
if (mng_putchunk_seek(hMNG, 0, MNG_NULL // no name |
475 | 460 |
) != 0) |
476 | 461 |
break; |
477 | 462 |
|
478 |
- if (mng_putchunk_fram(hMNG, MNG_FALSE, frame_no == 0 ? MNG_FRAMINGMODE_1 : MNG_FRAMINGMODE_NOCHANGE, // empty, |
|
463 |
+ if (mng_putchunk_fram( |
|
464 |
+ hMNG, MNG_FALSE, |
|
465 |
+ frame_no == 0 ? MNG_FRAMINGMODE_1 |
|
466 |
+ : MNG_FRAMINGMODE_NOCHANGE, // empty, |
|
479 | 467 |
// |
480 | 468 |
// |
481 | 469 |
// |
... | ... |
@@ -483,7 +471,9 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
483 | 471 |
// |
484 | 472 |
// mode |
485 | 473 |
0, MNG_NULL, // frame name |
486 |
- MNG_CHANGEDELAY_DEFAULT, MNG_CHANGETIMOUT_NO, MNG_CHANGECLIPPING_NO, MNG_CHANGESYNCID_NO, // changing |
|
474 |
+ MNG_CHANGEDELAY_DEFAULT, MNG_CHANGETIMOUT_NO, |
|
475 |
+ MNG_CHANGECLIPPING_NO, |
|
476 |
+ MNG_CHANGESYNCID_NO, // changing |
|
487 | 477 |
// |
488 | 478 |
// |
489 | 479 |
// |
... | ... |
@@ -504,7 +494,8 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
504 | 494 |
) != 0) |
505 | 495 |
break; |
506 | 496 |
|
507 |
- if (mng_putchunk_defi(hMNG, 0, MNG_DONOTSHOW_VISIBLE, MNG_ABSTRACT, // no |
|
497 |
+ if (mng_putchunk_defi(hMNG, 0, MNG_DONOTSHOW_VISIBLE, |
|
498 |
+ MNG_ABSTRACT, // no |
|
508 | 499 |
// |
509 | 500 |
// |
510 | 501 |
// |
... | ... |
@@ -519,7 +510,8 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
519 | 510 |
) != 0) |
520 | 511 |
break; |
521 | 512 |
|
522 |
- if (mng_putchunk_ihdr(hMNG, data->width, data->height, 8, MNG_COLORTYPE_RGB, // dimensions |
|
513 |
+ if (mng_putchunk_ihdr(hMNG, data->width, data->height, 8, |
|
514 |
+ MNG_COLORTYPE_RGB, // dimensions |
|
523 | 515 |
// |
524 | 516 |
// |
525 | 517 |
// |
... | ... |
@@ -529,7 +521,9 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
529 | 521 |
// 8 |
530 | 522 |
// bit |
531 | 523 |
// RGB |
532 |
- MNG_COMPRESSION_DEFLATE, MNG_FILTER_ADAPTIVE, MNG_INTERLACE_NONE // deflate |
|
524 |
+ MNG_COMPRESSION_DEFLATE, |
|
525 |
+ MNG_FILTER_ADAPTIVE, |
|
526 |
+ MNG_INTERLACE_NONE // deflate |
|
533 | 527 |
// |
534 | 528 |
// |
535 | 529 |
// |
... | ... |
@@ -552,8 +546,7 @@ int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) |
552 | 546 |
BlMng_compress_frame(frame, &ptr, &len); |
553 | 547 |
|
554 | 548 |
iRC = |
555 |
- mng_putchunk_idat(hMNG, (mng_uint32) len, |
|
556 |
- (mng_ptr) ptr); |
|
549 |
+ mng_putchunk_idat(hMNG, (mng_uint32)len, (mng_ptr)ptr); |
|
557 | 550 |
free(ptr); |
558 | 551 |
if (iRC != 0) |
559 | 552 |
break; |
... | ... |
@@ -6,9 +6,9 @@ |
6 | 6 |
#ifndef INC_BlinkenLib_BlinkenMng |
7 | 7 |
#define INC_BlinkenLib_BlinkenMng |
8 | 8 |
|
9 |
-#include <BlinkenLib/config.h> |
|
10 | 9 |
#include <BlinkenLib/BlinkenFrame.h> |
11 | 10 |
#include <BlinkenLib/BlinkenMovie.h> |
11 |
+#include <BlinkenLib/config.h> |
|
12 | 12 |
|
13 | 13 |
#ifndef BLINKENLIB_CFG_MNG |
14 | 14 |
#error This file is to be used for MNG support only. |
... | ... |
@@ -7,21 +7,21 @@ |
7 | 7 |
#include <stdlib.h> |
8 | 8 |
#include <string.h> |
9 | 9 |
#ifdef WIN32 |
10 |
-#include <winsock2.h> |
|
11 | 10 |
#include <windows.h> |
11 |
+#include <winsock2.h> |
|
12 | 12 |
#else |
13 |
-#include <unistd.h> |
|
13 |
+#include <sys/select.h> |
|
14 |
+#include <sys/socket.h> |
|
14 | 15 |
#include <sys/time.h> |
15 | 16 |
#include <sys/types.h> |
16 |
-#include <sys/socket.h> |
|
17 |
-#include <sys/select.h> |
|
17 |
+#include <unistd.h> |
|
18 | 18 |
#endif |
19 | 19 |
|
20 | 20 |
#include <BlinkenLib/BlinkenFrame.h> |
21 | 21 |
#include <BlinkenLib/BlinkenMovie.h> |
22 | 22 |
|
23 |
-#include "Tools.h" |
|
24 | 23 |
#include "BlinkenConstants.h" |
24 |
+#include "Tools.h" |
|
25 | 25 |
#ifdef BLINKENLIB_CFG_MNG |
26 | 26 |
#include "BlinkenMng.h" |
27 | 27 |
#endif // #ifdef BLINKENLIB_CFG_MNG |
... | ... |
@@ -42,25 +42,15 @@ struct sBlinkenMovie { |
42 | 42 |
|
43 | 43 |
#ifdef WIN32 |
44 | 44 |
|
45 |
-static void msleep(unsigned int ms) |
|
46 |
-{ |
|
47 |
- Sleep(ms); |
|
48 |
-} |
|
45 |
+static void msleep(unsigned int ms) { Sleep(ms); } |
|
49 | 46 |
|
50 |
-static unsigned int get_ms() |
|
51 |
-{ |
|
52 |
- return GetTickCount(); |
|
53 |
-} |
|
47 |
+static unsigned int get_ms() { return GetTickCount(); } |
|
54 | 48 |
|
55 | 49 |
#else |
56 | 50 |
|
57 |
-static void msleep(unsigned int ms) |
|
58 |
-{ |
|
59 |
- usleep(ms * 1000); |
|
60 |
-} |
|
51 |
+static void msleep(unsigned int ms) { usleep(ms * 1000); } |
|
61 | 52 |
|
62 |
-static unsigned int get_ms() |
|
63 |
-{ |
|
53 |
+static unsigned int get_ms() { |
|
64 | 54 |
struct timeval tv; |
65 | 55 |
gettimeofday(&tv, NULL); |
66 | 56 |
return (unsigned int)(tv.tv_usec / 1000 + tv.tv_sec * 1000); |
... | ... |
@@ -69,8 +59,7 @@ static unsigned int get_ms() |
69 | 59 |
#endif |
70 | 60 |
|
71 | 61 |
stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, |
72 |
- int maxval) |
|
73 |
-{ |
|
62 |
+ int maxval) { |
|
74 | 63 |
stBlinkenMovie *pMovie; |
75 | 64 |
|
76 | 65 |
if (height < BlinkenHeightMin) |
... | ... |
@@ -116,14 +105,12 @@ stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, |
116 | 105 |
return pMovie; |
117 | 106 |
} |
118 | 107 |
|
119 |
-stBlinkenMovie *BlinkenMovieClone(stBlinkenMovie *pSrcMovie) |
|
120 |
-{ |
|
108 |
+stBlinkenMovie *BlinkenMovieClone(stBlinkenMovie *pSrcMovie) { |
|
121 | 109 |
stBlinkenMovie *pMovie; |
122 | 110 |
stBlinkenFrame *pFrame; |
123 | 111 |
int i; |
124 | 112 |
|
125 |
- pMovie = |
|
126 |
- BlinkenMovieNew(pSrcMovie->height, pSrcMovie->width, |
|
113 |
+ pMovie = BlinkenMovieNew(pSrcMovie->height, pSrcMovie->width, |
|
127 | 114 |
pSrcMovie->channels, pSrcMovie->maxval); |
128 | 115 |
if (pMovie == NULL) |
129 | 116 |
return NULL; |
... | ... |
@@ -141,8 +128,7 @@ stBlinkenMovie *BlinkenMovieClone(stBlinkenMovie *pSrcMovie) |
141 | 128 |
return pMovie; |
142 | 129 |
} |
143 | 130 |
|
144 |
-void BlinkenMovieFree(stBlinkenMovie *pMovie) |
|
145 |
-{ |
|
131 |
+void BlinkenMovieFree(stBlinkenMovie *pMovie) { |
|
146 | 132 |
int i; |
147 | 133 |
|
148 | 134 |
if (pMovie == NULL) |
... | ... |
@@ -161,40 +147,35 @@ void BlinkenMovieFree(stBlinkenMovie *pMovie) |
161 | 147 |
free(pMovie); |
162 | 148 |
} |
163 | 149 |
|
164 |
-int BlinkenMovieGetHeight(stBlinkenMovie *pMovie) |
|
165 |
-{ |
|
150 |
+int BlinkenMovieGetHeight(stBlinkenMovie *pMovie) { |
|
166 | 151 |
if (pMovie == NULL) |
167 | 152 |
return 0; |
168 | 153 |
|
169 | 154 |
return pMovie->height; |
170 | 155 |
} |
171 | 156 |
|
172 |
-int BlinkenMovieGetWidth(stBlinkenMovie *pMovie) |
|
173 |
-{ |
|
157 |
+int BlinkenMovieGetWidth(stBlinkenMovie *pMovie) { |
|
174 | 158 |
if (pMovie == NULL) |
175 | 159 |
return 0; |
176 | 160 |
|
177 | 161 |
return pMovie->width; |
178 | 162 |
} |
179 | 163 |
|
180 |
-int BlinkenMovieGetChannels(stBlinkenMovie *pMovie) |
|
181 |
-{ |
|
164 |
+int BlinkenMovieGetChannels(stBlinkenMovie *pMovie) { |
|
182 | 165 |
if (pMovie == NULL) |
183 | 166 |
return 0; |
184 | 167 |
|
185 | 168 |
return pMovie->channels; |
186 | 169 |
} |
187 | 170 |
|
188 |
-int BlinkenMovieGetMaxval(stBlinkenMovie *pMovie) |
|
189 |
-{ |
|
171 |
+int BlinkenMovieGetMaxval(stBlinkenMovie *pMovie) { |
|
190 | 172 |
if (pMovie == NULL) |
191 | 173 |
return 0; |
192 | 174 |
|
193 | 175 |
return pMovie->maxval; |
194 | 176 |
} |
195 | 177 |
|
196 |
-int BlinkenMovieGetDuration(stBlinkenMovie *pMovie) |
|
197 |
-{ |
|
178 |
+int BlinkenMovieGetDuration(stBlinkenMovie *pMovie) { |
|
198 | 179 |
int i, duration; |
199 | 180 |
|
200 | 181 |
if (pMovie == NULL) |
... | ... |
@@ -206,16 +187,14 @@ int BlinkenMovieGetDuration(stBlinkenMovie *pMovie) |
206 | 187 |
return duration; |
207 | 188 |
} |
208 | 189 |
|
209 |
-int BlinkenMovieGetInfoCnt(stBlinkenMovie *pMovie) |
|
210 |
-{ |
|
190 |
+int BlinkenMovieGetInfoCnt(stBlinkenMovie *pMovie) { |
|
211 | 191 |
if (pMovie == NULL) |
212 | 192 |
return 0; |
213 | 193 |
|
214 | 194 |
return pMovie->infoCnt; |
215 | 195 |
} |
216 | 196 |
|
217 |
-char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo) |
|
218 |
-{ |
|
197 |
+char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo) { |
|
219 | 198 |
if (pMovie == NULL || pMovie->infoCnt < 1) |
220 | 199 |
return ""; |
221 | 200 |
|
... | ... |
@@ -226,8 +205,7 @@ char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo) |
226 | 205 |
return pMovie->pppInfos[infoNo][0]; |
227 | 206 |
} |
228 | 207 |
|
229 |
-char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo) |
|
230 |
-{ |
|
208 |
+char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo) { |
|
231 | 209 |
if (pMovie == NULL || pMovie->infoCnt < 1) |
232 | 210 |
return ""; |
233 | 211 |
|
... | ... |
@@ -239,8 +217,7 @@ char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo) |
239 | 217 |
} |
240 | 218 |
|
241 | 219 |
void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, |
242 |
- const char *pInfoType, const char *pInfoData) |
|
243 |
-{ |
|
220 |
+ const char *pInfoType, const char *pInfoData) { |
|
244 | 221 |
char *pType, *pData; |
245 | 222 |
|
246 | 223 |
if (pMovie == NULL || infoNo < 0 || infoNo >= pMovie->infoCnt) |
... | ... |
@@ -262,16 +239,15 @@ void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, |
262 | 239 |
} |
263 | 240 |
|
264 | 241 |
void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
265 |
- const char *pInfoType, const char *pInfoData) |
|
266 |
-{ |
|
242 |
+ const char *pInfoType, const char *pInfoData) { |
|
267 | 243 |
char ***pppNewInfos, *pType, *pData; |
268 | 244 |
int i; |
269 | 245 |
|
270 | 246 |
if (pMovie == NULL || infoNo < 0 || infoNo > pMovie->infoCnt) |
271 | 247 |
return; |
272 | 248 |
|
273 |
- pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt + 1, 2, |
|
274 |
- sizeof(char *)); |
|
249 |
+ pppNewInfos = |
|
250 |
+ (char ***)BlinkenMalloc2D(pMovie->infoCnt + 1, 2, sizeof(char *)); |
|
275 | 251 |
if (pppNewInfos == NULL) |
276 | 252 |
return; |
277 | 253 |
|
... | ... |
@@ -306,24 +282,22 @@ void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, |
306 | 282 |
} |
307 | 283 |
|
308 | 284 |
void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, |
309 |
- const char *pInfoData) |
|
310 |
-{ |
|
285 |
+ const char *pInfoData) { |
|
311 | 286 |
if (pMovie == NULL) |
312 | 287 |
return; |
313 | 288 |
|
314 | 289 |
BlinkenMovieInsertInfo(pMovie, pMovie->infoCnt, pInfoType, pInfoData); |
315 | 290 |
} |
316 | 291 |
|
317 |
-void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo) |
|
318 |
-{ |
|
292 |
+void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo) { |
|
319 | 293 |
char ***pppNewInfos; |
320 | 294 |
int i; |
321 | 295 |
|
322 | 296 |
if (pMovie == NULL || infoNo < 0 || infoNo >= pMovie->infoCnt) |
323 | 297 |
return; |
324 | 298 |
|
325 |
- pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt - 1, 2, |
|
326 |
- sizeof(char *)); |
|
299 |
+ pppNewInfos = |
|
300 |
+ (char ***)BlinkenMalloc2D(pMovie->infoCnt - 1, 2, sizeof(char *)); |
|
327 | 301 |
if (pppNewInfos == NULL) |
328 | 302 |
return; |
329 | 303 |
|
... | ... |
@@ -345,8 +319,7 @@ void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo) |
345 | 319 |
pMovie->infoCnt--; |
346 | 320 |
} |
347 | 321 |
|
348 |
-void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie) |
|
349 |
-{ |
|
322 |
+void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie) { |
|
350 | 323 |
char ***pppNewInfos; |
351 | 324 |
int i; |
352 | 325 |
|
... | ... |
@@ -367,16 +340,14 @@ void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie) |
367 | 340 |
pMovie->infoCnt = 0; |
368 | 341 |
} |
369 | 342 |
|
370 |
-int BlinkenMovieGetFrameCnt(stBlinkenMovie *pMovie) |
|
371 |
-{ |
|
343 |
+int BlinkenMovieGetFrameCnt(stBlinkenMovie *pMovie) { |
|
372 | 344 |
if (pMovie == NULL) |
373 | 345 |
return 0; |
374 | 346 |
|
375 | 347 |
return pMovie->frameCnt; |
376 | 348 |
} |
377 | 349 |
|
378 |
-stBlinkenFrame *BlinkenMovieGetFrame(stBlinkenMovie *pMovie, int frameNo) |
|
379 |
-{ |
|
350 |
+stBlinkenFrame *BlinkenMovieGetFrame(stBlinkenMovie *pMovie, int frameNo) { |
|
380 | 351 |
if (pMovie == NULL || pMovie->frameCnt < 1) |
381 | 352 |
return NULL; |
382 | 353 |
|
... | ... |
@@ -388,8 +359,7 @@ stBlinkenFrame *BlinkenMovieGetFrame(stBlinkenMovie *pMovie, int frameNo) |
388 | 359 |
} |
389 | 360 |
|
390 | 361 |
void BlinkenMovieSetFrame(stBlinkenMovie *pMovie, int frameNo, |
391 |
- stBlinkenFrame *pFrame) |
|
392 |
-{ |
|
362 |
+ stBlinkenFrame *pFrame) { |
|
393 | 363 |
if (pMovie == NULL || frameNo < 0 || frameNo >= pMovie->frameCnt) |
394 | 364 |
return; |
395 | 365 |
|
... | ... |
@@ -399,16 +369,14 @@ void BlinkenMovieSetFrame(stBlinkenMovie *pMovie, int frameNo, |
399 | 369 |
} |
400 | 370 |
|
401 | 371 |
int BlinkenMovieInsertFrame(stBlinkenMovie *pMovie, int frameNo, |
402 |
- stBlinkenFrame *pFrame) |
|
403 |
-{ |
|
372 |
+ stBlinkenFrame *pFrame) { |
|
404 | 373 |
stBlinkenFrame **ppNewFrames; |
405 | 374 |
int i; |
406 | 375 |
|
407 | 376 |
if (pMovie == NULL || frameNo < 0 || frameNo > pMovie->frameCnt) |
408 | 377 |
return -1; |
409 | 378 |
|
410 |
- ppNewFrames = |
|
411 |
- (stBlinkenFrame **) BlinkenMalloc1D(pMovie->frameCnt + 1, |
|
379 |
+ ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt + 1, |
|
412 | 380 |
sizeof(stBlinkenFrame *)); |
413 | 381 |
if (ppNewFrames == NULL) |
414 | 382 |
return -1; |
... | ... |
@@ -429,16 +397,14 @@ int BlinkenMovieInsertFrame(stBlinkenMovie *pMovie, int frameNo, |
429 | 397 |
return 0; |
430 | 398 |
} |
431 | 399 |
|
432 |
-int BlinkenMovieAppendFrame(stBlinkenMovie *pMovie, stBlinkenFrame *pFrame) |
|
433 |
-{ |
|
400 |
+int BlinkenMovieAppendFrame(stBlinkenMovie *pMovie, stBlinkenFrame *pFrame) { |
|
434 | 401 |
if (pMovie == NULL) |
435 | 402 |
return -1; |
436 | 403 |
|
437 | 404 |
return BlinkenMovieInsertFrame(pMovie, pMovie->frameCnt, pFrame); |
438 | 405 |
} |
439 | 406 |
|
440 |
-void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo) |
|
441 |
-{ |
|
407 |
+void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo) { |
|
442 | 408 |
stBlinkenFrame **ppNewFrames; |
443 | 409 |
int i; |
444 | 410 |
|
... | ... |
@@ -463,16 +429,14 @@ void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo) |
463 | 429 |
pMovie->frameCnt--; |
464 | 430 |
} |
465 | 431 |
|
466 |
-void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) |
|
467 |
-{ |
|
432 |
+void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) { |
|
468 | 433 |
stBlinkenFrame **ppNewFrames; |
469 | 434 |
int i; |
470 | 435 |
|
471 | 436 |
if (pMovie == NULL) |
472 | 437 |
return; |
473 | 438 |
|
474 |
- ppNewFrames = |
|
475 |
- (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
439 |
+ ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
476 | 440 |
if (ppNewFrames == NULL) |
477 | 441 |
return; |
478 | 442 |
|
... | ... |
@@ -485,8 +449,7 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) |
485 | 449 |
} |
486 | 450 |
|
487 | 451 |
int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
488 |
- stBlinkenMovie *pMovie2 /* appended and freed */) |
|
489 |
-{ |
|
452 |
+ stBlinkenMovie *pMovie2 /* appended and freed */) { |
|
490 | 453 |
stBlinkenFrame **ppNewFrames, **ppNewFrames2; |
491 | 454 |
int i; |
492 | 455 |
|
... | ... |
@@ -496,12 +459,12 @@ int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
496 | 459 |
BlinkenMovieResize(pMovie2, pMovie->height, pMovie->width, pMovie->channels, |
497 | 460 |
pMovie->maxval); |
498 | 461 |
|
499 |
- ppNewFrames = |
|
500 |
- (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt + pMovie2->frameCnt, |
|
501 |
- sizeof(stBlinkenFrame *)); |
|
462 |
+ ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D( |
|
463 |
+ pMovie->frameCnt + pMovie2->frameCnt, sizeof(stBlinkenFrame *)); |
|
502 | 464 |
if (ppNewFrames == NULL) |
503 | 465 |
return -1; |
504 |
- ppNewFrames2 = (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
466 |
+ ppNewFrames2 = |
|
467 |
+ (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); |
|
505 | 468 |
if (ppNewFrames2 == NULL) { |
506 | 469 |
free(ppNewFrames); |
507 | 470 |
return -1; |
... | ... |
@@ -525,8 +488,7 @@ int BlinkenMovieConcat(stBlinkenMovie *pMovie, |
525 | 488 |
return 0; |
526 | 489 |
} |
527 | 490 |
|
528 |
-void BlinkenMovieReverse(stBlinkenMovie *pMovie) |
|
529 |
-{ |
|
491 |
+void BlinkenMovieReverse(stBlinkenMovie *pMovie) { |
|
530 | 492 |
int i, j; |
531 | 493 |
stBlinkenFrame *pFrame; |
532 | 494 |
|
... | ... |
@@ -537,9 +499,8 @@ void BlinkenMovieReverse(stBlinkenMovie *pMovie) |
537 | 499 |
} |
538 | 500 |
} |
539 | 501 |
|
540 |
-void BlinkenMovieCutTime(stBlinkenMovie *pMovie, |
|
541 |
- int begin /* in ms */, int end /* in ms */) |
|
542 |
-{ |
|
502 |
+void BlinkenMovieCutTime(stBlinkenMovie *pMovie, int begin /* in ms */, |
|
503 |
+ int end /* in ms */) { |
|
543 | 504 |
int i, duration, curtime, idx_begin, idx_end, duration_begin, duration_end; |
544 | 505 |
int frameCnt; |
545 | 506 |
stBlinkenFrame **ppNewFrames; |
... | ... |
@@ -605,8 +566,8 @@ void BlinkenMovieCutTime(stBlinkenMovie *pMovie, |
605 | 566 |
// remove/free unneeded frames |
606 | 567 |
|
607 | 568 |
frameCnt = idx_end - idx_begin + 1; |
608 |
- ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(frameCnt, |
|
609 |
- sizeof(stBlinkenFrame *)); |
|
569 |
+ ppNewFrames = |
|
570 |
+ (stBlinkenFrame **)BlinkenMalloc1D(frameCnt, sizeof(stBlinkenFrame *)); |
|
610 | 571 |
if (ppNewFrames == NULL) |
611 | 572 |
return; |
612 | 573 |
|
... | ... |
@@ -629,8 +590,7 @@ void BlinkenMovieCutTime(stBlinkenMovie *pMovie, |
629 | 590 |
} |
630 | 591 |
|
631 | 592 |
void BlinkenMovieAdaptDuration(stBlinkenMovie *pMovie, |
632 |
- int duration /* in ms */) |
|
633 |
-{ |
|
593 |
+ int duration /* in ms */) { |
|
634 | 594 |
int old_duration, old_curtime, curtime; |
635 | 595 |
int i, old_dur, dur, old_end, end; |
636 | 596 |
|
... | ... |
@@ -651,8 +611,8 @@ void BlinkenMovieAdaptDuration(stBlinkenMovie *pMovie, |
651 | 611 |
old_dur = BlinkenFrameGetDuration(pMovie->ppFrames[i]); |
652 | 612 |
old_end = old_curtime + old_dur; |
653 | 613 |
// compute new end time and new duration |
654 |
- end = (int)((double)old_end / (double)old_duration * (double)duration |
|
655 |
- + 0.5); |
|
614 |
+ end = |
|
615 |
+ (int)((double)old_end / (double)old_duration * (double)duration + 0.5); |
|
656 | 616 |
dur = end - curtime; |
657 | 617 |
if (dur < BlinkenDurationMin) |
658 | 618 |
dur = BlinkenDurationMin; |
... | ... |
@@ -667,8 +627,7 @@ void BlinkenMovieAdaptDuration(stBlinkenMovie *pMovie, |
667 | 627 |
} |
668 | 628 |
|
669 | 629 |
void BlinkenMovieAdaptMaxFrameDuration(stBlinkenMovie *pMovie, |
670 |
- int maxDuration /* in ms */) |
|
671 |
-{ |
|
630 |
+ int maxDuration /* in ms */) { |
|
672 | 631 |
int i, j, cmp, dur, lastdur; |
673 | 632 |
unsigned int extraFrames; |
674 | 633 |
stBlinkenFrame **ppNewFrames; |
... | ... |
@@ -691,9 +650,8 @@ void BlinkenMovieAdaptMaxFrameDuration(stBlinkenMovie *pMovie, |
691 | 650 |
} |
692 | 651 |
|
693 | 652 |
// allocate new frame array |
694 |
- ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt |
|
695 |
- + extraFrames, |
|
696 |
- sizeof(stBlinkenFrame *)); |
|
653 |
+ ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D( |
|
654 |
+ pMovie->frameCnt + extraFrames, sizeof(stBlinkenFrame *)); |
|
697 | 655 |
if (!ppNewFrames) { |
698 | 656 |
return; |
699 | 657 |
} |
... | ... |
@@ -750,8 +708,7 @@ void BlinkenMovieAdaptMaxFrameDuration(stBlinkenMovie *pMovie, |
750 | 708 |
} |
751 | 709 |
|
752 | 710 |
void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, |
753 |
- int channels, int maxval) |
|
754 |
-{ |
|
711 |
+ int channels, int maxval) { |
|
755 | 712 |
int i; |
756 | 713 |
|
757 | 714 |
if (pMovie == NULL) |
... | ... |
@@ -783,9 +740,8 @@ void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, |
783 | 740 |
BlinkenFrameResize(pMovie->ppFrames[i], height, width, channels, maxval); |
784 | 741 |
} |
785 | 742 |
|
786 |
-void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, |
|
787 |
- int height, int width) |
|
788 |
-{ |
|
743 |
+void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, int height, |
|
744 |
+ int width) { |
|
789 | 745 |
int i; |
790 | 746 |
|
791 | 747 |
if (pMovie == NULL) |
... | ... |
@@ -808,8 +764,8 @@ void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, |
808 | 764 |
if (width > pMovie->width - left) |
809 | 765 |
width = pMovie->width - left; |
810 | 766 |
|
811 |
- if (top == 0 && left == 0 && |
|
812 |
- height == pMovie->height && width == pMovie->width) |
|
767 |
+ if (top == 0 && left == 0 && height == pMovie->height && |
|
768 |
+ width == pMovie->width) |
|
813 | 769 |
return; |
814 | 770 |
|
815 | 771 |
pMovie->height = height; |
... | ... |
@@ -819,8 +775,7 @@ void BlinkenMovieCrop(stBlinkenMovie *pMovie, int top, int left, |
819 | 775 |
BlinkenFrameCrop(pMovie->ppFrames[i], top, left, height, width); |
820 | 776 |
} |
821 | 777 |
|
822 |
-void BlinkenMovieScale(stBlinkenMovie *pMovie, int height, int width) |
|
823 |
-{ |
|
778 |
+void BlinkenMovieScale(stBlinkenMovie *pMovie, int height, int width) { |
|
824 | 779 |
int i; |
825 | 780 |
|
826 | 781 |
if (pMovie == NULL) |
... | ... |
@@ -842,8 +797,7 @@ void BlinkenMovieScale(stBlinkenMovie *pMovie, int height, int width) |
842 | 797 |
BlinkenFrameScale(pMovie->ppFrames[i], height, width); |
843 | 798 |
} |
844 | 799 |
|
845 |
-void BlinkenMovieColorize(stBlinkenMovie *pMovie, int channels, int mode) |
|
846 |
-{ |
|
800 |
+void BlinkenMovieColorize(stBlinkenMovie *pMovie, int channels, int mode) { |
|
847 | 801 |
int i, step; |
848 | 802 |
|
849 | 803 |
if (pMovie == NULL) |
... | ... |
@@ -865,9 +819,8 @@ void BlinkenMovieColorize(stBlinkenMovie *pMovie, int channels, int mode) |
865 | 819 |
} |
866 | 820 |
|
867 | 821 |
void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
868 |
- stBlinkenMovie *pSrc, int srcY, int srcX, |
|
869 |
- int height, int width) |
|
870 |
-{ |
|
822 |
+ stBlinkenMovie *pSrc, int srcY, int srcX, int height, |
|
823 |
+ int width) { |
|
871 | 824 |
int dcnt, scnt, di, si, dest_dur, src_dur, src_time_ofs; |
872 | 825 |
stBlinkenFrame *pFrame; |
873 | 826 |
|
... | ... |
@@ -891,9 +844,8 @@ void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
891 | 844 |
// make sure there is a frame in destination movie |
892 | 845 |
if (di >= dcnt) { |
893 | 846 |
// append new empty frame that last until end of source frame |
894 |
- pFrame = BlinkenFrameNew(pDest->height, pDest->width, |
|
895 |
- pDest->channels, pDest->maxval, |
|
896 |
- src_dur - src_time_ofs); |
|
847 |
+ pFrame = BlinkenFrameNew(pDest->height, pDest->width, pDest->channels, |
|
848 |
+ pDest->maxval, src_dur - src_time_ofs); |
|
897 | 849 |
if (pFrame == NULL) |
898 | 850 |
return; |
899 | 851 |
BlinkenFrameClear(pFrame); |
... | ... |
@@ -912,16 +864,15 @@ void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
912 | 864 |
if (BlinkenMovieInsertFrame(pDest, di + 1, pFrame) != 0) |
913 | 865 |
return; |
914 | 866 |
dcnt++; |
915 |
- BlinkenFrameSetDuration(pDest->ppFrames[di], |
|
916 |
- src_dur - src_time_ofs); |
|
867 |
+ BlinkenFrameSetDuration(pDest->ppFrames[di], src_dur - src_time_ofs); |
|
917 | 868 |
BlinkenFrameSetDuration(pDest->ppFrames[di + 1], |
918 | 869 |
dest_dur - (src_dur - src_time_ofs)); |
919 | 870 |
dest_dur = src_dur - src_time_ofs; |
920 | 871 |
} |
921 | 872 |
|
922 | 873 |
// copy from source frame to destination frame |
923 |
- BlinkenFrameCopyRect(pDest->ppFrames[di], destY, destX, |
|
924 |
- pSrc->ppFrames[si], srcY, srcX, height, width); |
|
874 |
+ BlinkenFrameCopyRect(pDest->ppFrames[di], destY, destX, pSrc->ppFrames[si], |
|
875 |
+ srcY, srcX, height, width); |
|
925 | 876 |
src_time_ofs += dest_dur; |
926 | 877 |
di++; |
927 | 878 |
dest_dur = di < dcnt ? BlinkenFrameGetDuration(pDest->ppFrames[di]) : 0; |
... | ... |
@@ -936,8 +887,7 @@ void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, |
936 | 887 |
} // while (si < scnt) |
937 | 888 |
} |
938 | 889 |
|
939 |
-void BlinkenMovieRotateCw(stBlinkenMovie *pMovie) |
|
940 |
-{ |
|
890 |
+void BlinkenMovieRotateCw(stBlinkenMovie *pMovie) { |
|
941 | 891 |
int tmp, i; |
942 | 892 |
|
943 | 893 |
if (pMovie == NULL) |
... | ... |
@@ -951,8 +901,7 @@ void BlinkenMovieRotateCw(stBlinkenMovie *pMovie) |
951 | 901 |
BlinkenFrameRotateCw(pMovie->ppFrames[i]); |
952 | 902 |
} |
953 | 903 |
|
954 |
-void BlinkenMovieRotateCcw(stBlinkenMovie *pMovie) |
|
955 |
-{ |
|
904 |
+void BlinkenMovieRotateCcw(stBlinkenMovie *pMovie) { |
|
956 | 905 |
int tmp, i; |
957 | 906 |
|
958 | 907 |
if (pMovie == NULL) |
... | ... |
@@ -966,8 +915,7 @@ void BlinkenMovieRotateCcw(stBlinkenMovie *pMovie) |
966 | 915 |
BlinkenFrameRotateCcw(pMovie->ppFrames[i]); |
967 | 916 |
} |
968 | 917 |
|
969 |
-void BlinkenMovieRotateHalf(stBlinkenMovie *pMovie) |
|
970 |
-{ |
|
918 |
+void BlinkenMovieRotateHalf(stBlinkenMovie *pMovie) { |
|
971 | 919 |
int i; |
972 | 920 |
|
973 | 921 |
if (pMovie == NULL) |
... | ... |
@@ -977,8 +925,7 @@ void BlinkenMovieRotateHalf(stBlinkenMovie *pMovie) |
977 | 925 |
BlinkenFrameRotateHalf(pMovie->ppFrames[i]); |
978 | 926 |
} |
979 | 927 |
|
980 |
-void BlinkenMovieMirrorHor(stBlinkenMovie *pMovie) |
|
981 |
-{ |
|
928 |
+void BlinkenMovieMirrorHor(stBlinkenMovie *pMovie) { |
|
982 | 929 |
int i; |
983 | 930 |
|
984 | 931 |
if (pMovie == NULL) |
... | ... |
@@ -988,8 +935,7 @@ void BlinkenMovieMirrorHor(stBlinkenMovie *pMovie) |
988 | 935 |
BlinkenFrameMirrorHor(pMovie->ppFrames[i]); |
989 | 936 |
} |
990 | 937 |
|
991 |
-void BlinkenMovieMirrorVer(stBlinkenMovie *pMovie) |
|
992 |
-{ |
|
938 |
+void BlinkenMovieMirrorVer(stBlinkenMovie *pMovie) { |
|
993 | 939 |
int i; |
994 | 940 |
|
995 | 941 |
if (pMovie == NULL) |
... | ... |
@@ -999,8 +945,7 @@ void BlinkenMovieMirrorVer(stBlinkenMovie *pMovie) |
999 | 945 |
BlinkenFrameMirrorVer(pMovie->ppFrames[i]); |
1000 | 946 |
} |
1001 | 947 |
|
1002 |
-void BlinkenMovieMirrorDiag(stBlinkenMovie *pMovie) |
|
1003 |
-{ |
|
948 |
+void BlinkenMovieMirrorDiag(stBlinkenMovie *pMovie) { |
|
1004 | 949 |
int tmp, i; |
1005 | 950 |
|
1006 | 951 |
if (pMovie == NULL) |
... | ... |
@@ -1014,8 +959,7 @@ void BlinkenMovieMirrorDiag(stBlinkenMovie *pMovie) |
1014 | 959 |
BlinkenFrameMirrorDiag(pMovie->ppFrames[i]); |
1015 | 960 |
} |
1016 | 961 |
|
1017 |
-void BlinkenMovieMirrorDiag2(stBlinkenMovie *pMovie) |
|
1018 |
-{ |
|
962 |
+void BlinkenMovieMirrorDiag2(stBlinkenMovie *pMovie) { |
|
1019 | 963 |
int tmp, i; |
1020 | 964 |
|
1021 | 965 |
if (pMovie == NULL) |
... | ... |
@@ -1029,8 +973,7 @@ void BlinkenMovieMirrorDiag2(stBlinkenMovie *pMovie) |
1029 | 973 |
BlinkenFrameMirrorDiag2(pMovie->ppFrames[i]); |
1030 | 974 |
} |
1031 | 975 |
|
1032 |
-char *BlinkenMovieToString(stBlinkenMovie *pMovie) |
|
1033 |
-{ |
|
976 |
+char *BlinkenMovieToString(stBlinkenMovie *pMovie) { |
|
1034 | 977 |
char **strs, *str, *ptr; |
1035 | 978 |
int i, size; |
1036 | 979 |
|
... | ... |
@@ -1053,8 +996,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) |
1053 | 996 |
|
1054 | 997 |
size = 128; |
1055 | 998 |
for (i = 0; i < pMovie->infoCnt; i++) |
1056 |
- size += |
|
1057 |
- strlen(pMovie->pppInfos[i][0]) + strlen(pMovie->pppInfos[i][1]) + 8; |
|
999 |
+ size += strlen(pMovie->pppInfos[i][0]) + strlen(pMovie->pppInfos[i][1]) + 8; |
|
1058 | 1000 |
for (i = 0; i < pMovie->frameCnt; i++) |
1059 | 1001 |
size += strlen(strs[i]) + 32; |
1060 | 1002 |
|
... | ... |
@@ -1087,8 +1029,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) |
1087 | 1029 |
return str; |
1088 | 1030 |
} |
1089 | 1031 |
|
1090 |
-stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) |
|
1091 |
-{ |
|
1032 |
+stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) { |
|
1092 | 1033 |
FILE *pFile; |
1093 | 1034 |
stBlinkenMovie *pMovie; |
1094 | 1035 |
stBlinkenFrame *pFrame; |
... | ... |
@@ -1121,11 +1062,11 @@ stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) |
1121 | 1062 |
// read frames |
1122 | 1063 |
while (!feof(pFile)) { |
1123 | 1064 |
// skip rest of previous line (including newline) |
1124 |
- while ((chr = fgetc(pFile)) != '\n' && chr != EOF) ; |
|
1065 |
+ while ((chr = fgetc(pFile)) != '\n' && chr != EOF) |
|
1066 |
+ ; |
|
1125 | 1067 |
|
1126 | 1068 |
// info line |
1127 |
- if (fscanf |
|
1128 |
- (pFile, " # %255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1069 |
+ if (fscanf(pFile, " # %255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1129 | 1070 |
infoData) == 2) { |
1130 | 1071 |
BlinkenMovieAppendInfo(pMovie, infoType, infoData); |
1131 | 1072 |
} |
... | ... |
@@ -1163,8 +1104,7 @@ stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) |
1163 | 1104 |
return pMovie; |
1164 | 1105 |
} |
1165 | 1106 |
|
1166 |
-stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) |
|
1167 |
-{ |
|
1107 |
+stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) { |
|
1168 | 1108 |
FILE *pFile; |
1169 | 1109 |
stBlinkenMovie *pMovie; |
1170 | 1110 |
stBlinkenFrame *pFrame; |
... | ... |
@@ -1197,11 +1137,11 @@ stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) |
1197 | 1137 |
// read frames |
1198 | 1138 |
while (!feof(pFile)) { |
1199 | 1139 |
// skip rest of previous line (including newline) |
1200 |
- while ((chr = fgetc(pFile)) != '\n' && chr != EOF) ; |
|
1140 |
+ while ((chr = fgetc(pFile)) != '\n' && chr != EOF) |
|
1141 |
+ ; |
|
1201 | 1142 |
|
1202 | 1143 |
// info line |
1203 |
- if (fscanf |
|
1204 |
- (pFile, " # %255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1144 |
+ if (fscanf(pFile, " # %255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1205 | 1145 |
infoData) == 2) { |
1206 | 1146 |
BlinkenMovieAppendInfo(pMovie, infoType, infoData); |
1207 | 1147 |
} |
... | ... |
@@ -1243,8 +1183,7 @@ stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) |
1243 | 1183 |
return pMovie; |
1244 | 1184 |
} |
1245 | 1185 |
|
1246 |
-stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) |
|
1247 |
-{ |
|
1186 |
+stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) { |
|
1248 | 1187 |
FILE *pFile; |
1249 | 1188 |
stBlinkenMovie *pMovie; |
1250 | 1189 |
stBlinkenFrame *pFrame; |
... | ... |
@@ -1330,8 +1269,7 @@ stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) |
1330 | 1269 |
// description tag |
1331 | 1270 |
else if (fscanf(pFile, "description>%2047[^<]", buffer) == 1) { |
1332 | 1271 |
// check if generic info |
1333 |
- if (sscanf |
|
1334 |
- (buffer, "%255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1272 |
+ if (sscanf(buffer, "%255[A-Za-z0-9] %*[=:] %1023[^\n]", infoType, |
|
1335 | 1273 |
infoData) == 2) |
1336 | 1274 |
// add info to movie |
1337 | 1275 |
BlinkenMovieAppendInfo(pMovie, infoType, infoData); |
... | ... |
@@ -1410,8 +1348,7 @@ stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) |
1410 | 1348 |
return pMovie; |
1411 | 1349 |
} |
1412 | 1350 |
|
1413 |
-stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
|
1414 |
-{ |
|
1351 |
+stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) { |
|
1415 | 1352 |
FILE *pFile; |
1416 | 1353 |
stBlinkenMovie *pMovie; |
1417 | 1354 |
stBlinkenFrame *pFrame; |
... | ... |
@@ -1437,15 +1374,15 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1437 | 1374 |
fclose(pFile); |
1438 | 1375 |
return NULL; |
1439 | 1376 |
} |
1440 |
- headerMagic = |
|
1441 |
- (unsigned long)header[0] << 24 | (unsigned long)header[1] << 16 | |
|
1442 |
- (unsigned long)header[2] << 8 | (unsigned long)header[3]; |
|
1377 |
+ headerMagic = (unsigned long)header[0] << 24 | |
|
1378 |
+ (unsigned long)header[1] << 16 | (unsigned long)header[2] << 8 | |
|
1379 |
+ (unsigned long)header[3]; |
|
1443 | 1380 |
headerHeight = (unsigned short)header[4] << 8 | (unsigned short)header[5]; |
1444 | 1381 |
headerWidth = (unsigned short)header[6] << 8 | (unsigned short)header[7]; |
1445 | 1382 |
headerChannels = (unsigned short)header[8] << 8 | (unsigned short)header[9]; |
1446 | 1383 |
headerMaxval = (unsigned short)header[10] << 8 | (unsigned short)header[11]; |
1447 |
- headerFramePtr = |
|
1448 |
- (unsigned long)header[20] << 24 | (unsigned long)header[21] << 16 | |
|
1384 |
+ headerFramePtr = (unsigned long)header[20] << 24 | |
|
1385 |
+ (unsigned long)header[21] << 16 | |
|
1449 | 1386 |
(unsigned long)header[22] << 8 | (unsigned long)header[23]; |
1450 | 1387 |
// check magic |
1451 | 1388 |
if (headerMagic != 0x23542666) { |
... | ... |
@@ -1454,8 +1391,7 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1454 | 1391 |
} |
1455 | 1392 |
// allocate a new movie |
1456 | 1393 |
pMovie = |
1457 |
- BlinkenMovieNew(headerHeight, headerWidth, headerChannels, |
|
1458 |
- headerMaxval); |
|
1394 |
+ BlinkenMovieNew(headerHeight, headerWidth, headerChannels, headerMaxval); |
|
1459 | 1395 |
if (pMovie == NULL) { |
1460 | 1396 |
fclose(pFile); |
1461 | 1397 |
return NULL; |
... | ... |
@@ -1468,14 +1404,14 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1468 | 1404 |
return NULL; |
1469 | 1405 |
} |
1470 | 1406 |
subHeaderMagic = |
1471 |
- (unsigned long)subHeader[0] << 24 | (unsigned long)subHeader[1] << 16 |
|
1472 |
- | (unsigned long)subHeader[2] << 8 | (unsigned long)subHeader[3]; |
|
1407 |
+ (unsigned long)subHeader[0] << 24 | (unsigned long)subHeader[1] << 16 | |
|
1408 |
+ (unsigned long)subHeader[2] << 8 | (unsigned long)subHeader[3]; |
|
1473 | 1409 |
subHeaderSize = |
1474 | 1410 |
(unsigned short)subHeader[4] << 8 | (unsigned short)subHeader[5]; |
1475 | 1411 |
|
1476 | 1412 |
// header fits into gap to frame start |
1477 |
- if (subHeaderSize >= 6 |
|
1478 |
- && ftell(pFile) + subHeaderSize - 6 <= (long)headerFramePtr) { |
|
1413 |
+ if (subHeaderSize >= 6 && |
|
1414 |
+ ftell(pFile) + subHeaderSize - 6 <= (long)headerFramePtr) { |
|
1479 | 1415 |
// info header |
1480 | 1416 |
if (subHeaderMagic == 0x696E666F) // 'i' 'n' 'f' 'o' |
1481 | 1417 |
{ |
... | ... |
@@ -1494,8 +1430,8 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1494 | 1430 |
return NULL; |
1495 | 1431 |
} |
1496 | 1432 |
// parse information |
1497 |
- if ((pInfoHeaderX = |
|
1498 |
- memchr(pInfoHeader, 0, subHeaderSize - 6)) != NULL) { |
|
1433 |
+ if ((pInfoHeaderX = memchr(pInfoHeader, 0, subHeaderSize - 6)) != |
|
1434 |
+ NULL) { |
|
1499 | 1435 |
pInfoHeaderX++; |
1500 | 1436 |
len = pInfoHeaderX - pInfoHeader; |
1501 | 1437 |
if (memchr(pInfoHeaderX, 0, subHeaderSize - 6 - len) != NULL) |
... | ... |
@@ -1520,9 +1456,9 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1520 | 1456 |
fclose(pFile); |
1521 | 1457 |
return NULL; |
1522 | 1458 |
} |
1523 |
- frameStartMarkerMagic = |
|
1524 |
- (unsigned long)frameStartMarker[0] << 24 | (unsigned long) |
|
1525 |
- frameStartMarker[1] << 16 | (unsigned long)frameStartMarker[2] << 8 | |
|
1459 |
+ frameStartMarkerMagic = (unsigned long)frameStartMarker[0] << 24 | |
|
1460 |
+ (unsigned long)frameStartMarker[1] << 16 | |
|
1461 |
+ (unsigned long)frameStartMarker[2] << 8 | |
|
1526 | 1462 |
(unsigned long)frameStartMarker[3]; |
1527 | 1463 |
if (frameStartMarkerMagic != 0x66726D73) // 'f' 'r' 'm' 's' |
1528 | 1464 |
{ |
... | ... |
@@ -1546,8 +1482,7 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1546 | 1482 |
duration = |
1547 | 1483 |
(unsigned short)pFrameData[0] << 8 | (unsigned short)pFrameData[1]; |
1548 | 1484 |
// build frame and append it to movie |
1549 |
- pFrame = |
|
1550 |
- BlinkenFrameNew(headerHeight, headerWidth, headerChannels, |
|
1485 |
+ pFrame = BlinkenFrameNew(headerHeight, headerWidth, headerChannels, |
|
1551 | 1486 |
headerMaxval, duration); |
1552 | 1487 |
if (pFrame == NULL) |
1553 | 1488 |
break; |
... | ... |
@@ -1574,8 +1509,7 @@ stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) |
1574 | 1509 |
|
1575 | 1510 |
#ifdef BLINKENLIB_CFG_MNG |
1576 | 1511 |
|
1577 |
-stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename) |
|
1578 |
-{ |
|
1512 |
+stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename) { |
|
1579 | 1513 |
return BlinkenMngLoad(pFilename); |
1580 | 1514 |
} |
1581 | 1515 |
|
... | ... |
@@ -1583,15 +1517,13 @@ stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename) |
1583 | 1517 |
|
1584 | 1518 |
#ifdef BLINKENLIB_CFG_GIF |
1585 | 1519 |
|
1586 |
-stBlinkenMovie *BlinkenMovieLoadGif(const char *pFilename) |
|
1587 |
-{ |
|
1520 |
+stBlinkenMovie *BlinkenMovieLoadGif(const char *pFilename) { |
|
1588 | 1521 |
return BlinkenGifLoad(pFilename); |
1589 | 1522 |
} |
1590 | 1523 |
|
1591 | 1524 |
#endif // #ifdef BLINKENLIB_CFG_GIF |
1592 | 1525 |
|
1593 |
-stBlinkenMovie *BlinkenMovieLoad(const char *pFilename) |
|
1594 |
-{ |
|
1526 |
+stBlinkenMovie *BlinkenMovieLoad(const char *pFilename) { |
|
1595 | 1527 |
int len; |
1596 | 1528 |
|
1597 | 1529 |
if (pFilename == NULL) |
... | ... |
@@ -1617,8 +1549,7 @@ stBlinkenMovie *BlinkenMovieLoad(const char *pFilename) |
1617 | 1549 |
return NULL; |
1618 | 1550 |
} |
1619 | 1551 |
|
1620 |
-int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1621 |
-{ |
|
1552 |
+int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1622 | 1553 |
stBlinkenMovie *pOutMovie; |
1623 | 1554 |
FILE *pFile; |
1624 | 1555 |
int i, y, x; |
... | ... |
@@ -1649,8 +1580,7 @@ int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) |
1649 | 1580 |
|
1650 | 1581 |
// write frames |
1651 | 1582 |
for (i = 0; i < pOutMovie->frameCnt; i++) { |
1652 |
- fprintf(pFile, "\n@%u\n", |
|
1653 |
- BlinkenFrameGetDuration(pOutMovie->ppFrames[i])); |
|
1583 |
+ fprintf(pFile, "\n@%u\n", BlinkenFrameGetDuration(pOutMovie->ppFrames[i])); |
|
1654 | 1584 |
for (y = 0; y < pOutMovie->height; y++) { |
1655 | 1585 |
for (x = 0; x < pOutMovie->width; x++) { |
1656 | 1586 |
if (BlinkenFrameGetPixel(pOutMovie->ppFrames[i], y, x, 0) != 0) |
... | ... |
@@ -1672,8 +1602,7 @@ int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) |
1672 | 1602 |
return 0; |
1673 | 1603 |
} |
1674 | 1604 |
|
1675 |
-int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1676 |
-{ |
|
1605 |
+int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1677 | 1606 |
stBlinkenMovie *pOutMovie; |
1678 | 1607 |
FILE *pFile; |
1679 | 1608 |
int i, y, x; |
... | ... |
@@ -1704,8 +1633,7 @@ int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) |
1704 | 1633 |
|
1705 | 1634 |
// write frames |
1706 | 1635 |
for (i = 0; i < pOutMovie->frameCnt; i++) { |
1707 |
- fprintf(pFile, "\n@%u\n", |
|
1708 |
- BlinkenFrameGetDuration(pOutMovie->ppFrames[i])); |
|
1636 |
+ fprintf(pFile, "\n@%u\n", BlinkenFrameGetDuration(pOutMovie->ppFrames[i])); |
|
1709 | 1637 |
for (y = 0; y < pOutMovie->height; y++) { |
1710 | 1638 |
fprintf(pFile, "0x%02X", |
1711 | 1639 |
BlinkenFrameGetPixel(pOutMovie->ppFrames[i], y, 0, 0)); |
... | ... |
@@ -1726,8 +1654,7 @@ int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) |
1726 | 1654 |
return 0; |
1727 | 1655 |
} |
1728 | 1656 |
|
1729 |
-int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) |
|
1730 |
-{ |
|
1657 |
+int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1731 | 1658 |
stBlinkenMovie *pOutMovie; |
1732 | 1659 |
FILE *pFile; |
1733 | 1660 |
int bits, val, i, y, x, c; |
... | ... |
@@ -1740,7 +1667,8 @@ int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) |
1740 | 1667 |
if (pOutMovie == NULL) |
1741 | 1668 |
return -1; |
1742 | 1669 |
val = pOutMovie->maxval; // get number of bits |
1743 |
- for (bits = 0; val != 0; val >>= 1, bits++) ; |
|
1670 |
+ for (bits = 0; val != 0; val >>= 1, bits++) |
|
1671 |
+ ; |
|
1744 | 1672 |
BlinkenMovieResize(pOutMovie, pOutMovie->height, pOutMovie->width, |
1745 | 1673 |
pOutMovie->channels, (1 << bits) - 1); |
1746 | 1674 |
|
... | ... |
@@ -1767,8 +1695,7 @@ int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) |
1767 | 1695 |
fprintf(pFile, "\t\t<description>%s</description>\n", |
1768 | 1696 |
pOutMovie->pppInfos[i][1]); |
1769 | 1697 |
else if (strcmp(pOutMovie->pppInfos[i][0], "creator") == 0) |
1770 |
- fprintf(pFile, "\t\t<creator>%s</creator>\n", |
|
1771 |
- pOutMovie->pppInfos[i][1]); |
|
1698 |
+ fprintf(pFile, "\t\t<creator>%s</creator>\n", pOutMovie->pppInfos[i][1]); |
|
1772 | 1699 |
else if (strcmp(pOutMovie->pppInfos[i][0], "author") == 0) |
1773 | 1700 |
fprintf(pFile, "\t\t<author>%s</author>\n", pOutMovie->pppInfos[i][1]); |
1774 | 1701 |
else if (strcmp(pOutMovie->pppInfos[i][0], "email") == 0) |
... | ... |
@@ -1809,12 +1736,10 @@ int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) |
1809 | 1736 |
return 0; |
1810 | 1737 |
} |
1811 | 1738 |
|
1812 |
-int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) |
|
1813 |
-{ |
|
1739 |
+int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1814 | 1740 |
unsigned char *pFrameData; |
1815 | 1741 |
FILE *pFile; |
1816 |
- unsigned char header[24], infoHeader[6], framePointer[4], |
|
1817 |
- frameStartMarker[4]; |
|
1742 |
+ unsigned char header[24], infoHeader[6], framePointer[4], frameStartMarker[4]; |
|
1818 | 1743 |
int duration, len, len0, len1, i, j, y, x, c, val; |
1819 | 1744 |
long pos; |
1820 | 1745 |
|
... | ... |
@@ -1822,9 +1747,7 @@ int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) |
1822 | 1747 |
return -1; |
1823 | 1748 |
|
1824 | 1749 |
// allocate frame data buffer |
1825 |
- pFrameData = |
|
1826 |
- (unsigned char *)malloc(2 + |
|
1827 |
- pMovie->height * pMovie->width * |
|
1750 |
+ pFrameData = (unsigned char *)malloc(2 + pMovie->height * pMovie->width * |
|
1828 | 1751 |
pMovie->channels); |
1829 | 1752 |
if (pFrameData == NULL) |
1830 | 1753 |
return -1; |
... | ... |
@@ -1928,8 +1851,7 @@ int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) |
1928 | 1851 |
|
1929 | 1852 |
#ifdef BLINKENLIB_CFG_MNG |
1930 | 1853 |
|
1931 |
-int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename) |
|
1932 |
-{ |
|
1854 |
+int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1933 | 1855 |
return BlinkenMngSave(pMovie, pFilename); |
1934 | 1856 |
} |
1935 | 1857 |
|
... | ... |
@@ -1937,15 +1859,13 @@ int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename) |
1937 | 1859 |
|
1938 | 1860 |
#ifdef BLINKENLIB_CFG_GIF |
1939 | 1861 |
|
1940 |
-int BlinkenMovieSaveGif(stBlinkenMovie *pMovie, const char *pFilename) |
|
1941 |
-{ |
|
1862 |
+int BlinkenMovieSaveGif(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1942 | 1863 |
return BlinkenGifSave(pMovie, pFilename); |
1943 | 1864 |
} |
1944 | 1865 |
|
1945 | 1866 |
#endif // #ifdef BLINKENLIB_CFG_GIF |
1946 | 1867 |
|
1947 |
-int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename) |
|
1948 |
-{ |
|
1868 |
+int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename) { |
|
1949 | 1869 |
int len; |
1950 | 1870 |
|
1951 | 1871 |
if (pMovie == NULL || pFilename == NULL) |
... | ... |
@@ -1981,8 +1901,7 @@ void BlinkenMovieSend(stBlinkenMovie *pMovie, SOCKET udpSocket, |
1981 | 1901 |
char buffer[65536]; // 64kB is more than maximum UDP size |
1982 | 1902 |
|
1983 | 1903 |
for (i = 0; i < pMovie->frameCnt; i++) { |
1984 |
- len = |
|
1985 |
- BlinkenFrameToNetwork(pMovie->ppFrames[i], proto, buffer, |
|
1904 |
+ len = BlinkenFrameToNetwork(pMovie->ppFrames[i], proto, buffer, |
|
1986 | 1905 |
sizeof(buffer)); |
1987 | 1906 |
duration = BlinkenFrameGetDuration(pMovie->ppFrames[i]); |
1988 | 1907 |
if (len > 0) { |
... | ... |
@@ -2048,10 +1967,9 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
2048 | 1967 |
// no movie yet |
2049 | 1968 |
if (pMovie == NULL) { |
2050 | 1969 |
// allocate a new movie |
2051 |
- pMovie = BlinkenMovieNew(BlinkenFrameGetHeight(pFrame), |
|
2052 |
- BlinkenFrameGetWidth(pFrame), |
|
2053 |
- BlinkenFrameGetChannels(pFrame), |
|
2054 |
- BlinkenFrameGetMaxval(pFrame)); |
|
1970 |
+ pMovie = BlinkenMovieNew( |
|
1971 |
+ BlinkenFrameGetHeight(pFrame), BlinkenFrameGetWidth(pFrame), |
|
1972 |
+ BlinkenFrameGetChannels(pFrame), BlinkenFrameGetMaxval(pFrame)); |
|
2055 | 1973 |
if (pMovie == NULL) { |
2056 | 1974 |
BlinkenFrameFree(pFrame); |
2057 | 1975 |
break; |
... | ... |
@@ -2059,8 +1977,8 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, |
2059 | 1977 |
} |
2060 | 1978 |
// ignore frame if it is equal to last one |
2061 | 1979 |
if (pMovie->frameCnt > 0) { |
2062 |
- if (BlinkenFrameCompare |
|
2063 |
- (pFrame, pMovie->ppFrames[pMovie->frameCnt - 1]) == 0) { |
|
1980 |
+ if (BlinkenFrameCompare( |
|
1981 |
+ pFrame, pMovie->ppFrames[pMovie->frameCnt - 1]) == 0) { |
|
2064 | 1982 |
BlinkenFrameFree(pFrame); |
2065 | 1983 |
continue; |
2066 | 1984 |
} |
... | ... |
@@ -5,13 +5,13 @@ |
5 | 5 |
|
6 | 6 |
#include <string.h> |
7 | 7 |
#ifdef WIN32 |
8 |
-#include <winsock2.h> |
|
9 | 8 |
#include <windows.h> |
9 |
+#include <winsock2.h> |
|
10 | 10 |
typedef WORD uint16_t; |
11 | 11 |
typedef DWORD uint32_t; |
12 | 12 |
#else |
13 |
-#include <stdint.h> |
|
14 | 13 |
#include <netinet/in.h> |
14 |
+#include <stdint.h> |
|
15 | 15 |
#endif |
16 | 16 |
|
17 | 17 |
#include <BlinkenLib/BlinkenProto.h> |
... | ... |
@@ -131,8 +131,7 @@ int BlinkenProtoMakePacket(etBlinkenProto proto, etBlinkenPacket packet, |
131 | 131 |
} |
132 | 132 |
|
133 | 133 |
void BlinkenProtoDetectPacket(const char *pData, int length, |
134 |
- etBlinkenProto * pProto, |
|
135 |
- etBlinkenPacket * pPacket) |
|
134 |
+ etBlinkenProto *pProto, etBlinkenPacket *pPacket) |
|
136 | 135 |
// returns protocol in *pProto if pProto not NULL |
137 | 136 |
// returns packet type in *pPacket if pPacket not NULL |
138 | 137 |
{ |
... | ... |
@@ -161,28 +160,32 @@ void BlinkenProtoDetectPacket(const char *pData, int length, |
161 | 160 |
} |
162 | 161 |
break; |
163 | 162 |
case BlinkenProtoBlpReqMagic: |
164 |
- if (length >= (int)sizeof(magic) + 10 && !memcmp(pData + sizeof(magic), "REFRESH256", 10)) { |
|
163 |
+ if (length >= (int)sizeof(magic) + 10 && |
|
164 |
+ !memcmp(pData + sizeof(magic), "REFRESH256", 10)) { |
|
165 | 165 |
if (pProto) |
166 | 166 |
*pProto = BlinkenProtoEblp; |
167 | 167 |
if (pPacket) |
168 | 168 |
*pPacket = BlinkenPacketRequest; |
169 | 169 |
return; |
170 | 170 |
} |
171 |
- if (length >= (int)sizeof(magic) + 8 && !memcmp(pData + sizeof(magic), "CLOSE256", 8)) { |
|
171 |
+ if (length >= (int)sizeof(magic) + 8 && |
|
172 |
+ !memcmp(pData + sizeof(magic), "CLOSE256", 8)) { |
|
172 | 173 |
if (pProto) |
173 | 174 |
*pProto = BlinkenProtoEblp; |
174 | 175 |
if (pPacket) |
175 | 176 |
*pPacket = BlinkenPacketEndRequest; |
176 | 177 |
return; |
177 | 178 |
} |
178 |
- if (length >= (int)sizeof(magic) + 7 && !memcmp(pData + sizeof(magic), "REFRESH", 7)) { |
|
179 |
+ if (length >= (int)sizeof(magic) + 7 && |
|
180 |
+ !memcmp(pData + sizeof(magic), "REFRESH", 7)) { |
|
179 | 181 |
if (pProto) |
180 | 182 |
*pProto = BlinkenProtoBlp; |
181 | 183 |
if (pPacket) |
182 | 184 |
*pPacket = BlinkenPacketRequest; |
183 | 185 |
return; |
184 | 186 |
} |
185 |
- if (length >= (int)sizeof(magic) + 5 && !memcmp(pData + sizeof(magic), "CLOSE", 5)) { |
|
187 |
+ if (length >= (int)sizeof(magic) + 5 && |
|
188 |
+ !memcmp(pData + sizeof(magic), "CLOSE", 5)) { |
|
186 | 189 |
if (pProto) |
187 | 190 |
*pProto = BlinkenProtoBlp; |
188 | 191 |
if (pPacket) |
... | ... |
@@ -7,8 +7,7 @@ |
7 | 7 |
|
8 | 8 |
#include "Tools.h" |
9 | 9 |
|
10 |
-void *BlinkenMalloc1D(int count1, int size) |
|
11 |
-{ |
|
10 |
+void *BlinkenMalloc1D(int count1, int size) { |
|
12 | 11 |
if (count1 < 1) |
13 | 12 |
count1 = 1; |
14 | 13 |
if (size < 1) |
... | ... |
@@ -17,8 +16,7 @@ void *BlinkenMalloc1D(int count1, int size) |
17 | 16 |
return malloc(count1 * size); |
18 | 17 |
} |
19 | 18 |
|
20 |
-void **BlinkenMalloc2D(int count1, int count2, int size) |
|
21 |
-{ |
|
19 |
+void **BlinkenMalloc2D(int count1, int count2, int size) { |
|
22 | 20 |
int sz, i; |
23 | 21 |
char *p; |
24 | 22 |
void **ptr; |
... | ... |
@@ -19,12 +19,17 @@ |
19 | 19 |
* @param[in] str_duration duration of each frame in ms (as string) |
20 | 20 |
*/ |
21 | 21 |
static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
22 |
- const char *str_mode, const char *str_duration) |
|
23 |
-{ |
|
22 |
+ const char *str_mode, const char *str_duration) { |
|
24 | 23 |
unsigned int height, width, channels, colors; |
25 | 24 |
enum { |
26 |
- ModeNone, ModeBlack, ModeWhite, ModeGradient, |
|
27 |
- ModeDots, ModeLines, ModeTrans, ModeRainbow, |
|
25 |
+ ModeNone, |
|
26 |
+ ModeBlack, |
|
27 |
+ ModeWhite, |
|
28 |
+ ModeGradient, |
|
29 |
+ ModeDots, |
|
30 |
+ ModeLines, |
|
31 |
+ ModeTrans, |
|
32 |
+ ModeRainbow, |
|
28 | 33 |
} mode = ModeNone; |
29 | 34 |
int fmt_ok, append, duration; |
30 | 35 |
|
... | ... |
@@ -43,8 +48,8 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
43 | 48 |
append = 1; |
44 | 49 |
} |
45 | 50 |
} else { |
46 |
- fmt_ok = sscanf(str_format, "%ux%u-%u/%u", |
|
47 |
- &width, &height, &channels, &colors) == 4; |
|
51 |
+ fmt_ok = sscanf(str_format, "%ux%u-%u/%u", &width, &height, &channels, |
|
52 |
+ &colors) == 4; |
|
48 | 53 |
append = 0; |
49 | 54 |
} |
50 | 55 |
// mode |
... | ... |
@@ -96,9 +101,7 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
96 | 101 |
break; |
97 | 102 |
|
98 | 103 |
case ModeBlack: |
99 |
- pFrame = |
|
100 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
101 |
- duration); |
|
104 |
+ pFrame = BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
102 | 105 |
for (yy = 0; yy < height; yy++) |
103 | 106 |
for (xx = 0; xx < width; xx++) |
104 | 107 |
for (cc = 0; cc < channels; cc++) |
... | ... |
@@ -107,9 +110,7 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
107 | 110 |
break; |
108 | 111 |
|
109 | 112 |
case ModeWhite: |
110 |
- pFrame = |
|
111 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
112 |
- duration); |
|
113 |
+ pFrame = BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
113 | 114 |
for (yy = 0; yy < height; yy++) |
114 | 115 |
for (xx = 0; xx < width; xx++) |
115 | 116 |
for (cc = 0; cc < channels; cc++) |
... | ... |
@@ -118,19 +119,29 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
118 | 119 |
break; |
119 | 120 |
|
120 | 121 |
case ModeGradient: |
121 |
- pFrame = |
|
122 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
123 |
- duration); |
|
122 |
+ pFrame = BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
124 | 123 |
for (yy = 0; yy < height; yy++) { |
125 | 124 |
fy = (float)yy / (float)(height - 1); |
126 | 125 |
for (xx = 0; xx < width; xx++) { |
127 | 126 |
fx = (float)xx / (float)(width - 1); |
128 | 127 |
for (cc = 0, ccc = 0; cc < channels; cc++) { |
129 | 128 |
switch (ccc) { |
130 |
- case 0: fc = fx; ccc = 1; break; |
|
131 |
- case 1: fc = fy; ccc = 2; break; |
|
132 |
- case 2: fc = 1.0f - 0.5f * (fx + fy); ccc = 0; break; |
|
133 |
- default: fc = 0.0f; ccc = 0; break; |
|
129 |
+ case 0: |
|
130 |
+ fc = fx; |
|
131 |
+ ccc = 1; |
|
132 |
+ break; |
|
133 |
+ case 1: |
|
134 |
+ fc = fy; |
|
135 |
+ ccc = 2; |
|
136 |
+ break; |
|
137 |
+ case 2: |
|
138 |
+ fc = 1.0f - 0.5f * (fx + fy); |
|
139 |
+ ccc = 0; |
|
140 |
+ break; |
|
141 |
+ default: |
|
142 |
+ fc = 0.0f; |
|
143 |
+ ccc = 0; |
|
144 |
+ break; |
|
134 | 145 |
} |
135 | 146 |
BlinkenFrameSetPixel(pFrame, yy, xx, cc, |
136 | 147 |
(int)(fc * (float)(colors - 1) + .5f)); |
... | ... |
@@ -144,15 +155,14 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
144 | 155 |
for (c = 0; c < channels; c++) |
145 | 156 |
for (y = 0; y < height; y++) |
146 | 157 |
for (x = 0; x < width; x++) { |
147 |
- pFrame = |
|
148 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
158 |
+ pFrame = BlinkenFrameNew(height, width, channels, colors - 1, |
|
149 | 159 |
duration); |
150 | 160 |
for (yy = 0; yy < height; yy++) |
151 | 161 |
for (xx = 0; xx < width; xx++) |
152 | 162 |
for (cc = 0; cc < channels; cc++) |
153 |
- BlinkenFrameSetPixel(pFrame, yy, xx, cc, |
|
154 |
- yy == y && xx == x |
|
155 |
- && cc == c ? colors - 1 : 0); |
|
163 |
+ BlinkenFrameSetPixel( |
|
164 |
+ pFrame, yy, xx, cc, |
|
165 |
+ yy == y && xx == x && cc == c ? colors - 1 : 0); |
|
156 | 166 |
BlinkenMovieAppendFrame(*ppMovie, pFrame); |
157 | 167 |
} |
158 | 168 |
break; |
... | ... |
@@ -161,8 +171,7 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
161 | 171 |
for (c = 0; c < channels; c++) { |
162 | 172 |
for (x = 0; x < width; x++) { |
163 | 173 |
pFrame = |
164 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
165 |
- duration); |
|
174 |
+ BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
166 | 175 |
for (yy = 0; yy < height; yy++) |
167 | 176 |
for (xx = 0; xx < width; xx++) |
168 | 177 |
for (cc = 0; cc < channels; cc++) |
... | ... |
@@ -172,8 +181,7 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
172 | 181 |
} |
173 | 182 |
for (y = 0; y < height; y++) { |
174 | 183 |
pFrame = |
175 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
176 |
- duration); |
|
184 |
+ BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
177 | 185 |
for (yy = 0; yy < height; yy++) |
178 | 186 |
for (xx = 0; xx < width; xx++) |
179 | 187 |
for (cc = 0; cc < channels; cc++) |
... | ... |
@@ -189,14 +197,16 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
189 | 197 |
for (b = 0; b < 2; b++) |
190 | 198 |
for (c2 = 0; c2 < channels; c2++) |
191 | 199 |
for (o = 0; o < colors - 1; o++) { |
192 |
- pFrame = |
|
193 |
- BlinkenFrameNew(height, width, channels, colors - 1, |
|
200 |
+ pFrame = BlinkenFrameNew(height, width, channels, colors - 1, |
|
194 | 201 |
duration); |
195 | 202 |
for (cc = 0; cc < channels; cc++) { |
196 | 203 |
c3 = (cc + channels - c) % channels; |
197 |
- oo = b ? (c3 < c2 ? 0 : c3 > |
|
198 |
- c2 ? colors - 1 : colors - 1 - o) |
|
199 |
- : (c3 < c2 ? colors - 1 : c3 > c2 ? 0 : o); |
|
204 |
+ oo = b ? (c3 < c2 ? 0 |
|
205 |
+ : c3 > c2 ? colors - 1 |
|
206 |
+ : colors - 1 - o) |
|
207 |
+ : (c3 < c2 ? colors - 1 |
|
208 |
+ : c3 > c2 ? 0 |
|
209 |
+ : o); |
|
200 | 210 |
for (yy = 0; yy < height; yy++) |
201 | 211 |
for (xx = 0; xx < width; xx++) |
202 | 212 |
BlinkenFrameSetPixel(pFrame, yy, xx, cc, oo); |
... | ... |
@@ -207,30 +217,64 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
207 | 217 |
|
208 | 218 |
case ModeRainbow: |
209 | 219 |
for (b = 0; b < width * height; b++) { |
210 |
- pFrame = BlinkenFrameNew(height, width, channels, |
|
211 |
- colors - 1, duration); |
|
220 |
+ pFrame = |
|
221 |
+ BlinkenFrameNew(height, width, channels, colors - 1, duration); |
|
212 | 222 |
for (yy = 0; yy < height; yy++) { |
213 | 223 |
for (xx = 0; xx < width; xx++) { |
214 | 224 |
for (cc = 0; cc < channels; cc++) { |
215 | 225 |
y = b + yy + xx + cc * 8; |
216 | 226 |
switch (y % 24) { |
217 |
- case 0: oo = 0; break; |
|
218 |
- case 1: oo = 1; break; |
|
219 |
- case 2: oo = 2; break; |
|
220 |
- case 3: oo = 3; break; |
|
221 |
- case 4: oo = 4; break; |
|
222 |
- case 5: oo = 4; break; |
|
223 |
- case 6: oo = 4; break; |
|
224 |
- case 7: oo = 4; break; |
|
225 |
- case 8: oo = 4; break; |
|
226 |
- case 9: oo = 4; break; |
|
227 |
- case 10: oo = 4; break; |
|
228 |
- case 11: oo = 4; break; |
|
229 |
- case 12: oo = 4; break; |
|
230 |
- case 13: oo = 3; break; |
|
231 |
- case 14: oo = 2; break; |
|
232 |
- case 15: oo = 1; break; |
|
233 |
- default: oo = 0; break; |
|
227 |
+ case 0: |
|
228 |
+ oo = 0; |
|
229 |
+ break; |
|
230 |
+ case 1: |
|
231 |
+ oo = 1; |
|
232 |
+ break; |
|
233 |
+ case 2: |
|
234 |
+ oo = 2; |
|
235 |
+ break; |
|
236 |
+ case 3: |
|
237 |
+ oo = 3; |
|
238 |
+ break; |
|
239 |
+ case 4: |
|
240 |
+ oo = 4; |
|
241 |
+ break; |
|
242 |
+ case 5: |
|
243 |
+ oo = 4; |
|
244 |
+ break; |
|
245 |
+ case 6: |
|
246 |
+ oo = 4; |
|
247 |
+ break; |
|
248 |
+ case 7: |
|
249 |
+ oo = 4; |
|
250 |
+ break; |
|
251 |
+ case 8: |
|
252 |
+ oo = 4; |
|
253 |
+ break; |
|
254 |
+ case 9: |
|
255 |
+ oo = 4; |
|
256 |
+ break; |
|
257 |
+ case 10: |
|
258 |
+ oo = 4; |
|
259 |
+ break; |
|
260 |
+ case 11: |
|
261 |
+ oo = 4; |
|
262 |
+ break; |
|
263 |
+ case 12: |
|
264 |
+ oo = 4; |
|
265 |
+ break; |
|
266 |
+ case 13: |
|
267 |
+ oo = 3; |
|
268 |
+ break; |
|
269 |
+ case 14: |
|
270 |
+ oo = 2; |
|
271 |
+ break; |
|
272 |
+ case 15: |
|
273 |
+ oo = 1; |
|
274 |
+ break; |
|
275 |
+ default: |
|
276 |
+ oo = 0; |
|
277 |
+ break; |
|
234 | 278 |
} |
235 | 279 |
oo = oo * colors / 4; |
236 | 280 |
if (oo > colors - 1) |
... | ... |
@@ -255,8 +299,7 @@ static void gen_test_movie(stBlinkenMovie **ppMovie, const char *str_format, |
255 | 299 |
|
256 | 300 |
static void copy_rect(stBlinkenMovie *pMovie, char *str_file, |
257 | 301 |
const char *str_src_pos, const char *str_dim, |
258 |
- const char *str_dest_pos) |
|
259 |
-{ |
|
302 |
+ const char *str_dest_pos) { |
|
260 | 303 |
unsigned int sy, sx, h, w, dy, dx; |
261 | 304 |
stBlinkenMovie *pSrcMovie; |
262 | 305 |
|
... | ... |
@@ -275,23 +318,24 @@ static void copy_rect(stBlinkenMovie *pMovie, char *str_file, |
275 | 318 |
|
276 | 319 |
BlinkenMovieCopyRect(pMovie, dy, dx, pSrcMovie, sy, sx, h, w); |
277 | 320 |
BlinkenMovieFree(pSrcMovie); |
278 |
- printf("copied %ux%u pixels from movie \"%s\" %u,%u to %u,%u\n", |
|
279 |
- w, h, str_file, sx, sy, dx, dy ); |
|
280 |
- |
|
321 |
+ printf("copied %ux%u pixels from movie \"%s\" %u,%u to %u,%u\n", w, h, |
|
322 |
+ str_file, sx, sy, dx, dy); |
|
281 | 323 |
} |
282 | 324 |
} |
283 | 325 |
} |
284 | 326 |
|
285 |
-static stBlinkenMovie * scroll(stBlinkenMovie *pMovie, |
|
286 |
- const char * str_direction, |
|
327 |
+static stBlinkenMovie *scroll(stBlinkenMovie *pMovie, const char *str_direction, |
|
287 | 328 |
const char *str_width_height, |
288 |
- const char * str_duration) |
|
289 |
-{ |
|
329 |
+ const char *str_duration) { |
|
290 | 330 |
enum { |
291 |
- DirNone, DirLeft, DirRight, DirUp, DirDown, |
|
331 |
+ DirNone, |
|
332 |
+ DirLeft, |
|
333 |
+ DirRight, |
|
334 |
+ DirUp, |
|
335 |
+ DirDown, |
|
292 | 336 |
} dir = DirNone; |
293 |
- int width_height, duration, height, width, channels, maxval, |
|
294 |
- new_height, new_width, sy, sx, dy, dx, steps, step; |
|
337 |
+ int width_height, duration, height, width, channels, maxval, new_height, |
|
338 |
+ new_width, sy, sx, dy, dx, steps, step; |
|
295 | 339 |
stBlinkenFrame *pScroll, *pFrame; |
296 | 340 |
|
297 | 341 |
// direction |
... | ... |
@@ -388,14 +432,13 @@ static stBlinkenMovie * scroll(stBlinkenMovie *pMovie, |
388 | 432 |
BlinkenFrameFree(pScroll); |
389 | 433 |
|
390 | 434 |
printf("scrolled %ux%u-%u/%u frame to %ux%u-%u/%u movie (direction %s)\n", |
391 |
- width, height, channels, maxval + 1, |
|
392 |
- new_width, new_height, channels, maxval + 1, str_direction); |
|
435 |
+ width, height, channels, maxval + 1, new_width, new_height, channels, |
|
436 |
+ maxval + 1, str_direction); |
|
393 | 437 |
|
394 | 438 |
return pMovie; |
395 | 439 |
} |
396 | 440 |
|
397 |
-int main(int argCnt, char **args) |
|
398 |
-{ |
|
441 |
+int main(int argCnt, char **args) { |
|
399 | 442 |
stBlinkenMovie *pMovie; |
400 | 443 |
int i; |
401 | 444 |
char *str; |
... | ... |
@@ -424,12 +467,15 @@ int main(int argCnt, char **args) |
424 | 467 |
#else |
425 | 468 |
#define GIFEXT |
426 | 469 |
#endif |
427 |
- printf("syntax: %s <parameter> [...]\n\n" |
|
470 |
+ printf( |
|
471 |
+ "syntax: %s <parameter> [...]\n\n" |
|
428 | 472 |
"parameters:\n" |
429 | 473 |
" -i <file>\n" |
430 |
- " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ")\n" |
|
474 |
+ " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT |
|
475 |
+ ")\n" |
|
431 | 476 |
" -a <file>\n" |
432 |
- " append movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ")\n" |
|
477 |
+ " append movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT |
|
478 |
+ ")\n" |
|
433 | 479 |
" -l <number>\n" |
434 | 480 |
" loop video a number of times\n" |
435 | 481 |
" -f\n" |
... | ... |
@@ -477,7 +523,8 @@ int main(int argCnt, char **args) |
477 | 523 |
" -Md2\n" |
478 | 524 |
" mirror movie diagonally (/)\n" |
479 | 525 |
" -o <file>\n" |
480 |
- " write movie to file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ")\n\n" |
|
526 |
+ " write movie to file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT |
|
527 |
+ ")\n\n" |
|
481 | 528 |
"test_modes: black, white, gradient, dots, lines, trans, rainbow\n\n" |
482 | 529 |
"old syntax: %s <input-file> [<output-file>]\n\n", |
483 | 530 |
args[0], args[0]); |
... | ... |
@@ -517,8 +564,7 @@ int main(int argCnt, char **args) |
517 | 564 |
else { |
518 | 565 |
if (BlinkenMovieConcat(pMovie, pMovie2) < 0) { |
519 | 566 |
BlinkenMovieFree(pMovie2); |
520 |
- printf("movie read from \"%s\" could not be appended\n", |
|
521 |
- args[i]); |
|
567 |
+ printf("movie read from \"%s\" could not be appended\n", args[i]); |
|
522 | 568 |
} else |
523 | 569 |
printf("movie \"%s\" read and appended\n", args[i]); |
524 | 570 |
} |
... | ... |
@@ -567,16 +613,14 @@ int main(int argCnt, char **args) |
567 | 613 |
// output format, frame count and duration of movie |
568 | 614 |
else if (strcmp(args[i], "-f") == 0) { |
569 | 615 |
if (pMovie == NULL) |
570 |
- printf |
|
571 |
- ("no movie loaded to output format, frame count and duration of\n"); |
|
616 |
+ printf( |
|
617 |
+ "no movie loaded to output format, frame count and duration of\n"); |
|
572 | 618 |
else |
573 |
- printf |
|
574 |
- ("format: %ux%u-%u/%u\nframe count: %u\nduration: %u ms\n", |
|
619 |
+ printf( |
|
620 |
+ "format: %ux%u-%u/%u\nframe count: %u\nduration: %u ms\n", |
|
575 | 621 |
BlinkenMovieGetWidth(pMovie), BlinkenMovieGetHeight(pMovie), |
576 |
- BlinkenMovieGetChannels(pMovie), |
|
577 |
- BlinkenMovieGetMaxval(pMovie) + 1, |
|
578 |
- BlinkenMovieGetFrameCnt(pMovie), |
|
579 |
- BlinkenMovieGetDuration(pMovie)); |
|
622 |
+ BlinkenMovieGetChannels(pMovie), BlinkenMovieGetMaxval(pMovie) + 1, |
|
623 |
+ BlinkenMovieGetFrameCnt(pMovie), BlinkenMovieGetDuration(pMovie)); |
|
580 | 624 |
} |
581 | 625 |
// print movie |
582 | 626 |
else if (strcmp(args[i], "-p") == 0) { |
... | ... |
@@ -596,8 +640,7 @@ int main(int argCnt, char **args) |
596 | 640 |
else if (strcmp(args[i], "-r") == 0) { |
597 | 641 |
if (i + 1 < argCnt) { |
598 | 642 |
i++; |
599 |
- if (sscanf |
|
600 |
- (args[i], "%ux%u-%u/%u", &width, &height, &channels, |
|
643 |
+ if (sscanf(args[i], "%ux%u-%u/%u", &width, &height, &channels, |
|
601 | 644 |
&colors) != 4) |
602 | 645 |
printf("invalid movie format \"%s\"\n", args[i]); |
603 | 646 |
else if (pMovie == NULL) |
... | ... |
@@ -618,11 +661,9 @@ int main(int argCnt, char **args) |
618 | 661 |
topleft = args[i]; |
619 | 662 |
i++; |
620 | 663 |
dimensions = args[i]; |
621 |
- if (sscanf |
|
622 |
- (topleft, "%u,%u", &left, &top) != 2) |
|
664 |
+ if (sscanf(topleft, "%u,%u", &left, &top) != 2) |
|
623 | 665 |
printf("invalid top-left position \"%s\"\n", topleft); |
624 |
- else if (sscanf |
|
625 |
- (dimensions, "%ux%u", &width, &height) != 2) |
|
666 |
+ else if (sscanf(dimensions, "%ux%u", &width, &height) != 2) |
|
626 | 667 |
printf("invalid movie dimensions \"%s\"\n", dimensions); |
627 | 668 |
else if (pMovie == NULL) |
628 | 669 |
printf("no movie loaded to crop\n"); |
... | ... |
@@ -707,8 +748,7 @@ int main(int argCnt, char **args) |
707 | 748 |
BlinkenMovieCutTime(pMovie, begin, end); |
708 | 749 |
printf("movie cut to time %u-%u\n", begin, end); |
709 | 750 |
} |
710 |
- } |
|
711 |
- else if (i + 1 < argCnt) { |
|
751 |
+ } else if (i + 1 < argCnt) { |
|
712 | 752 |
printf("missing end time for \"-ct\"\n"); |
713 | 753 |
i++; |
714 | 754 |
} else |
... | ... |
@@ -764,8 +804,7 @@ int main(int argCnt, char **args) |
764 | 804 |
printf("no movie loaded to delete frames from\n"); |
765 | 805 |
else if (first + count > |
766 | 806 |
(unsigned int)BlinkenMovieGetFrameCnt(pMovie)) |
767 |
- printf |
|
768 |
- ("invalid frame range (%u-%u) for deletion from %u frames\n", |
|
807 |
+ printf("invalid frame range (%u-%u) for deletion from %u frames\n", |
|
769 | 808 |
first, first + count, |
770 | 809 |
(unsigned int)BlinkenMovieGetFrameCnt(pMovie)); |
771 | 810 |
else { |
... | ... |
@@ -942,8 +981,8 @@ int main(int argCnt, char **args) |
942 | 981 |
} |
943 | 982 |
// old style input filename |
944 | 983 |
else if (i == 1 && args[i][0] != '-') { |
945 |
- printf("old style input filename \"%s\", better use \"-i %s\"\n", |
|
946 |
- args[i], args[i]); |
|
984 |
+ printf("old style input filename \"%s\", better use \"-i %s\"\n", args[i], |
|
985 |
+ args[i]); |
|
947 | 986 |
if (pMovie != NULL) |
948 | 987 |
BlinkenMovieFree(pMovie); |
949 | 988 |
pMovie = BlinkenMovieLoad(args[i]); |
... | ... |
@@ -965,8 +1004,7 @@ int main(int argCnt, char **args) |
965 | 1004 |
} |
966 | 1005 |
// unknown parameter |
967 | 1006 |
else |
968 |
- printf |
|
969 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
1007 |
+ printf("unknown parameter \"%s\", call without parameters to get help\n", |
|
970 | 1008 |
args[i]); |
971 | 1009 |
|
972 | 1010 |
} // for( i ... |
... | ... |
@@ -7,21 +7,19 @@ |
7 | 7 |
|
8 | 8 |
#include <errno.h> |
9 | 9 |
#include <fcntl.h> |
10 |
-#include <stdlib.h> |
|
11 | 10 |
#include <stdio.h> |
12 | 11 |
#include <stdlib.h> |
13 | 12 |
#include <string.h> |
13 |
+#include <sys/time.h> |
|
14 |
+#include <sys/types.h> |
|
14 | 15 |
#include <termios.h> |
15 | 16 |
#include <time.h> |
16 | 17 |
#include <unistd.h> |
17 |
-#include <sys/time.h> |
|
18 |
-#include <sys/types.h> |
|
19 | 18 |
|
20 | 19 |
#include <BlinkenLib/BlinkenLib.h> |
21 | 20 |
|
22 | 21 |
// get serial settings from text |
23 |
-static int serial_settings_parse(char *str, int *settings, int *speed) |
|
24 |
-{ |
|
22 |
+static int serial_settings_parse(char *str, int *settings, int *speed) { |
|
25 | 23 |
int baud, data, stop; |
26 | 24 |
char parity; |
27 | 25 |
int set = 0, sp = 0; |
... | ... |
@@ -32,7 +30,8 @@ static int serial_settings_parse(char *str, int *settings, int *speed) |
32 | 30 |
|
33 | 31 |
// baud rate |
34 | 32 |
#define BAUD(rate) else if (baud == rate) sp = B##rate; |
35 |
- if (0) {} |
|
33 |
+ if (0) { |
|
34 |
+ } |
|
36 | 35 |
BAUD(300) |
37 | 36 |
BAUD(600) |
38 | 37 |
BAUD(1200) |
... | ... |
@@ -128,8 +127,7 @@ static int serial_settings_parse(char *str, int *settings, int *speed) |
128 | 127 |
|
129 | 128 |
// convert serial settings to text |
130 | 129 |
static void serial_settings_to_str(int settings, char *buf, |
131 |
- unsigned int maxlen) |
|
132 |
-{ |
|
130 |
+ unsigned int maxlen) { |
|
133 | 131 |
int baud, data, stop; |
134 | 132 |
char parity; |
135 | 133 |
|
... | ... |
@@ -188,8 +186,7 @@ static void serial_settings_to_str(int settings, char *buf, |
188 | 186 |
} |
189 | 187 |
|
190 | 188 |
// set serial settings for fd |
191 |
-static int serial_settings_set(int fd, int settings, int speed) |
|
192 |
-{ |
|
189 |
+static int serial_settings_set(int fd, int settings, int speed) { |
|
193 | 190 |
struct termios tio; |
194 | 191 |
|
195 | 192 |
// set port settings |
... | ... |
@@ -222,11 +219,9 @@ static int serial_settings_set(int fd, int settings, int speed) |
222 | 219 |
// dev_fd may be -1 for not doing anything with device |
223 | 220 |
// returns error code (not for device-errors, 0 for success) |
224 | 221 |
static int out_movie(stBlinkenMovie *pMovie, int dev_fd, |
225 |
- unsigned int format_change, |
|
226 |
- unsigned int format_height, unsigned int format_width, |
|
227 |
- unsigned int format_channels, |
|
228 |
- unsigned int format_colors, etBlinkenProto proto) |
|
229 |
-{ |
|
222 |
+ unsigned int format_change, unsigned int format_height, |
|
223 |
+ unsigned int format_width, unsigned int format_channels, |
|
224 |
+ unsigned int format_colors, etBlinkenProto proto) { |
|
230 | 225 |
int frame_cnt, frame; |
231 | 226 |
stBlinkenFrame *pFrame; |
232 | 227 |
fd_set readFds, errFds; |
... | ... |
@@ -255,8 +250,8 @@ static int out_movie(stBlinkenMovie *pMovie, int dev_fd, |
255 | 250 |
|
256 | 251 |
// change format |
257 | 252 |
if (format_change) |
258 |
- BlinkenFrameResize(pFrame, format_height, format_width, |
|
259 |
- format_channels, format_colors - 1); |
|
253 |
+ BlinkenFrameResize(pFrame, format_height, format_width, format_channels, |
|
254 |
+ format_colors - 1); |
|
260 | 255 |
|
261 | 256 |
// create output data from frame |
262 | 257 |
len = BlinkenFrameToNetwork(pFrame, proto, buffer, sizeof(buffer)); |
... | ... |
@@ -333,14 +328,12 @@ static int out_movie(stBlinkenMovie *pMovie, int dev_fd, |
333 | 328 |
// open device and output movie |
334 | 329 |
// returns error code (not for device-errors, 0 for success) |
335 | 330 |
static int open_and_output(stBlinkenMovie *pMovie, char *device, |
336 |
- int serial_settings_change, |
|
337 |
- int serial_settings, int serial_speed, |
|
338 |
- unsigned int format_change, |
|
331 |
+ int serial_settings_change, int serial_settings, |
|
332 |
+ int serial_speed, unsigned int format_change, |
|
339 | 333 |
unsigned int format_height, |
340 | 334 |
unsigned int format_width, |
341 | 335 |
unsigned int format_channels, |
342 |
- unsigned int format_colors, etBlinkenProto proto) |
|
343 |
-{ |
|
336 |
+ unsigned int format_colors, etBlinkenProto proto) { |
|
344 | 337 |
int dev_fd, err; |
345 | 338 |
char txt[64]; |
346 | 339 |
|
... | ... |
@@ -362,8 +355,7 @@ static int open_and_output(stBlinkenMovie *pMovie, char *device, |
362 | 355 |
} |
363 | 356 |
} |
364 | 357 |
// output movie to device |
365 |
- err = out_movie(pMovie, dev_fd, |
|
366 |
- format_change, format_height, format_width, |
|
358 |
+ err = out_movie(pMovie, dev_fd, format_change, format_height, format_width, |
|
367 | 359 |
format_channels, format_colors, proto); |
368 | 360 |
|
369 | 361 |
// close device |
... | ... |
@@ -374,8 +366,7 @@ static int open_and_output(stBlinkenMovie *pMovie, char *device, |
374 | 366 |
return err; |
375 | 367 |
} |
376 | 368 |
|
377 |
-int main(int argCnt, char **args) |
|
378 |
-{ |
|
369 |
+int main(int argCnt, char **args) { |
|
379 | 370 |
int i, serial_settings, serial_speed; |
380 | 371 |
char *device; |
381 | 372 |
etBlinkenProto proto; |
... | ... |
@@ -421,7 +412,8 @@ int main(int argCnt, char **args) |
421 | 412 |
" -n <number>\n" |
422 | 413 |
" set number of times to send movies (defaults to 1)\n" |
423 | 414 |
" -i <file>\n" |
424 |
- " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ") and send it\n" |
|
415 |
+ " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT |
|
416 |
+ ") and send it\n" |
|
425 | 417 |
" -l <number>\n" |
426 | 418 |
" loop number of times (defaults to 1, use 0 for forever)\n\n", |
427 | 419 |
args[0]); |
... | ... |
@@ -471,10 +463,10 @@ int main(int argCnt, char **args) |
471 | 463 |
else if (strcmp(args[i], "-f") == 0) { |
472 | 464 |
if (i + 1 < argCnt) { |
473 | 465 |
i++; |
474 |
- if (sscanf |
|
475 |
- (args[i], "%ux%u-%u/%u", &width, &height, &channels, &colors) == 4 |
|
476 |
- && width > 0 && width < 1000 && height > 0 && height < 1000 |
|
477 |
- && channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
466 |
+ if (sscanf(args[i], "%ux%u-%u/%u", &width, &height, &channels, |
|
467 |
+ &colors) == 4 && |
|
468 |
+ width > 0 && width < 1000 && height > 0 && height < 1000 && |
|
469 |
+ channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
478 | 470 |
format_change = 1; |
479 | 471 |
format_height = height; |
480 | 472 |
format_width = width; |
... | ... |
@@ -528,9 +520,9 @@ int main(int argCnt, char **args) |
528 | 520 |
printf("outputting movie \"%s\" (%u/%u)...\n", args[i], ui + 1, |
529 | 521 |
send_cnt); |
530 | 522 |
if (open_and_output(pMovie, device, serial_settings_change, |
531 |
- serial_settings, serial_speed, |
|
532 |
- format_change, format_height, format_width, |
|
533 |
- format_channels, format_colors, proto) == 0) { |
|
523 |
+ serial_settings, serial_speed, format_change, |
|
524 |
+ format_height, format_width, format_channels, |
|
525 |
+ format_colors, proto) == 0) { |
|
534 | 526 |
printf("movie \"%s\" output successful\n", args[i]); |
535 | 527 |
} else { |
536 | 528 |
printf("movie \"%s\" output failed\n", args[i]); |
... | ... |
@@ -555,8 +547,8 @@ int main(int argCnt, char **args) |
555 | 547 |
} |
556 | 548 |
// unknown parameter |
557 | 549 |
else |
558 |
- printf |
|
559 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
550 |
+ printf( |
|
551 |
+ "unknown parameter \"%s\", call without parameters to get help\n", |
|
560 | 552 |
args[i]); |
561 | 553 |
|
562 | 554 |
} // for( i ... |
... | ... |
@@ -5,25 +5,24 @@ |
5 | 5 |
/* OS X support by Manfred Wuits |
6 | 6 |
<manfred@werkzeugH.at> */ |
7 | 7 |
|
8 |
+#include <arpa/inet.h> |
|
8 | 9 |
#include <errno.h> |
9 | 10 |
#include <fcntl.h> |
10 |
-#include <stdlib.h> |
|
11 |
+#include <netinet/in.h> |
|
11 | 12 |
#include <stdio.h> |
13 |
+#include <stdlib.h> |
|
12 | 14 |
#include <string.h> |
15 |
+#include <sys/socket.h> |
|
16 |
+#include <sys/time.h> |
|
17 |
+#include <sys/types.h> |
|
13 | 18 |
#include <termios.h> |
14 | 19 |
#include <time.h> |
15 | 20 |
#include <unistd.h> |
16 |
-#include <arpa/inet.h> |
|
17 |
-#include <netinet/in.h> |
|
18 |
-#include <sys/types.h> |
|
19 |
-#include <sys/time.h> |
|
20 |
-#include <sys/socket.h> |
|
21 | 21 |
|
22 | 22 |
#include <BlinkenLib/BlinkenLib.h> |
23 | 23 |
|
24 | 24 |
// get serial settings from text |
25 |
-static int serial_settings_parse(char *str, int *settings, int *speed) |
|
26 |
-{ |
|
25 |
+static int serial_settings_parse(char *str, int *settings, int *speed) { |
|
27 | 26 |
int baud, data, stop; |
28 | 27 |
char parity; |
29 | 28 |
int set = 0, sp = 0; |
... | ... |
@@ -34,7 +33,8 @@ static int serial_settings_parse(char *str, int *settings, int *speed) |
34 | 33 |
|
35 | 34 |
// baud rate |
36 | 35 |
#define BAUD(rate) else if (baud == rate) sp = B##rate; |
37 |
- if (0) {} |
|
36 |
+ if (0) { |
|
37 |
+ } |
|
38 | 38 |
BAUD(300) |
39 | 39 |
BAUD(600) |
40 | 40 |
BAUD(1200) |
... | ... |
@@ -130,8 +130,7 @@ static int serial_settings_parse(char *str, int *settings, int *speed) |
130 | 130 |
|
131 | 131 |
// convert serial settings to text |
132 | 132 |
static void serial_settings_to_str(int settings, char *buf, |
133 |
- unsigned int maxlen) |
|
134 |
-{ |
|
133 |
+ unsigned int maxlen) { |
|
135 | 134 |
int baud, data, stop; |
136 | 135 |
char parity; |
137 | 136 |
|
... | ... |
@@ -190,8 +189,7 @@ static void serial_settings_to_str(int settings, char *buf, |
190 | 189 |
} |
191 | 190 |
|
192 | 191 |
// set serial settings for fd |
193 |
-static int serial_settings_set(int fd, int settings, int speed) |
|
194 |
-{ |
|
192 |
+static int serial_settings_set(int fd, int settings, int speed) { |
|
195 | 193 |
struct termios tio; |
196 | 194 |
|
197 | 195 |
// set port settings |
... | ... |
@@ -226,12 +224,10 @@ static int serial_settings_set(int fd, int settings, int speed) |
226 | 224 |
static int recv_and_out(SOCKET udpSocket, int dev_fd, |
227 | 225 |
int *p_device_output_active, |
228 | 226 |
unsigned int min_interval_ms, |
229 |
- unsigned int format_change, |
|
230 |
- unsigned int format_height, unsigned int format_width, |
|
231 |
- unsigned int format_channels, |
|
227 |
+ unsigned int format_change, unsigned int format_height, |
|
228 |
+ unsigned int format_width, unsigned int format_channels, |
|
232 | 229 |
unsigned int format_colors, etBlinkenProto proto, |
233 |
- int use_msecs, unsigned int msecs) |
|
234 |
-{ |
|
230 |
+ int use_msecs, unsigned int msecs) { |
|
235 | 231 |
fd_set readFds, errFds; |
236 | 232 |
stBlinkenFrame *pFrame; |
237 | 233 |
char buffer[65536]; // 64kB is more than maximum UDP size |
... | ... |
@@ -373,17 +369,13 @@ static int recv_and_out(SOCKET udpSocket, int dev_fd, |
373 | 369 |
|
374 | 370 |
// open device and output frames |
375 | 371 |
// returns error code (not for device-errors, 0 for success) |
376 |
-static int open_and_output(SOCKET udpSocket, char *device, |
|
377 |
- int *p_device_output_active, |
|
372 |
+static int |
|
373 |
+open_and_output(SOCKET udpSocket, char *device, int *p_device_output_active, |
|
378 | 374 |
int serial_settings_change, int serial_settings, |
379 |
- int serial_speed, |
|
380 |
- unsigned int min_interval_ms, |
|
381 |
- unsigned int format_change, |
|
382 |
- unsigned int format_height, |
|
383 |
- unsigned int format_width, |
|
384 |
- unsigned int format_channels, |
|
385 |
- unsigned int format_colors, etBlinkenProto proto) |
|
386 |
-{ |
|
375 |
+ int serial_speed, unsigned int min_interval_ms, |
|
376 |
+ unsigned int format_change, unsigned int format_height, |
|
377 |
+ unsigned int format_width, unsigned int format_channels, |
|
378 |
+ unsigned int format_colors, etBlinkenProto proto) { |
|
387 | 379 |
int dev_fd, err; |
388 | 380 |
char txt[64]; |
389 | 381 |
|
... | ... |
@@ -406,8 +398,7 @@ static int open_and_output(SOCKET udpSocket, char *device, |
406 | 398 |
} |
407 | 399 |
} |
408 | 400 |
// receive frames and output to device |
409 |
- err = recv_and_out(udpSocket, dev_fd, p_device_output_active, |
|
410 |
- min_interval_ms, |
|
401 |
+ err = recv_and_out(udpSocket, dev_fd, p_device_output_active, min_interval_ms, |
|
411 | 402 |
format_change, format_height, format_width, |
412 | 403 |
format_channels, format_colors, proto, 0, 0); |
413 | 404 |
|
... | ... |
@@ -419,19 +410,14 @@ static int open_and_output(SOCKET udpSocket, char *device, |
419 | 410 |
|
420 | 411 |
// open device and output frames in a loop |
421 | 412 |
// returns error code (not for device-errors, 0 for success) |
422 |
-static int open_and_output_loop(SOCKET udpSocket, char *device, |
|
423 |
- int serial_settings_change, |
|
424 |
- int serial_settings, int serial_speed, |
|
425 |
- int reopen_device, |
|
413 |
+static int |
|
414 |
+open_and_output_loop(SOCKET udpSocket, char *device, int serial_settings_change, |
|
415 |
+ int serial_settings, int serial_speed, int reopen_device, |
|
426 | 416 |
unsigned int reopen_device_ms, |
427 |
- unsigned int min_interval_ms, |
|
428 |
- unsigned int format_change, |
|
429 |
- unsigned int format_height, |
|
430 |
- unsigned int format_width, |
|
431 |
- unsigned int format_channels, |
|
432 |
- unsigned int format_colors, |
|
433 |
- etBlinkenProto proto) |
|
434 |
-{ |
|
417 |
+ unsigned int min_interval_ms, unsigned int format_change, |
|
418 |
+ unsigned int format_height, unsigned int format_width, |
|
419 |
+ unsigned int format_channels, unsigned int format_colors, |
|
420 |
+ etBlinkenProto proto) { |
|
435 | 421 |
int device_output_active, err; |
436 | 422 |
|
437 | 423 |
printf("receiving frames and outputting them to \"%s\"...\n", device); |
... | ... |
@@ -440,13 +426,10 @@ static int open_and_output_loop(SOCKET udpSocket, char *device, |
440 | 426 |
for (;;) { |
441 | 427 |
|
442 | 428 |
// try to open device and output frames |
443 |
- err = open_and_output(udpSocket, device, |
|
444 |
- &device_output_active, |
|
445 |
- serial_settings_change, serial_settings, |
|
446 |
- serial_speed, min_interval_ms, |
|
447 |
- format_change, format_height, |
|
448 |
- format_width, format_channels, format_colors, |
|
449 |
- proto); |
|
429 |
+ err = open_and_output(udpSocket, device, &device_output_active, |
|
430 |
+ serial_settings_change, serial_settings, serial_speed, |
|
431 |
+ min_interval_ms, format_change, format_height, |
|
432 |
+ format_width, format_channels, format_colors, proto); |
|
450 | 433 |
if (err != 0 || !reopen_device) |
451 | 434 |
break; |
452 | 435 |
|
... | ... |
@@ -456,8 +439,7 @@ static int open_and_output_loop(SOCKET udpSocket, char *device, |
456 | 439 |
device_output_active = 0; |
457 | 440 |
|
458 | 441 |
// only fetch data from socket for a short time |
459 |
- err = recv_and_out(udpSocket, -1, &device_output_active, |
|
460 |
- min_interval_ms, |
|
442 |
+ err = recv_and_out(udpSocket, -1, &device_output_active, min_interval_ms, |
|
461 | 443 |
format_change, format_height, format_width, |
462 | 444 |
format_channels, format_colors, proto, 1, |
463 | 445 |
reopen_device_ms); |
... | ... |
@@ -474,8 +455,7 @@ static int open_and_output_loop(SOCKET udpSocket, char *device, |
474 | 455 |
return err; |
475 | 456 |
} |
476 | 457 |
|
477 |
-int main(int argCnt, char **args) |
|
478 |
-{ |
|
458 |
+int main(int argCnt, char **args) { |
|
479 | 459 |
int i, bound, serial_settings, serial_speed; |
480 | 460 |
SOCKET udpSocket; |
481 | 461 |
etBlinkenProto proto; |
... | ... |
@@ -501,7 +481,8 @@ int main(int argCnt, char **args) |
501 | 481 |
|
502 | 482 |
// print syntax |
503 | 483 |
if (argCnt <= 1) { |
504 |
- printf("syntax: %s <parameter> [...]\n\n" |
|
484 |
+ printf( |
|
485 |
+ "syntax: %s <parameter> [...]\n\n" |
|
505 | 486 |
"parameters:\n" |
506 | 487 |
" -l [<ip>:]<port>\n" |
507 | 488 |
" local address (defaults to 0.0.0.0:2323)\n" |
... | ... |
@@ -517,10 +498,12 @@ int main(int argCnt, char **args) |
517 | 498 |
" -s <baud-rate>,<parity>,<data-bits>,<stop-bits>\n" |
518 | 499 |
" settings to use for serial devices (defaults to no change)\n" |
519 | 500 |
" -o <milliseconds>\n" |
520 |
- " reopen device after short time on error (defaults to not reopen)\n" |
|
501 |
+ " reopen device after short time on error (defaults to not " |
|
502 |
+ "reopen)\n" |
|
521 | 503 |
" -i <milliseconds>\n" |
522 | 504 |
" minimum interval between two frames on output (defaults to 0)\n" |
523 |
- "\n", args[0]); |
|
505 |
+ "\n", |
|
506 |
+ args[0]); |
|
524 | 507 |
return 0; |
525 | 508 |
} |
526 | 509 |
// create udp socket |
... | ... |
@@ -611,10 +594,10 @@ int main(int argCnt, char **args) |
611 | 594 |
else if (strcmp(args[i], "-f") == 0) { |
612 | 595 |
if (i + 1 < argCnt) { |
613 | 596 |
i++; |
614 |
- if (sscanf |
|
615 |
- (args[i], "%ux%u-%u/%u", &width, &height, &channels, &colors) == 4 |
|
616 |
- && width > 0 && width < 1000 && height > 0 && height < 1000 |
|
617 |
- && channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
597 |
+ if (sscanf(args[i], "%ux%u-%u/%u", &width, &height, &channels, |
|
598 |
+ &colors) == 4 && |
|
599 |
+ width > 0 && width < 1000 && height > 0 && height < 1000 && |
|
600 |
+ channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
618 | 601 |
format_change = 1; |
619 | 602 |
format_height = height; |
620 | 603 |
format_width = width; |
... | ... |
@@ -648,8 +631,8 @@ int main(int argCnt, char **args) |
648 | 631 |
else if (strcmp(args[i], "-o") == 0) { |
649 | 632 |
if (i + 1 < argCnt) { |
650 | 633 |
i++; |
651 |
- if (sscanf(args[i], "%u", &reopen_device_ms) == 1 |
|
652 |
- && reopen_device_ms >= 1) |
|
634 |
+ if (sscanf(args[i], "%u", &reopen_device_ms) == 1 && |
|
635 |
+ reopen_device_ms >= 1) |
|
653 | 636 |
reopen_device = 1; |
654 | 637 |
else |
655 | 638 |
printf("invalid number of milliseconds \"%s\"\n", args[i]); |
... | ... |
@@ -669,8 +652,7 @@ int main(int argCnt, char **args) |
669 | 652 |
} |
670 | 653 |
// unknown parameter |
671 | 654 |
else |
672 |
- printf |
|
673 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
655 |
+ printf("unknown parameter \"%s\", call without parameters to get help\n", |
|
674 | 656 |
args[i]); |
675 | 657 |
|
676 | 658 |
} // for( i ... |
... | ... |
@@ -691,11 +673,10 @@ int main(int argCnt, char **args) |
691 | 673 |
} |
692 | 674 |
} |
693 | 675 |
// open device and output frames in a loop |
694 |
- open_and_output_loop(udpSocket, device, |
|
695 |
- serial_settings_change, serial_settings, serial_speed, |
|
696 |
- reopen_device, reopen_device_ms, min_interval_ms, |
|
697 |
- format_change, format_height, format_width, |
|
698 |
- format_channels, format_colors, proto); |
|
676 |
+ open_and_output_loop( |
|
677 |
+ udpSocket, device, serial_settings_change, serial_settings, serial_speed, |
|
678 |
+ reopen_device, reopen_device_ms, min_interval_ms, format_change, |
|
679 |
+ format_height, format_width, format_channels, format_colors, proto); |
|
699 | 680 |
|
700 | 681 |
// close socket |
701 | 682 |
close(udpSocket); |
... | ... |
@@ -4,11 +4,11 @@ |
4 | 4 |
a blinkenarea.org project */ |
5 | 5 |
|
6 | 6 |
#include <fcntl.h> |
7 |
-#include <stdlib.h> |
|
8 | 7 |
#include <stdio.h> |
8 |
+#include <stdlib.h> |
|
9 | 9 |
#include <string.h> |
10 |
-#include <winsock2.h> |
|
11 | 10 |
#include <windows.h> |
11 |
+#include <winsock2.h> |
|
12 | 12 |
|
13 | 13 |
#include <BlinkenLib/BlinkenLib.h> |
14 | 14 |
|
... | ... |
@@ -23,8 +23,7 @@ struct s_serial_settings { |
23 | 23 |
|
24 | 24 |
// get serial settings from text |
25 | 25 |
static int serial_settings_parse(char *str, |
26 |
- struct s_serial_settings *serial_settings) |
|
27 |
-{ |
|
26 |
+ struct s_serial_settings *serial_settings) { |
|
28 | 27 |
int baud, data, stop; |
29 | 28 |
char parity; |
30 | 29 |
|
... | ... |
@@ -117,8 +116,8 @@ static int serial_settings_parse(char *str, |
117 | 116 |
} |
118 | 117 |
|
119 | 118 |
// set serial settings for fd |
120 |
-static int serial_settings_set(HANDLE hDev, struct s_serial_settings *settings) |
|
121 |
-{ |
|
119 |
+static int serial_settings_set(HANDLE hDev, |
|
120 |
+ struct s_serial_settings *settings) { |
|
122 | 121 |
DCB PortDcb; |
123 | 122 |
COMMTIMEOUTS CommTimeouts; |
124 | 123 |
|
... | ... |
@@ -164,14 +163,12 @@ static int serial_settings_set(HANDLE hDev, struct s_serial_settings *settings) |
164 | 163 |
// hDev may be INVALID_HANDLE_VALUE for not doing anything with device |
165 | 164 |
// returns error code (not for device-errors, 0 for success) |
166 | 165 |
static int recv_and_out(SOCKET udpSocket, HANDLE hDev, |
167 |
- int *p_device_output_active, |
|
168 |
- unsigned int format_change, |
|
166 |
+ int *p_device_output_active, unsigned int format_change, |
|
169 | 167 |
unsigned int format_height, unsigned int format_width, |
170 | 168 |
unsigned int format_channels, |
171 | 169 |
unsigned int format_colors, etBlinkenProto proto, |
172 | 170 |
int use_msecs, unsigned int msecs, |
173 |
- int is_serial_device) |
|
174 |
-{ |
|
171 |
+ int is_serial_device) { |
|
175 | 172 |
fd_set readFds, errFds; |
176 | 173 |
stBlinkenFrame *pFrame; |
177 | 174 |
char buffer[65536]; // 64kB is more than maximum UDP size |
... | ... |
@@ -231,8 +228,8 @@ static int recv_and_out(SOCKET udpSocket, HANDLE hDev, |
231 | 228 |
|
232 | 229 |
// output data to device |
233 | 230 |
if (hDev != INVALID_HANDLE_VALUE && len > 0) { |
234 |
- if (!WriteFile(hDev, buffer, len, &DevWrLen, NULL) |
|
235 |
- || (int)DevWrLen != len) { |
|
231 |
+ if (!WriteFile(hDev, buffer, len, &DevWrLen, NULL) || |
|
232 |
+ (int)DevWrLen != len) { |
|
236 | 233 |
if (*p_device_output_active) |
237 | 234 |
printf("error writing to device: error %lu\n", GetLastError()); |
238 | 235 |
break; |
... | ... |
@@ -273,23 +270,19 @@ static int recv_and_out(SOCKET udpSocket, HANDLE hDev, |
273 | 270 |
|
274 | 271 |
// open device and output frames |
275 | 272 |
// returns error code (not for device-errors, 0 for success) |
276 |
-static int open_and_output(SOCKET udpSocket, char *device, |
|
277 |
- int *p_device_output_active, |
|
273 |
+static int |
|
274 |
+open_and_output(SOCKET udpSocket, char *device, int *p_device_output_active, |
|
278 | 275 |
int serial_settings_change, |
279 | 276 |
struct s_serial_settings *serial_settings, |
280 |
- unsigned int format_change, |
|
281 |
- unsigned int format_height, |
|
282 |
- unsigned int format_width, |
|
283 |
- unsigned int format_channels, |
|
284 |
- unsigned int format_colors, etBlinkenProto proto) |
|
285 |
-{ |
|
277 |
+ unsigned int format_change, unsigned int format_height, |
|
278 |
+ unsigned int format_width, unsigned int format_channels, |
|
279 |
+ unsigned int format_colors, etBlinkenProto proto) { |
|
286 | 280 |
HANDLE hDev; |
287 | 281 |
int err; |
288 | 282 |
|
289 | 283 |
// open device |
290 |
- hDev = |
|
291 |
- CreateFile(device, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, |
|
292 |
- 0, NULL); |
|
284 |
+ hDev = CreateFile(device, GENERIC_READ | GENERIC_WRITE, 0, NULL, |
|
285 |
+ OPEN_EXISTING, 0, NULL); |
|
293 | 286 |
if (hDev == INVALID_HANDLE_VALUE) { |
294 | 287 |
if (*p_device_output_active) |
295 | 288 |
printf("could not open \"%s\": error %lu\n", device, GetLastError()); |
... | ... |
@@ -305,10 +298,9 @@ static int open_and_output(SOCKET udpSocket, char *device, |
305 | 298 |
} |
306 | 299 |
} |
307 | 300 |
// receive frames and output to device |
308 |
- err = recv_and_out(udpSocket, hDev, p_device_output_active, |
|
309 |
- format_change, format_height, format_width, |
|
310 |
- format_channels, format_colors, proto, 0, 0, |
|
311 |
- serial_settings_change); |
|
301 |
+ err = recv_and_out(udpSocket, hDev, p_device_output_active, format_change, |
|
302 |
+ format_height, format_width, format_channels, |
|
303 |
+ format_colors, proto, 0, 0, serial_settings_change); |
|
312 | 304 |
|
313 | 305 |
// close device |
314 | 306 |
CloseHandle(hDev); |
... | ... |
@@ -318,18 +310,13 @@ static int open_and_output(SOCKET udpSocket, char *device, |
318 | 310 |
|
319 | 311 |
// open device and output frames in a loop |
320 | 312 |
// returns error code (not for device-errors, 0 for success) |
321 |
-static int open_and_output_loop(SOCKET udpSocket, char *device, |
|
322 |
- int serial_settings_change, |
|
313 |
+static int |
|
314 |
+open_and_output_loop(SOCKET udpSocket, char *device, int serial_settings_change, |
|
323 | 315 |
struct s_serial_settings *serial_settings, |
324 |
- int reopen_device, |
|
325 |
- unsigned int reopen_device_ms, |
|
326 |
- unsigned int format_change, |
|
327 |
- unsigned int format_height, |
|
328 |
- unsigned int format_width, |
|
329 |
- unsigned int format_channels, |
|
330 |
- unsigned int format_colors, |
|
331 |
- etBlinkenProto proto) |
|
332 |
-{ |
|
316 |
+ int reopen_device, unsigned int reopen_device_ms, |
|
317 |
+ unsigned int format_change, unsigned int format_height, |
|
318 |
+ unsigned int format_width, unsigned int format_channels, |
|
319 |
+ unsigned int format_colors, etBlinkenProto proto) { |
|
333 | 320 |
int device_output_active, err; |
334 | 321 |
|
335 | 322 |
printf("receiving frames and outputting them to \"%s\"...\n", device); |
... | ... |
@@ -338,8 +325,7 @@ static int open_and_output_loop(SOCKET udpSocket, char *device, |
338 | 325 |
for (;;) { |
339 | 326 |
|
340 | 327 |
// try to open device and output frames |
341 |
- err = open_and_output(udpSocket, device, |
|
342 |
- &device_output_active, |
|
328 |
+ err = open_and_output(udpSocket, device, &device_output_active, |
|
343 | 329 |
serial_settings_change, serial_settings, |
344 | 330 |
format_change, format_height, format_width, |
345 | 331 |
format_channels, format_colors, proto); |
... | ... |
@@ -369,8 +354,7 @@ static int open_and_output_loop(SOCKET udpSocket, char *device, |
369 | 354 |
return err; |
370 | 355 |
} |
371 | 356 |
|
372 |
-int main(int argCnt, char **args) |
|
373 |
-{ |
|
357 |
+int main(int argCnt, char **args) { |
|
374 | 358 |
WSADATA WsaData; |
375 | 359 |
int i, bound; |
376 | 360 |
SOCKET udpSocket; |
... | ... |
@@ -410,8 +394,10 @@ int main(int argCnt, char **args) |
410 | 394 |
" -s <baud-rate>,<parity>,<data-bits>,<stop-bits>\n" |
411 | 395 |
" settings to use for serial devices (defaults to no change)\n" |
412 | 396 |
" -o <milliseconds>\n" |
413 |
- " reopen device after short time on error (defaults to not reopen)\n" |
|
414 |
- "\n", args[0]); |
|
397 |
+ " reopen device after short time on error (defaults to not " |
|
398 |
+ "reopen)\n" |
|
399 |
+ "\n", |
|
400 |
+ args[0]); |
|
415 | 401 |
return 0; |
416 | 402 |
} |
417 | 403 |
|
... | ... |
@@ -511,10 +497,10 @@ int main(int argCnt, char **args) |
511 | 497 |
else if (strcmp(args[i], "-f") == 0) { |
512 | 498 |
if (i + 1 < argCnt) { |
513 | 499 |
i++; |
514 |
- if (sscanf |
|
515 |
- (args[i], "%ux%u-%u/%u", &width, &height, &channels, &colors) == 4 |
|
516 |
- && width > 0 && width < 1000 && height > 0 && height < 1000 |
|
517 |
- && channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
500 |
+ if (sscanf(args[i], "%ux%u-%u/%u", &width, &height, &channels, |
|
501 |
+ &colors) == 4 && |
|
502 |
+ width > 0 && width < 1000 && height > 0 && height < 1000 && |
|
503 |
+ channels > 0 && channels < 20 && colors > 1 && colors <= 256) { |
|
518 | 504 |
format_change = 1; |
519 | 505 |
format_height = height; |
520 | 506 |
format_width = width; |
... | ... |
@@ -548,8 +534,8 @@ int main(int argCnt, char **args) |
548 | 534 |
else if (strcmp(args[i], "-o") == 0) { |
549 | 535 |
if (i + 1 < argCnt) { |
550 | 536 |
i++; |
551 |
- if (sscanf(args[i], "%u", &reopen_device_ms) == 1 |
|
552 |
- && reopen_device_ms >= 1) |
|
537 |
+ if (sscanf(args[i], "%u", &reopen_device_ms) == 1 && |
|
538 |
+ reopen_device_ms >= 1) |
|
553 | 539 |
reopen_device = 1; |
554 | 540 |
else |
555 | 541 |
printf("invalid number of milliseconds \"%s\"\n", args[i]); |
... | ... |
@@ -558,8 +544,7 @@ int main(int argCnt, char **args) |
558 | 544 |
} |
559 | 545 |
// unknown parameter |
560 | 546 |
else |
561 |
- printf |
|
562 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
547 |
+ printf("unknown parameter \"%s\", call without parameters to get help\n", |
|
563 | 548 |
args[i]); |
564 | 549 |
|
565 | 550 |
} // for( i ... |
... | ... |
@@ -580,9 +565,8 @@ int main(int argCnt, char **args) |
580 | 565 |
} |
581 | 566 |
} |
582 | 567 |
// open device and output frames in a loop |
583 |
- open_and_output_loop(udpSocket, device, |
|
584 |
- serial_settings_change, &serial_settings, |
|
585 |
- reopen_device, reopen_device_ms, |
|
568 |
+ open_and_output_loop(udpSocket, device, serial_settings_change, |
|
569 |
+ &serial_settings, reopen_device, reopen_device_ms, |
|
586 | 570 |
format_change, format_height, format_width, |
587 | 571 |
format_channels, format_colors, proto); |
588 | 572 |
|
... | ... |
@@ -11,18 +11,17 @@ |
11 | 11 |
#include <ws2tcpip.h> |
12 | 12 |
#define close closesocket |
13 | 13 |
#else |
14 |
-#include <unistd.h> |
|
15 |
-#include <sys/types.h> |
|
16 |
-#include <sys/socket.h> |
|
17 |
-#include <netinet/in.h> |
|
18 | 14 |
#include <arpa/inet.h> |
15 |
+#include <netinet/in.h> |
|
16 |
+#include <sys/socket.h> |
|
17 |
+#include <sys/types.h> |
|
18 |
+#include <unistd.h> |
|
19 | 19 |
#endif |
20 | 20 |
|
21 |
-#include <BlinkenLib/BlinkenLib.h> |
|
22 | 21 |
#include "Tools2.h" |
22 |
+#include <BlinkenLib/BlinkenLib.h> |
|
23 | 23 |
|
24 |
-int main(int argCnt, char **args) |
|
25 |
-{ |
|
24 |
+int main(int argCnt, char **args) { |
|
26 | 25 |
int i, bound, val, timeout, ipv6; |
27 | 26 |
SOCKET udpSocket, tmpSock; |
28 | 27 |
struct sockaddr_in addr; |
... | ... |
@@ -65,7 +64,8 @@ int main(int argCnt, char **args) |
65 | 64 |
" -t <milliseconds>\n" |
66 | 65 |
" set timeout (to detect movie end, defaults to 5000)\n" |
67 | 66 |
" -o <file>\n" |
68 |
- " receive movie and write it to file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ")\n\n", |
|
67 |
+ " receive movie and write it to file (*.blm, *.bmm, *.bml, " |
|
68 |
+ "*.bbm" MNGEXT GIFEXT ")\n\n", |
|
69 | 69 |
args[0]); |
70 | 70 |
return 0; |
71 | 71 |
} |
... | ... |
@@ -213,8 +213,7 @@ int main(int argCnt, char **args) |
213 | 213 |
} |
214 | 214 |
// unknown parameter |
215 | 215 |
else |
216 |
- printf |
|
217 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
216 |
+ printf("unknown parameter \"%s\", call without parameters to get help\n", |
|
218 | 217 |
args[i]); |
219 | 218 |
|
220 | 219 |
} // for( i ... |
... | ... |
@@ -12,18 +12,17 @@ |
12 | 12 |
#define close closesocket |
13 | 13 |
#define strcasecmp stricmp |
14 | 14 |
#else |
15 |
-#include <unistd.h> |
|
16 |
-#include <sys/types.h> |
|
17 |
-#include <sys/socket.h> |
|
18 |
-#include <netinet/in.h> |
|
19 | 15 |
#include <arpa/inet.h> |
16 |
+#include <netinet/in.h> |
|
17 |
+#include <sys/socket.h> |
|
18 |
+#include <sys/types.h> |
|
19 |
+#include <unistd.h> |
|
20 | 20 |
#endif |
21 | 21 |
|
22 |
-#include <BlinkenLib/BlinkenLib.h> |
|
23 | 22 |
#include "Tools2.h" |
23 |
+#include <BlinkenLib/BlinkenLib.h> |
|
24 | 24 |
|
25 |
-int main(int argCnt, char **args) |
|
26 |
-{ |
|
25 |
+int main(int argCnt, char **args) { |
|
27 | 26 |
int i, connected, ipv6; |
28 | 27 |
SOCKET udpSocket, tmpSock; |
29 | 28 |
etBlinkenProto proto; |
... | ... |
@@ -68,11 +67,13 @@ int main(int argCnt, char **args) |
68 | 67 |
" -p [BLP|EBLP|MCUF]\n" |
69 | 68 |
" protocol to use (defaults to MCUF)\n" |
70 | 69 |
" -t <milliseconds>\n" |
71 |
- " set maximum idle time between frames (defaults to 3000, use 0 for infinite)\n" |
|
70 |
+ " set maximum idle time between frames (defaults to 3000, use 0 " |
|
71 |
+ "for infinite)\n" |
|
72 | 72 |
" -n <number>\n" |
73 | 73 |
" set number of times to send movies (defaults to 1)\n" |
74 | 74 |
" -i <file>\n" |
75 |
- " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT ") and send it\n" |
|
75 |
+ " read movie from file (*.blm, *.bmm, *.bml, *.bbm" MNGEXT GIFEXT |
|
76 |
+ ") and send it\n" |
|
76 | 77 |
" -l <number>\n" |
77 | 78 |
" loop number of times (defaults to 1, use 0 for forever)\n\n", |
78 | 79 |
args[0]); |
... | ... |
@@ -162,18 +163,15 @@ int main(int argCnt, char **args) |
162 | 163 |
i++; |
163 | 164 |
if (!ipv6) { |
164 | 165 |
if (!txt2addr(args[i], &addr) || |
165 |
- connect(udpSocket, (struct sockaddr *)&addr, |
|
166 |
- sizeof(addr)) != 0) |
|
167 |
- printf("could not set destination address to \"%s\"\n", |
|
168 |
- args[i]); |
|
166 |
+ connect(udpSocket, (struct sockaddr *)&addr, sizeof(addr)) != 0) |
|
167 |
+ printf("could not set destination address to \"%s\"\n", args[i]); |
|
169 | 168 |
else |
170 | 169 |
connected = 1; |
171 | 170 |
} else { |
172 | 171 |
if (!txt2addr6(args[i], &addr6) || |
173 |
- connect(udpSocket, (struct sockaddr *)&addr6, |
|
174 |
- sizeof(addr6)) != 0) |
|
175 |
- printf("could not set destination address to \"%s\"\n", |
|
176 |
- args[i]); |
|
172 |
+ connect(udpSocket, (struct sockaddr *)&addr6, sizeof(addr6)) != |
|
173 |
+ 0) |
|
174 |
+ printf("could not set destination address to \"%s\"\n", args[i]); |
|
177 | 175 |
else |
178 | 176 |
connected = 1; |
179 | 177 |
} |
... | ... |
@@ -228,9 +226,10 @@ int main(int argCnt, char **args) |
228 | 226 |
" using default destination address \"127.0.0.1:2323\"\n", |
229 | 227 |
args[i]); |
230 | 228 |
if (!txt2addr("127.0.0.1:2323", &addr) || |
231 |
- connect(udpSocket, (struct sockaddr *)&addr, |
|
232 |
- sizeof(addr)) != 0) |
|
233 |
- printf("could not set destination address to \"127.0.0.1:2323\"\n"); |
|
229 |
+ connect(udpSocket, (struct sockaddr *)&addr, sizeof(addr)) != |
|
230 |
+ 0) |
|
231 |
+ printf("could not set destination address to " |
|
232 |
+ "\"127.0.0.1:2323\"\n"); |
|
234 | 233 |
else |
235 | 234 |
connected = 1; |
236 | 235 |
} else { |
... | ... |
@@ -260,8 +259,7 @@ int main(int argCnt, char **args) |
260 | 259 |
BlinkenMovieFree(pMovie); |
261 | 260 |
} |
262 | 261 |
} else |
263 |
- printf("no destination address to sent movie \"%s\" to\n", |
|
264 |
- args[i]); |
|
262 |
+ printf("no destination address to sent movie \"%s\" to\n", args[i]); |
|
265 | 263 |
} else |
266 | 264 |
printf("missing input filename for \"-i\"\n"); |
267 | 265 |
} |
... | ... |
@@ -278,8 +276,8 @@ int main(int argCnt, char **args) |
278 | 276 |
} |
279 | 277 |
// unknown parameter |
280 | 278 |
else |
281 |
- printf |
|
282 |
- ("unknown parameter \"%s\", call without parameters to get help\n", |
|
279 |
+ printf( |
|
280 |
+ "unknown parameter \"%s\", call without parameters to get help\n", |
|
283 | 281 |
args[i]); |
284 | 282 |
|
285 | 283 |
} // for( i ... |
... | ... |
@@ -10,17 +10,16 @@ |
10 | 10 |
#include <winsock2.h> |
11 | 11 |
#include <ws2tcpip.h> |
12 | 12 |
#else |
13 |
-#include <sys/types.h> |
|
14 |
-#include <sys/socket.h> |
|
15 |
-#include <netinet/in.h> |
|
16 | 13 |
#include <arpa/inet.h> |
14 |
+#include <netinet/in.h> |
|
15 |
+#include <sys/socket.h> |
|
16 |
+#include <sys/types.h> |
|
17 | 17 |
#endif |
18 | 18 |
|
19 | 19 |
#include "Tools2.h" |
20 | 20 |
|
21 | 21 |
#ifdef WIN32 |
22 |
-static int inet_pton(int af, const char *src, void *dst) |
|
23 |
-{ |
|
22 |
+static int inet_pton(int af, const char *src, void *dst) { |
|
24 | 23 |
struct sockaddr_storage ss; |
25 | 24 |
int size = sizeof(ss); |
26 | 25 |
char src_copy[INET6_ADDRSTRLEN + 1]; |
... | ... |
@@ -29,7 +28,8 @@ static int inet_pton(int af, const char *src, void *dst) |
29 | 28 |
strncpy(src_copy, src, sizeof(src_copy)); |
30 | 29 |
src_copy[sizeof(src_copy) - 1] = 0; |
31 | 30 |
|
32 |
- if (WSAStringToAddress(src_copy, af, NULL, (struct sockaddr *)&ss, &size) == 0) { |
|
31 |
+ if (WSAStringToAddress(src_copy, af, NULL, (struct sockaddr *)&ss, &size) == |
|
32 |
+ 0) { |
|
33 | 33 |
switch (af) { |
34 | 34 |
case AF_INET: |
35 | 35 |
*(struct in_addr *)dst = ((struct sockaddr_in *)&ss)->sin_addr; |
... | ... |
@@ -44,8 +44,7 @@ static int inet_pton(int af, const char *src, void *dst) |
44 | 44 |
#endif |
45 | 45 |
|
46 | 46 |
// convert text to IPv4 address |
47 |
-int txt2addr(char *text, struct sockaddr_in *addr) |
|
48 |
-{ |
|
47 |
+int txt2addr(char *text, struct sockaddr_in *addr) { |
|
49 | 48 |
char txt[48]; |
50 | 49 |
unsigned short port; |
51 | 50 |
|
... | ... |
@@ -70,8 +69,7 @@ int txt2addr(char *text, struct sockaddr_in *addr) |
70 | 69 |
} |
71 | 70 |
|
72 | 71 |
// convert text to IPv6 address |
73 |
-int txt2addr6(char *text, struct sockaddr_in6 *addr6) |
|
74 |
-{ |
|
72 |
+int txt2addr6(char *text, struct sockaddr_in6 *addr6) { |
|
75 | 73 |
char txt[128]; |
76 | 74 |
unsigned short port; |
77 | 75 |
|
78 | 76 |