@@ -215,11 +215,6 @@ void v4_pipeline_destroy(void)
215
215
v4_vpss .fnStopGroup (grp );
216
216
v4_vpss .fnDestroyGroup (grp );
217
217
}
218
-
219
- v4_vi .fnDisableChannel (_v4_vi_chn );
220
- v4_vi .fnDisableDevice (_v4_vi_dev );
221
-
222
- v4_isp .fnExit (_v4_isp_dev );
223
218
}
224
219
225
220
int v4_region_create (char handle , hal_rect rect )
@@ -295,7 +290,6 @@ int v4_sensor_config(void) {
295
290
config .input = v4_config .input_mode ;
296
291
config .rect .width = v4_config .isp .capt .width ;
297
292
config .rect .height = v4_config .isp .capt .height ;
298
-
299
293
if (config .input == V4_SNR_INPUT_MIPI )
300
294
memcpy (& config .mipi , & v4_config .mipi , sizeof (v4_snr_mipi ));
301
295
else if (config .input == V4_SNR_INPUT_LVDS )
@@ -306,24 +300,21 @@ int v4_sensor_config(void) {
306
300
V4_ERROR ("Opening imaging device has failed!\n" );
307
301
308
302
int laneMode = 0 ;
309
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CONF_HSMODE , int ), & laneMode ))
310
- V4_ERROR ("Configuring imaging device lane-splitting mode has failed!\n" );
311
-
312
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CLKON_MIPI , unsigned int ), & config .device ))
313
- V4_ERROR ("Enabling imaging device clocking has failed!\n" );
303
+ ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CONF_HSMODE , int ), & laneMode );
314
304
315
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_RST_MIPI , unsigned int ), & config .device ))
316
- V4_ERROR ("Resetting imaging device has failed!\n" );
305
+ ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CLKON_MIPI , unsigned int ), & config .device );
317
306
318
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CLKON_SENS , unsigned int ), & config .device ))
319
- V4_ERROR ("Enabling imaging sensor clocking has failed!\n" );
307
+ ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_RST_MIPI , unsigned int ), & config .device );
320
308
321
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_RST_SENS , unsigned int ), & config .device ))
322
- V4_ERROR ("Resetting imaging sensor has failed!\n" );
309
+ ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CLKON_SENS , unsigned int ), & config .device );
323
310
324
- if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CONF_DEV , v4_snr_dev ), & config ) && close (fd ))
311
+ ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_RST_SENS , unsigned int ), & config .device );
312
+
313
+ if (ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_CONF_DEV , v4_snr_dev ), & config ))
325
314
V4_ERROR ("Configuring imaging device has failed!\n" );
326
315
316
+ usleep (10000 );
317
+
327
318
ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_UNRST_MIPI , unsigned int ), & config .device );
328
319
329
320
ioctl (fd , _IOW (V4_SNR_IOC_MAGIC , V4_SNR_CMD_UNRST_SENS , unsigned int ), & config .device );
@@ -786,7 +777,7 @@ void v4_system_deinit(void)
786
777
v4_vi .fnStopPipe (_v4_vi_pipe );
787
778
v4_vi .fnDestroyPipe (_v4_vi_pipe );
788
779
789
- v4_vi .fnDisableChannel (_v4_vi_chn );
780
+ v4_vi .fnDisableChannel (_v4_vi_pipe , _v4_vi_chn );
790
781
791
782
v4_sensor_deconfig ();
792
783
@@ -892,8 +883,9 @@ int v4_system_init(char *snrConfig, char mirror, char flip)
892
883
893
884
{
894
885
v4_vi_chn channel ;
895
- channel .size = v4_config .isp .size ;
896
- channel .pixFmt = V4_PIXFMT_RGB_BAYER_8BPP + v4_config .mipi .prec ;
886
+ channel .size .width = v4_config .isp .capt .width ;
887
+ channel .size .height = v4_config .isp .capt .height ;
888
+ channel .pixFmt = V4_PIXFMT_YVU420SP ;
897
889
channel .dynRange = V4_HDR_SDR8 ;
898
890
channel .videoFmt = 0 ;
899
891
channel .compress = V4_COMPR_NONE ;
@@ -902,10 +894,10 @@ int v4_system_init(char *snrConfig, char mirror, char flip)
902
894
channel .depth = 0 ;
903
895
channel .srcFps = -1 ;
904
896
channel .dstFps = -1 ;
905
- if (ret = v4_vi .fnSetChannelConfig (_v4_vi_chn , & channel ))
897
+ if (ret = v4_vi .fnSetChannelConfig (_v4_vi_pipe , _v4_vi_chn , & channel ))
906
898
return ret ;
907
899
}
908
- if (ret = v4_vi .fnEnableChannel (_v4_vi_chn ))
900
+ if (ret = v4_vi .fnEnableChannel (_v4_vi_pipe , _v4_vi_chn ))
909
901
return ret ;
910
902
911
903
{
0 commit comments