Skip to content

Commit 62b5d37

Browse files
committed
Merge pull request opencv#18526 from alalek:fix_uninitialized_warnings
2 parents d78d9bf + f2bb3d0 commit 62b5d37

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

modules/videoio/src/cap_dc1394_v2.cpp

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -221,60 +221,57 @@ bool CvCaptureCAM_DC1394_v2_CPP::startCapture()
221221
DC1394_ISO_SPEED_3200);
222222
}
223223

224-
// should a specific mode be used
225-
if (userMode >= 0)
224+
dc1394video_modes_t videoModes;
225+
dc1394_video_get_supported_modes(dcCam, &videoModes);
226226

227+
// should a specific mode be used
228+
while (userMode >= 0) // 'if' semantic, no real loop here
227229
{
228230
dc1394video_mode_t wantedMode;
229-
dc1394video_modes_t videoModes;
230-
dc1394_video_get_supported_modes(dcCam, &videoModes);
231-
232-
//set mode from number, for example the second supported mode, i.e userMode = 1
233231

234232
if (userMode < (int)videoModes.num)
235233
{
234+
// set mode from number, for example the second supported mode, i.e userMode = 1
236235
wantedMode = videoModes.modes[userMode];
237236
}
238-
239-
//set modes directly from DC134 constants (from dc1394video_mode_t)
240-
else if ((userMode >= DC1394_VIDEO_MODE_MIN) && (userMode <= DC1394_VIDEO_MODE_MAX ))
237+
else if ((userMode >= DC1394_VIDEO_MODE_MIN) && (userMode <= DC1394_VIDEO_MODE_MAX))
241238
{
239+
// set modes directly from DC134 constants (from dc1394video_mode_t)
240+
242241
//search for wanted mode, to check if camera supports it
243242
int j = 0;
244-
while ((j< (int)videoModes.num) && videoModes.modes[j]!=userMode)
243+
while ((j < (int)videoModes.num) && videoModes.modes[j] != userMode)
245244
{
246245
j++;
247246
}
248-
249-
if ((int)videoModes.modes[j]==userMode)
250-
{
251-
wantedMode = videoModes.modes[j];
252-
}
253-
else
247+
if (!(j < (int)videoModes.num))
254248
{
255249
userMode = -1; // wanted mode not supported, search for best mode
250+
break;
256251
}
252+
253+
wantedMode = videoModes.modes[j];
257254
}
258255
else
259256
{
260-
userMode = -1; // wanted mode not supported, search for best mode
257+
userMode = -1; // wanted mode not supported, search for best mode
258+
break;
261259
}
260+
262261
//if userMode is available: set it and update size
263-
if (userMode != -1)
264262
{
265263
code = dc1394_video_set_mode(dcCam, wantedMode);
266-
uint32_t width, height;
264+
uint32_t width = 0, height = 0;
267265
dc1394_get_image_size_from_video_mode(dcCam, wantedMode, &width, &height);
268266
frameWidth = (int)width;
269267
frameHeight = (int)height;
270268
}
269+
break;
271270
}
272271

273272
if (userMode == -1 && (frameWidth > 0 || frameHeight > 0))
274273
{
275-
dc1394video_mode_t bestMode = (dc1394video_mode_t) - 1;
276-
dc1394video_modes_t videoModes;
277-
dc1394_video_get_supported_modes(dcCam, &videoModes);
274+
dc1394video_mode_t bestMode = (dc1394video_mode_t)(-1);
278275
for (i = 0; i < (int)videoModes.num; i++)
279276
{
280277
dc1394video_mode_t mode = videoModes.modes[i];

0 commit comments

Comments
 (0)