@@ -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