arjun.a
range data
5aefcf4
raw
history blame
16.5 kB
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~