Spaces:
Runtime error
Runtime error
Ticket Name: RTOS/TDA2: TDA2xx .hdr file and H264 issue | |
Query Text: | |
Part Number: TDA2 Tool/software: TI-RTOS Hi, when I save video (MJPEG) in SD card, it also creates a .hdr file. what's it's purpose? when I save video in H264, the system would hang. below are the error message, please help to give me some advise. Thanks!! ********************************************************************************************************************************************************************************************* [IPU1-0] 25.694442 s: ENCODE: Create in progress ... !!! [IPU1-0] 25.815775 s: ENCODE: Creating CH0 of 768 x 320, pitch = (768, 768) [1] [0], bitrate = 0 Kbps ... [IPU1-0] 25.838681 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000006 (status=ffffffff) !!! [IPU1-0] 25.838833 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000003 (status=ffffffff) !!! [IPU1-0] 25.838925 s: LINK ERR::linkID:50::channelID:0::errorCode:-5::FileName:iva_enc/encLink_h264.c::linuNum:1178::errorCondition:(algStatus == XDM_EOK) [IPU1-0] 25.839077 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000001 (status=ffffffff) !!! [IPU1-0] 25.839169 s: LINK ERR::linkID:50::channelID:0::errorCode:-5::FileName:iva_enc/encLink_h264.c::linuNum:1186::errorCondition:(algStatus == XDM_EOK) [IPU1-0] 25.839352 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000000 (status=ffffffff) !!! [IPU1-0] 25.839443 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000005 (status=ffffffff) !!! [IPU1-0] 25.839535 s: LINK ERR::linkID:50::channelID:0::errorCode:-8::FileName:iva_enc/encLink_h264.c::linuNum:1202::errorCondition:(algStatus == XDM_EOK) [IPU1-0] 25.839748 s: ENCODE: All CH Create ... DONE !!! [IPU1-0] 25.841060 s: ENCODE: Create ... DONE !!! ********************************************************************************************************************************************************************************************** | |
Responses: | |
Hi, .hdr file contains the size of each frame. Even while reading any bitstream data you need to provide both the input 1 input data file 2 input .hdr/index file. About the H264 hang issue, which usecase are you trying to run and have you made any changes in create params ? Regards, Anuj | |
Hi, I create a test usecase base on "tidl_OD_Camers". here is the test case .txt ********************************************************** UseCase: chains_tidlOD_Camera_test Capture -> VPE -> Dup Dup -> Encode -> Null Dup -> Merge Dup -> Alg_tidlpreproc (A15) Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1) Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2) Alg_tidlpreproc (A15) -> Alg_tidl_Eve3 (EVE3) //Alg_tidlpreproc (A15) -> Alg_tidl_Eve4 (EVE4) Alg_tidl_Eve1 (EVE1) -> Merge_OD (DSP1) Alg_tidl_Eve2 (EVE2) -> Merge_OD (DSP1) Alg_tidl_Eve3 (EVE3) -> Merge_OD (DSP1) /Alg_tidl_Eve4 (EVE4) -> Merge_OD (DSP1) Merge_OD (DSP1) -> Alg_tidl_Dsp (DSP1) -> Merge Merge -> Sync -> Alg_ObjectDraw -> Display //GrpxSrc -> Display_Grpx ***************************************************************** create params set as below ***************************************************************************************************************************** pUcObj->NullPrm.dumpDataType = NULL_LINK_COPY_TYPE_FILE; sprintf(pUcObj->NullPrm.nameDataFile[0], "test.h264"); pUcObj->EncodePrm.chCreateParams[0].format = SYSTEM_IVIDEO_H264MP; ****************************************************************************************************************************** Thanks! | |
Hi, does there has any update? or need some more information? Thanks! | |
Hi, Please try 1st a simple usecase with capture -> encode -> null with the same params. and try to debug their. Regards, Anuj | |
Hi, I followed your suggestion, and got the same error messages. Thanks! | |
Hi, Please try to run below usecase from usecase menu after bootup. For BIOS first press 1 then press a. For Linux first press 1 and then press 2. Regards, Anuj | |
Hi, 'a' is an unsupported option!! press 1 to run "Chains_menuSingleCameraRun()" right? but there is no option in this function. Thanks~ | |
Hi, I am asking to press 1 on the usecase menu which we get after board boot up. After pressing 1 you will get again a menu there you have to press a. Regards, Anuj | |
Hi, after boot up, press 1 is to run "Single Camera Usecases" after pressing 1, I got no menu, only one option x. and got "Unsupported option 'a'. Please try again" when pressing a. ********************************************************* [IPU1-0] Single Camera Usecases [IPU1-0] ------------------------ [IPU1-0] [IPU1-0] x: Exit [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 237.657018 s: [IPU1-0] 237.657079 s: Unsupported option 'a'. Please try again [IPU1-0] 237.657231 s: [IPU1-0] [IPU1-0] Single Camera Usecases [IPU1-0] ------------------------ [IPU1-0] [IPU1-0] x: Exit [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] ********************************************************** Thanks~~ | |
Hi, Have you diabled the usecase from uc_cfg.mk? Please enable all the usecase and try option 1 and then a. Assuming you are running bios on A15 not linux. Regards, Anuj | |
Hi, Its benn very long since any update on this issue, Is it still open? Regards, Anuj | |
Hi, I am running RTOS on M4, chains_main_bios_vision.c is my menu file. and option 1 in chains_main_bios_vision.c is "Chains_menuSingleCameraRun()" below is the context of "Chains_menuSingleCameraRun()", and without option a. ####################################################################### Void Chains_menuSingleCameraRun() { char ch; Bool done = FALSE; while(!done) { Vps_printf(gChains_menuSingleCameraUsecases); ch = Chains_readChar(); Vps_printf(" \r\n"); switch(ch) { #ifdef UC_vip_single_cam_sgx_display case '1': chains_vipSingleCam_SgxDisplay(&gChains_usecaseCfg); break; #endif #ifndef IPUMM_INCLUDE #ifdef UC_vip_single_cam_enc_dec_sgx_display case '2': chains_vipSingleCam_Enc_Dec_SgxDisplay(&gChains_usecaseCfg); break; #endif #endif #ifdef UC_vip_single_cam_framecopyEve_sgx_display case '3': gChains_usecaseCfg.algProcId = SYSTEM_PROC_EVE1; chains_vipSingleCamFrmcpyEve_SgxDisplay(&gChains_usecaseCfg); break; #endif #ifdef FPD_DISPLAY #ifdef UC_vip_single_cam_dualSgxDisplay case '4': chains_vipSingleCam_SGX_IpuDualDisplay(&gChains_usecaseCfg); break; #endif #endif #ifndef IPUMM_INCLUDE #ifdef UC_null_src_decode_display case '5': gChains_usecaseCfg.numLvdsCh = 1; Chains_nullSrc_DecodeDisplay(&gChains_usecaseCfg); break; #endif #endif #ifdef UC_vip_single_cam_framecopy_sgx_display case '6': chains_vipSingleCamFrameCopySgxDisplay(&gChains_usecaseCfg); break; #endif #ifdef UC_vip_single_cam_connectorLinksA15_sgx_display case '7': chains_vipSingleCamConnectorLinksA15SgxDisplay(&gChains_usecaseCfg); break; #endif #ifdef UC_disp_dist_src_display case '8': Chains_dispDistSrc_Display(&gChains_usecaseCfg); break; #endif case 'x': case 'X': done = TRUE; break; default: Vps_printf(" Unsupported option '%c'. Please try again\n", ch); break; } } } ############################################################################### do I misunderstand something? Thanks~ | |
Hi, Which version of VSDK are you using? My Chains_menuSingleCameraRun is like below Void Chains_menuSingleCameraRun() { Chains_Ctrl usecaseCfg; char ch; Bool done = FALSE; while(!done) { Chains_statCollectorReset(); Vps_printf(gChains_menuSingleCameraUsecases); ch = Chains_readChar(); Vps_printf(" \r\n"); switch(ch) { #ifdef UC_vip_single_cam_view case '1': Chains_vipSingleCam_Display(&gChains_usecaseCfg); break; #endif #ifdef UC_vip_single_cam_frame_copy case '2': gChains_usecaseCfg.algProcId = SYSTEM_PROC_DSP1; Chains_vipSingleCameraFrameCopy(&gChains_usecaseCfg); break; #endif #ifdef UC_vip_single_cam_frame_copy case '3': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_EVE1; Chains_vipSingleCameraFrameCopy(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_frame_copy case '4': if(Bsp_platformIsTda2xxFamilyBuild()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_A15_0; Chains_vipSingleCameraFrameCopy(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_edge_detection case '5': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_EVE1; Chains_vipSingleCameraEdgeDetection(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_dense_optical_flow case '6': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { gChains_usecaseCfg.numLvdsCh = 1; usecaseCfg = gChains_usecaseCfg; Chains_vipSingleCameraDenseOpticalFlow(&usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_sparse_optical_flow case '7': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { Chains_vipSingleCameraSparseOpticalFlow(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_subframe_copy case '8': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { Chains_vipSingleCameraSubFrameCopy(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_view_dsswb case '9': if(Bsp_platformIsTda3xxFamilyBuild()) { Chains_vipSingleCam_DisplayWbCrc(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_view_encdec case 'a': case 'A': if(Bsp_platformIsTda2xxFamilyBuild()) { Chains_vipSingleCam_EncDec_Display(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_lane_detection case 'b': case 'B': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { usecaseCfg = gChains_usecaseCfg; if( usecaseCfg.captureSrc!= CHAINS_CAPTURE_SRC_HDMI_1080P ) { Vps_printf(" ### ONLY HDMI 1080p60 input supported for this usecase "); Vps_printf(" ### Please choose HDMI 1080p60 Capture Source using option 's'\n"); break; } Chains_vipSingleCameraLaneDetect(&gChains_usecaseCfg); /* No HDMI input for monstercam */ } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_sfm case 'c': case 'C': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { usecaseCfg = gChains_usecaseCfg; if( usecaseCfg.captureSrc!= CHAINS_CAPTURE_SRC_HDMI_1080P ) { Vps_printf(" ### ONLY HDMI 1080p60 input supported for this usecase "); Vps_printf(" ### Please choose HDMI 1080p60 Capture Source using option 's'\n"); break; } Chains_vipSingleCameraSfm(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_tlr case 'd': case 'D': usecaseCfg = gChains_usecaseCfg; if( usecaseCfg.captureSrc!= CHAINS_CAPTURE_SRC_HDMI_1080P ) { Vps_printf(" ### ONLY HDMI 1080p60 input supported for this usecase "); Vps_printf(" ### Please choose HDMI 1080p60 Capture Source using option 's'\n"); break; } Chains_vipSingleCameraTlr(&gChains_usecaseCfg); break; #endif #ifdef UC_vip_single_cam_object_detection2 case 'e': case 'E': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { usecaseCfg = gChains_usecaseCfg; #if 0 if( usecaseCfg.captureSrc!= CHAINS_CAPTURE_SRC_HDMI_1080P ) { Vps_printf(" ### ONLY HDMI 1080p60 input supported for this usecase "); Vps_printf(" ### Please choose HDMI 1080p60 Capture Source using option 's'\n"); break; } #endif Chains_vipSingleCameraObjectDetect2Tda3xx(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_analytics2 case 'f': case 'F': if(BSP_PLATFORM_SOC_ID_TDA2EX != Bsp_platformGetSocId()) { usecaseCfg = gChains_usecaseCfg; if( usecaseCfg.captureSrc!= CHAINS_CAPTURE_SRC_HDMI_1080P ) { Vps_printf(" ### ONLY HDMI 1080p60 input supported for this usecase "); Vps_printf(" ### Please choose HDMI 1080p60 Capture Source using option 's'\n"); break; } Chains_vipSingleCameraAnalytics2(&gChains_usecaseCfg); } else { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } break; #endif #ifdef UC_vip_single_cam_frame_copy_safety case 'G': case 'g': #ifdef ECC_FFI_INCLUDE gChains_usecaseCfg.algProcId = SYSTEM_PROC_DSP1; Chains_vipSingleCameraSafeFrameCopy(&gChains_usecaseCfg); #else Vps_printf(" ### ECC_FFI_INCLUDE is not enabled!!!! \n"); #endif break; #endif #ifdef UC_vip_single_cam_frame_copy_safety case 'h': case 'H': #ifdef ECC_FFI_INCLUDE if(BSP_PLATFORM_SOC_ID_TDA3XX == Bsp_platformGetSocId()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_EVE1; Chains_vipSingleCameraSafeFrameCopy(&gChains_usecaseCfg); } else if(BSP_PLATFORM_SOC_ID_TDA2EX == Bsp_platformGetSocId()) { Vps_printf(" ### TDA2Ex do not have EVE core, usecase with EVE is not supported \n"); } else { Vps_printf(" ### FFI on EVE is supported in VisionSDK only on TDA3x\n"); } #else Vps_printf(" ### ECC_FFI_INCLUDE is not enabled!!!! \n"); #endif break; #endif #ifdef UC_vip_single_cam_frame_copy_safety case 'i': case 'I': if(Bsp_platformIsTda2xxFamilyBuild()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_A15_0; Chains_vipSingleCameraSafeFrameCopy(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_opencvcanny case 'j': case 'J': if(Bsp_platformIsTda2xxFamilyBuild()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_A15_0; Chains_vipSingleCamOpenCVCanny(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_opencvopencldilation case 'k': case 'K': if(Bsp_platformIsTda2xxFamilyBuild()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_A15_0; Chains_vipSingleCamOpenCVOpenCLDilation(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_display_metadata case 'l': case 'L': { Chains_vipSingleCam_Display_Metadata(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_opencvtests case 'm': case 'M': if(Bsp_platformIsTda2xxFamilyBuild()) { gChains_usecaseCfg.algProcId = SYSTEM_PROC_A15_0; Chains_vipSingleCamOpenCVTests(&gChains_usecaseCfg); } #endif #ifdef UC_null_src_dec_display case 'n': case 'N': { gChains_usecaseCfg.numLvdsCh = 1; Chains_nullSrc_DecodeDisplay(&gChains_usecaseCfg); } break; #endif #ifdef UC_vip_single_cam_view_autosar_app case 'o': case 'O': Chains_vipSingleCam_Display_Autosar(&gChains_usecaseCfg); break; #endif case 'x': case 'X': done = TRUE; usecaseCfg = usecaseCfg; /* to avoid unused variable warning */ break; default: Vps_printf(" Unsupported option '%c'. Please try again\n", ch); break; } } } Regards, Anuj | |
Hi, my VSDK version is 03_04, I also check VSDK 03_05, it is the same as 03_04 Thanks~~ | |
Hi, In VSDK 3.04 and 3.05 and 3.06 all contain the same implementation of Chains_menuSingleCameraRun() 3.05 and 3.06 has a addition of a usecase with option o. But all will have the option a. and when you run you will get a usecase menu like below. [IPU1-0] Single Camera Usecases [IPU1-0] ------------------------ [IPU1-0] 1: 1CH VIP capture + Display [IPU1-0] 2: 1CH VIP capture + Alg Frame Copy (DSP1) + Display [IPU1-0] 3: 1CH VIP capture + Alg Frame Copy (EVE1) + Display [IPU1-0] 4: 1CH VIP capture + Alg Frame Copy (A15) + Display [IPU1-0] 5: 1CH VIP capture + Edge Detect (EVE1) + Display [IPU1-0] 6: 1CH VIP capture + Dense Optical Flow (EVEx) + Display (HDMI) [IPU1-0] 7: 1CH VIP capture (HDMI) + Sparse Optical Flow (EVE1) + Display [IPU1-0] 8: 1CH VIP capture + Alg Subframe Copy (EVE1) + Display [IPU1-0] a: 1CH VIP capture + ENC + DEC + VPE + Display [IPU1-0] b: 1CH VIP capture (HDMI) + Lane Detect (DSP1 + EVE1) + Display [IPU1-0] c: 1CH VIP capture (HDMI) + SOF (EVE1) + SFM (DSP1) + Display [IPU1-0] d: 1CH VIP capture (HDMI) + Traffic Light Recognition (TLR) (DSP1) + Display [IPU1-0] e: 1CH VIP capture (HDMI) + Pedestrian, Traffic Sign, Vehicle Detect 2 (EVE1 + DSP1) + Display [IPU1-0] f: 1CH VIP capture (HDMI) + FrontCam Analytics 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx, EVEx) + Display (HDMI) [IPU1-0] g: 1CH VIP capture + QM Alg Frame Copy with FFI (DSP1) + Display [IPU1-0] h: 1CH VIP capture + QM Alg Frame Copy with FFI (EVE1) + Display (TDA3x only) [IPU1-0] i: 1CH VIP capture + Safe Frame Copy (A15) + Display [IPU1-0] n: NullSrc (File IO) + Decode + Display It seems like you have done some modification in your VSDK. Please download VSDK 3.04 and compare. Regards, Anuj | |
Hi, I found the correct file. I will try to test this function. Thanks~ | |