Hello All,
I have questions about moving and duplicate data in discontinues way from capture buffer to display buffer.
I do my work in linux, not by CCS. I write my program and build it to "*.x64P", reference to two examples videnc_copy and all_codecs.
Then I write application program and build it to "*.x470MV", reference to the example video_loopback.
( ref. dvsdk_3_10_00_12/dmai_2_10_00_06/packages/ti/sdo/dmai/apps/video_loopback )
( ref. dvsdk_3_10_00_12/codec_engine_2_25_01_06/exapmles/ti/sdo/ce/example/codecs/videnc_copy )
( ref. dvsdk_3_10_00_12/codec_engine_2_25_01_06/exapmles/ti/sdo/ce/example/srvers/all_codecs )
The first exercise is work well. The capture resolution is 1920x1080, and merely do copy from capture buffer to diaplay buffer.
This program uses EDMA3 1-dimentional thransfer and the size is 1920-Byte (DMA param, videnc_copy). ==> result: 16 ms/frame
exercise 1:
Src Buffer direct copy Dst Buffer
ABCDEF... --> Alg --> ABCDEF...
The second exercise is inefficiency. The capture resolution is 1920x1080. The first step copy each byte from location x in capture buffer to location 2x in diaplay buffer.
Second step copy each byte from location x in capture buffer to location 2x+1 in diaplay buffer. This program uses EDMA3 2-dimentional thransfer and the size is 1-Byte (DMA param, videnc_copy) ==> result: 50 ms/frame
exercise 2:
Src Buffer duplicate data Dst Buffer
ABCDEF... --> Alg --> AABBCCDDEEFF......
-----------------------------------------------
<detail>
Src Buffer duplicate data Dst Buffer
ABCDEF... --> EDMA --> A B C D E F . . .
--> EDMA --> A B C D E F . . .
In exercise 2, how can I improve program to do copy effectively? or there are other better method?
Hsin-Han