@@ -1044,28 +1044,55 @@ gst_tiovx_isp_init_module (GstTIOVXMiso * miso,
10441044 self -> viss_obj .input .params .meta_height_after );
10451045
10461046
1047- /* Initialize the output parameters.
1048- * TODO: Only output for 12 or 8 bit is enabled, so only output2
1049- * parameters are specified.
1050- */
1051- self -> viss_obj .output_select [0 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1052- self -> viss_obj .output_select [1 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1053- self -> viss_obj .output_select [2 ] = TIOVX_VISS_MODULE_OUTPUT_EN ;
1054- self -> viss_obj .output_select [3 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1055- self -> viss_obj .output_select [4 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1047+
1048+ /* Initialize tiovx params */
1049+ tivx_vpac_viss_params_init (& self -> viss_obj .params );
10561050
10571051 src_caps = gst_pad_get_current_caps (GST_PAD (src_pad ));
10581052 if (!gst_video_info_from_caps (& out_info , src_caps )) {
10591053 GST_ERROR_OBJECT (self , "Failed to get info from output caps: %"
10601054 GST_PTR_FORMAT , src_caps );
10611055 goto out ;
10621056 }
1057+ #if defined(SOC_AM62A )
1058+ self -> viss_obj .params .bypass_pcid = 0 ;
1059+
1060+ self -> viss_obj .params .enable_ir_op = TIVX_VPAC_VISS_IR_DISABLE ;
1061+ self -> viss_obj .params .enable_bayer_op = TIVX_VPAC_VISS_BAYER_ENABLE ;
1062+
1063+ if (self -> viss_obj .params .enable_ir_op ) {
1064+ self -> viss_obj .output_select [0 ] = TIOVX_VISS_MODULE_OUTPUT_EN ;
1065+ self -> viss_obj .output_select [1 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1066+ self -> viss_obj .output_select [2 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1067+ self -> viss_obj .output_select [3 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1068+ self -> viss_obj .output_select [4 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1069+
1070+ self -> viss_obj .output0 .bufq_depth = 1 ;
1071+ self -> viss_obj .output0 .color_format =
1072+ gst_format_to_vx_format (out_info .finfo -> format );
1073+ self -> viss_obj .output0 .width = GST_VIDEO_INFO_WIDTH (& out_info );
1074+ self -> viss_obj .output0 .height = GST_VIDEO_INFO_HEIGHT (& out_info );
1075+ }
10631076
1064- self -> viss_obj .output2 .bufq_depth = 1 ;
1065- self -> viss_obj .output2 .color_format =
1066- gst_format_to_vx_format (out_info .finfo -> format );
1067- self -> viss_obj .output2 .width = GST_VIDEO_INFO_WIDTH (& out_info );
1068- self -> viss_obj .output2 .height = GST_VIDEO_INFO_HEIGHT (& out_info );
1077+ if (self -> viss_obj .params .enable_bayer_op )
1078+ #endif
1079+ {
1080+ /* Initialize the output parameters.
1081+ * TODO: Only output for 12 or 8 bit is enabled, so only output2
1082+ * parameters are specified.
1083+ */
1084+ self -> viss_obj .output_select [0 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1085+ self -> viss_obj .output_select [1 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1086+ self -> viss_obj .output_select [2 ] = TIOVX_VISS_MODULE_OUTPUT_EN ;
1087+ self -> viss_obj .output_select [3 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1088+ self -> viss_obj .output_select [4 ] = TIOVX_VISS_MODULE_OUTPUT_NA ;
1089+
1090+ self -> viss_obj .output2 .bufq_depth = 1 ;
1091+ self -> viss_obj .output2 .color_format =
1092+ gst_format_to_vx_format (out_info .finfo -> format );
1093+ self -> viss_obj .output2 .width = GST_VIDEO_INFO_WIDTH (& out_info );
1094+ self -> viss_obj .output2 .height = GST_VIDEO_INFO_HEIGHT (& out_info );
1095+ }
10691096
10701097 GST_INFO_OBJECT (self ,
10711098 "Output parameters:\n"
0 commit comments