Skip to content

Commit 0ecc7be

Browse files
author
Alain Volmat
committed
samples: video: capture: use video_set_compose_format helper
Simplify the code by using the video_set_compose_format helper. Signed-off-by: Alain Volmat <[email protected]>
1 parent 1942cd2 commit 0ecc7be

File tree

1 file changed

+9
-36
lines changed
  • samples/drivers/video/capture/src

1 file changed

+9
-36
lines changed

samples/drivers/video/capture/src/main.c

Lines changed: 9 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,14 @@ int main(void)
9898
struct video_frmival frmival;
9999
struct video_frmival_enum fie;
100100
enum video_buf_type type = VIDEO_BUF_TYPE_OUTPUT;
101-
#if (CONFIG_VIDEO_SOURCE_CROP_WIDTH && CONFIG_VIDEO_SOURCE_CROP_HEIGHT) || \
102-
CONFIG_VIDEO_FRAME_HEIGHT || CONFIG_VIDEO_FRAME_WIDTH
103-
struct video_selection sel = {
101+
#if (CONFIG_VIDEO_SOURCE_CROP_WIDTH && CONFIG_VIDEO_SOURCE_CROP_HEIGHT)
102+
struct video_selection crop_sel = {
104103
.type = VIDEO_BUF_TYPE_OUTPUT,
104+
.target = VIDEO_SEL_TGT_CROP;
105+
.rect.left = CONFIG_VIDEO_SOURCE_CROP_LEFT;
106+
.rect.top = CONFIG_VIDEO_SOURCE_CROP_TOP;
107+
.rect.width = CONFIG_VIDEO_SOURCE_CROP_WIDTH;
108+
.rect.height = CONFIG_VIDEO_SOURCE_CROP_HEIGHT;
105109
};
106110
#endif
107111
unsigned int frame = 0;
@@ -149,20 +153,14 @@ int main(void)
149153

150154
/* Set the crop setting if necessary */
151155
#if CONFIG_VIDEO_SOURCE_CROP_WIDTH && CONFIG_VIDEO_SOURCE_CROP_HEIGHT
152-
sel.target = VIDEO_SEL_TGT_CROP;
153-
sel.rect.left = CONFIG_VIDEO_SOURCE_CROP_LEFT;
154-
sel.rect.top = CONFIG_VIDEO_SOURCE_CROP_TOP;
155-
sel.rect.width = CONFIG_VIDEO_SOURCE_CROP_WIDTH;
156-
sel.rect.height = CONFIG_VIDEO_SOURCE_CROP_HEIGHT;
157-
if (video_set_selection(video_dev, &sel)) {
156+
if (video_set_selection(video_dev, &crop_sel)) {
158157
LOG_ERR("Unable to set selection crop");
159158
return 0;
160159
}
161160
LOG_INF("Selection crop set to (%u,%u)/%ux%u",
162161
sel.rect.left, sel.rect.top, sel.rect.width, sel.rect.height);
163162
#endif
164163

165-
#if CONFIG_VIDEO_FRAME_HEIGHT || CONFIG_VIDEO_FRAME_WIDTH
166164
#if CONFIG_VIDEO_FRAME_HEIGHT
167165
fmt.height = CONFIG_VIDEO_FRAME_HEIGHT;
168166
#endif
@@ -171,39 +169,14 @@ int main(void)
171169
fmt.width = CONFIG_VIDEO_FRAME_WIDTH;
172170
#endif
173171

174-
/*
175-
* Check (if possible) if targeted size is same as crop
176-
* and if compose is necessary
177-
*/
178-
sel.target = VIDEO_SEL_TGT_CROP;
179-
err = video_get_selection(video_dev, &sel);
180-
if (err < 0 && err != -ENOSYS) {
181-
LOG_ERR("Unable to get selection crop");
182-
return 0;
183-
}
184-
185-
if (err == 0 && (sel.rect.width != fmt.width || sel.rect.height != fmt.height)) {
186-
sel.target = VIDEO_SEL_TGT_COMPOSE;
187-
sel.rect.left = 0;
188-
sel.rect.top = 0;
189-
sel.rect.width = fmt.width;
190-
sel.rect.height = fmt.height;
191-
err = video_set_selection(video_dev, &sel);
192-
if (err < 0 && err != -ENOSYS) {
193-
LOG_ERR("Unable to set selection compose");
194-
return 0;
195-
}
196-
}
197-
#endif
198-
199172
if (strcmp(CONFIG_VIDEO_PIXEL_FORMAT, "")) {
200173
fmt.pixelformat = VIDEO_FOURCC_FROM_STR(CONFIG_VIDEO_PIXEL_FORMAT);
201174
}
202175

203176
LOG_INF("- Video format: %s %ux%u",
204177
VIDEO_FOURCC_TO_STR(fmt.pixelformat), fmt.width, fmt.height);
205178

206-
if (video_set_format(video_dev, &fmt)) {
179+
if (video_set_compose_format(video_dev, &fmt)) {
207180
LOG_ERR("Unable to set format");
208181
return 0;
209182
}

0 commit comments

Comments
 (0)