Tool/software: Linux
Hi,
I am currently working on a custom camera board based on DM368. We are facing performance issues if enable audio along with a specific video configuration. Following is the video configuration:
Video mode - Dual stream
Primary codec - H264
Primary resolution - 1080p
Secondary codec - H264/MPEG4/MJPEG(any of these codec selected)
Secondary resolution - D1/4CIF/VGA/CIF/QCIF/QVGA(any of these resolution selected)
We are using internal voice codec of DM368 and following is the configuration:
Encoding - g711/AAC (any of these encoding selected)
sample rate - 8khz/16khz(any of these sample rate selected)
Noise in audio is getting increased gradually and becomes worse after sometime with above configuration. Issue gets resolved if we just change primary stream codec to MPEG4/MJPEG or primary resolution to 960p/lower. It is observed that edma_error interrupt count in /proc/interrupts is getting increased with this specific configuration, this count is zero if any other video combination selected.
cat /proc/interrupts:
CPU0
0: 2542 AINTC csl
1: 0 AINTC csl
2: 1406 AINTC csl
3: 0 AINTC csl
4: 0 AINTC csl
5: 0 AINTC csl
6: 0 AINTC csl
8: 12798 AINTC vpbe-v4l2
9: 194 AINTC IRQK_Handler
10: 2116 AINTC IRQK_Handler
12: 1 AINTC musb-hdrc
16: 8878 AINTC edma
17: 616 AINTC edma_error
26: 0 AINTC mmc0
32: 52787 AINTC clockevent
33: 0 AINTC free-run counter
39: 2462 AINTC i2c_davinci
40: 759 AINTC serial
41: 1 AINTC serial
52: 0 AINTC eth0
53: 9 AINTC eth0
54: 34 AINTC eth0
55: 0 AINTC eth0
Err: 0
The edma_error interrupt count start increasing on board bootup itself and audio issue gets recreated once this interrupt count is around 7000. We tried to reduce processing load by configuring low FPS, in this case rate of edma_error count increment reduced and issue recreation time increased. Does H264 encoder DMA handling have any dependency with 1080p resolution?
Any help would be greatly appreciated