@@ -98,10 +98,14 @@ int main(void)
98
98
struct video_frmival frmival ;
99
99
struct video_frmival_enum fie ;
100
100
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 = {
104
103
.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 ;
105
109
};
106
110
#endif
107
111
unsigned int frame = 0 ;
@@ -150,20 +154,14 @@ int main(void)
150
154
151
155
/* Set the crop setting if necessary */
152
156
#if CONFIG_VIDEO_SOURCE_CROP_WIDTH && CONFIG_VIDEO_SOURCE_CROP_HEIGHT
153
- sel .target = VIDEO_SEL_TGT_CROP ;
154
- sel .rect .left = CONFIG_VIDEO_SOURCE_CROP_LEFT ;
155
- sel .rect .top = CONFIG_VIDEO_SOURCE_CROP_TOP ;
156
- sel .rect .width = CONFIG_VIDEO_SOURCE_CROP_WIDTH ;
157
- sel .rect .height = CONFIG_VIDEO_SOURCE_CROP_HEIGHT ;
158
- if (video_set_selection (video_dev , & sel )) {
157
+ if (video_set_selection (video_dev , & crop_sel )) {
159
158
LOG_ERR ("Unable to set selection crop" );
160
159
return 0 ;
161
160
}
162
161
LOG_INF ("Selection crop set to (%u,%u)/%ux%u" ,
163
162
sel .rect .left , sel .rect .top , sel .rect .width , sel .rect .height );
164
163
#endif
165
164
166
- #if CONFIG_VIDEO_FRAME_HEIGHT || CONFIG_VIDEO_FRAME_WIDTH
167
165
#if CONFIG_VIDEO_FRAME_HEIGHT
168
166
fmt .height = CONFIG_VIDEO_FRAME_HEIGHT ;
169
167
#endif
@@ -172,39 +170,14 @@ int main(void)
172
170
fmt .width = CONFIG_VIDEO_FRAME_WIDTH ;
173
171
#endif
174
172
175
- /*
176
- * Check (if possible) if targeted size is same as crop
177
- * and if compose is necessary
178
- */
179
- sel .target = VIDEO_SEL_TGT_CROP ;
180
- err = video_get_selection (video_dev , & sel );
181
- if (err < 0 && err != - ENOSYS ) {
182
- LOG_ERR ("Unable to get selection crop" );
183
- return 0 ;
184
- }
185
-
186
- if (err == 0 && (sel .rect .width != fmt .width || sel .rect .height != fmt .height )) {
187
- sel .target = VIDEO_SEL_TGT_COMPOSE ;
188
- sel .rect .left = 0 ;
189
- sel .rect .top = 0 ;
190
- sel .rect .width = fmt .width ;
191
- sel .rect .height = fmt .height ;
192
- err = video_set_selection (video_dev , & sel );
193
- if (err < 0 && err != - ENOSYS ) {
194
- LOG_ERR ("Unable to set selection compose" );
195
- return 0 ;
196
- }
197
- }
198
- #endif
199
-
200
173
if (strcmp (CONFIG_VIDEO_PIXEL_FORMAT , "" )) {
201
174
fmt .pixelformat = VIDEO_FOURCC_FROM_STR (CONFIG_VIDEO_PIXEL_FORMAT );
202
175
}
203
176
204
177
LOG_INF ("- Video format: %s %ux%u" ,
205
178
VIDEO_FOURCC_TO_STR (fmt .pixelformat ), fmt .width , fmt .height );
206
179
207
- if (video_set_format (video_dev , & fmt )) {
180
+ if (video_set_compose_format (video_dev , & fmt )) {
208
181
LOG_ERR ("Unable to set format" );
209
182
return 0 ;
210
183
}
0 commit comments