There is few document about VICP (video image co-processor).
I am using TMS320DM6446 chip which has VICP built in.
Question: how can I use it? Is there any video/image library (written for VICP) available?
Thanks.
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.
There is few document about VICP (video image co-processor).
I am using TMS320DM6446 chip which has VICP built in.
Question: how can I use it? Is there any video/image library (written for VICP) available?
Thanks.
Because VICP is very complex to program, this co-processor is used primarily via codecs available from our Authorized Service Providers (ASP) network. If you require access to this, you need to work with your local sales representative (NDA required). For a list of local sales representatives, see
In general you use the VICP through codecs supplied by TI or third party codec providers, documentation is sparse because the peripheral is only really targeted at third party codec providers who work closely with TI, the VICP is not widely supported because of its complexity. There are no individual libraries for using the VICP, except for full codecs which use the VICP. You can see what codecs are available from TI at www.ti.com/digitalmediasoftware many of which utilize the VICP.
If you are developing a codec and you want to use VICP you may want to work with your local TI contact to see if you can be supported in using the VICP, but keep in mind that typically only experienced codec developing companies will be able to use it.
Thanks a lot for sharing. It is helpful.
I checked the www.ti.com/digitalmediasoftware and found a few codec packages for DM643x and DM646x. However, DM6446 is missing.
Do you know where can I find the codec for DM6446? At this moment, I only need JPEG codec.
There should be a DM644x column in the software inventory tab of that site, which gives the codecs that apply to DM6446, there is both a JPEG encoder and decoder available for DM6446.
JPEG Encoder - http://focus.ti.com/docs/toolsw/folders/print/tmdjpege.html
JPEG Decoder - http://focus.ti.com/docs/toolsw/folders/print/tmdjpegd.html
Alan said:There is few document about VICP (video image co-processor).
I am using TMS320DM6446 chip which has VICP built in.
Question: how can I use it? Is there any video/image library (written for VICP) available?
There is a general-purpose signal processing library for it at http://focus.ti.com/docs/toolsw/folders/print/sprc831.html.
Hi,
I am developing an application on DM6446 EVM board with ARM9, DSP, VICP and some peripherals
I got a problem and don't find any solution for that,
Before please note my design details:
1 - The ARM is master and control other parts of system
2 - The boot process is executed from NAND (BTSEL == 00), So after power on, the RBL (ROM Boat Loader) copies
second level boot loader from NAND to ARM IRAM and then my application is loaded to DDR
3 - Based on "spraai4.pdf" and "sprue14c.pdf" documents, I used the ubl to load my own application to DDR
(it is noted that my application does not use any linux so I dont use uboot, I developed specific application)
4 - Binary file of my ARM application from .out was generated with tms470.exe in CCS v3.3
5 - Settings for NAND is J4=NAND, S3[1..4] = 0000 (NAND boot, 8-bit AEMIF, ARM boots DSP)
6 - In my application, first some peripherals of systems (PINMUX, UART, I2C, VPSS) are configured, then DSP and
VICP codes are copied to DDR, then DSPBOOTADDR is programed and finally the ARM releases C64x+ DSP from reset,
7 - The DSP&VICP codes are included in ARM binary file as a header
8 - To program NAND flash I use flash_burn_utility based on following web site
(http://wiki.davincidsp.com/index.php?title=Serial_Boot_and_Flash_Loading_Utility)
9 - The value of PSC_MDSTAT_IMCOP register (0x01C418A0)is 0x1E03 and the value of PSC_MDCTL_IMCOP register (0x01C41AA0) is 0x0003
(I tested them with 0x1F03 and 0x0103 respectively but there is no difference)
All parts of my design works correctly except VICP (actually IMX does not generate interrupt for completion of procedure). for example, I checked above procedure with simple DSP example ("blinding a LED") and the DSP boots and works correctly
Also I checked program with JTAG Emulator when DSP_BT == 1 (J4=NAND, S3[1..4] = 0001), and VICP works correctly in this condition,
Under this circumstances, I flashed NAND but ARM does not boot when DSP_BT == 1(J4=NAND, S3[1..4] = 0001),
I dont really know why VICP does not work when DSP_BT == 0, is it need to initialze EDMA, INTC, MCBSP, ...?
Does EDMA3LLD configuration after system power on conflicts with VICP?
(I dont initialze and configure EDMA3 in ARM application because I think the DSP program initializes it automatically before using VICP in CPIS_Init method)