Hi,
We need to encode 4ch 1280*960 with 30fps. Does TDA4x encoder can support it?
And how to config 4ch encode in vision_apps/apps/basic_demos/app_encode/ encode demo?
Best regards.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
We need to encode 4ch 1280*960 with 30fps. Does TDA4x encoder can support it?
And how to config 4ch encode in vision_apps/apps/basic_demos/app_encode/ encode demo?
Best regards.
Hi,
Yes, Video encoder IP is capable of encoding 4x1280*960@30fps H264 encoding.
Currently RTOS SDK H264 encoder is limited to support only 2 channels because memory carveout constraint.
1. Please refer to the below user guide for increasing the carveout.
2. You need to develop an application for 4ch config or update the basic_demos/ecnoder app.
Thanks & Regards,
Sunita.
Hi,Sunita Nadampalli:
Thank you for you reply.
1. I will try to carveout memory to support 4ch encode according to this link.
2. With basic_demos/ecnoder app, I can encode 1 channel video. It there any patch or configs to support 2ch encode?
Thanks.
Dear Sunita Nadampalli:
We tried as user guide to carveout memory, but failed to enode 4 channel. Would you please check if any error in my action?
1. Edit the file: vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py
mcu2_1_ddr_non_cache_size = 64*MB - mcu2_0_ddr_non_cache_size;
to
mcu2_1_ddr_non_cache_size = 128*MB - mcu2_0_ddr_non_cache_size;
2. Run gen_linker_mem_map.py
3. Edit mcu2_0/r5_mpu.xs and mcu2_1/r5_mpu.xs with same changes:
3.1 Update:
Before:
MPU.setRegionMeta(index++, non_cache_base_addr + 0*16*MB, MPU.RegionSize_16M, attrs); MPU.setRegionMeta(index++, non_cache_base_addr + 1*16*MB, MPU.RegionSize_16M, attrs); MPU.setRegionMeta(index++, non_cache_base_addr + 2*16*MB, MPU.RegionSize_16M, attrs); MPU.setRegionMeta(index++, non_cache_base_addr + 3*16*MB, MPU.RegionSize_16M, attrs);
After:
MPU.setRegionMeta(index++, non_cache_base_addr + 0*32*MB, MPU.RegionSize_32M, attrs); MPU.setRegionMeta(index++, non_cache_base_addr + 1*32*MB, MPU.RegionSize_32M, attrs);
3.2 Add:
MPU.setRegionMeta(index++, non_cache_base_addr + 2*32*MB, MPU.RegionSize_32M, attrs); MPU.setRegionMeta(index++, non_cache_base_addr + 3*32*MB, MPU.RegionSize_32M, attrs);
4. After that, we run encoder app error (We modify app_encode example to use 4 channel encoding nodes), but we got error message as follows:
Encode graph done!
App Create Graph Done!
62.157835 s: VX_ZONE_ERROR:[ownContextSendCmd:782] Command ack message returned failure cmd_status: -7
62.157858 s: VX_ZONE_ERROR:[ownContextSendCmd:818] tivxEventWait() failed.
62.157879 s: VX_ZONE_ERROR:[ownNodeKernelInit:526] Target kernel, TIVX_CMD_NODE_CREATE failed
62.157885 s: VX_ZONE_ERROR:[ownNodeKernelInit:527] Please be sure the target callbacks have been registered for this core
62.157891 s: VX_ZONE_ERROR:[ownNodeKernelInit:528] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
62.158065 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 5, kernel com.ti.hwa.video_encoder ... failed !!!
62.158077 s: VX_ZONE_ERROR:[vxVerifyGraph:2044] Node kernel init failed
62.158082 s: VX_ZONE_ERROR:[vxVerifyGraph:2098] Graph verify failed
[MCU2_0] 62.158319 s: ==========================================================
[MCU2_0] 62.158414 s: Capture Status: Instance|0
[MCU2_0] 62.158460 s: ==========================================================
[MCU2_0] 62.158504 s: overflowCount: 0
[MCU2_0] 62.158534 s: spuriousUdmaIntrCount: 0
[MCU2_0] 62.158564 s: frontFIFOOvflCount: 0
[MCU2_0] 62.158593 s: crcCount: 0
[MCU2_0] 62.158618 s: eccCount: 0
[MCU2_0] 62.158645 s: correctedEccCount: 0
[MCU2_0] 62.158676 s: dataIdErrorCount: 0
[MCU2_0] 62.158703 s: invalidAccessCount: 0
[MCU2_0] 62.158733 s: invalidSpCount: 0
[MCU2_0] 62.158762 s: strmFIFOOvflCount[0]: 0
[MCU2_0] 62.158794 s: strmFIFOOvflCount[1]: 0
[MCU2_0] 62.158826 s: strmFIFOOvflCount[2]: 83
[MCU2_0] 62.158858 s: strmFIFOOvflCount[3]: 18
[MCU2_0] 62.158905 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
[MCU2_0] 62.158984 s: 0 | 0 | 0 | 0 | 0 |
[MCU2_0] 62.159047 s: 1 | 0 | 0 | 0 | 0 |
[MCU2_0] 62.159108 s: 2 | 0 | 0 | 0 | 0 |
[MCU2_0] 62.159165 s: 3 | 0 | 0 | 0 | 0 |
[MCU2_1] 62.157709 s: VX_ZONE_ERROR:[tivxVideoEncoderCreate:421] Failed to Alloc Video Encoder Object
[MCU2_1] 63.500296 s: TIMEOUT: topazdd_wait_on_sync timed out waiting for writeback 0x01000000.
[MCU2_1] 64.831296 s: TIMEOUT: topazdd_wait_on_sync ti