NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
C64x+ and Davinci codec performance tables
Important Note:
The software found on this site is available for download, but is no longer being actively developed. This wiki is in maintenance mode and the software is supported on C6000 DSP E2E forum
Contents
- 1 Scope
- 2 DM6467 - 729 Mhz Video Decoder
- 3 DM6467 - 594 MHz Video Decoder
- 4 DM6467 - 729 MHz Video Encoder
- 5 DM6467 - 594 MHz Video Encoder
- 6 DM6446 - 594 MHz Video Decoder
- 7 DM6446 - 594 MHz Video Encoder
- 8 DM648 - 900MHz Video Decoder
- 9 DM648 - 900 MHz Video Encoder
- 10 C64x+ Video Decoder
- 11 C64x+ Video Encoder
- 12 C64x+ Based Resizing Kernels
- 13 See Also
Scope[edit]
- Document provides codec performances for
- Video Encoder and Decoder (DM6446, DM6467, DM648, C64x)
- Video Post Processing (DM6467)
- C64x+ based Resize kernels
- Assumptions
- Performance numbers are based on DSP and Coprocessor usage.
- Performance numbers listed are per channel and they are the peak performances for a given bitstream.
- C64x+ based performance can be used for devices using only C64x+ core.
- Multichannel codecs are available only from TI Third Parties
- System Level Analysis should be done for any application. Such as:
- DDR bandwidth usage
- Video Input and Output capabilities of the device.
- Terminology
- RFS – Request free software from TI eStore
- http://www.go-dsp.com/forms/TIDigitalMediaSWCM/index.htm?DCMP=DSP_DigitalMediaSW&HQS=Other+OT+requestfreesoftware
DM6467 - 729 Mhz Video Decoder[edit]
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | DDR BW (MB/s) |
HDVICP (MHz) |
CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
H264 | BP | 1080p | 30 | 2 | 750 | 280 | 320 | Upto 20 Mbps | riverbed_1920x1080_420p_BP.264 | RFS |
H264 | BP | 720p | 30 | 3 | 330 | 124 | 140 | Upto 14 Mbps | Available | RFS |
H264 | BP | D1 | 30 | 8 | 124 | 46 | 55 | Upto 10 Mbps | Available | RFS |
H264 | BP | CIF | 30 | 16 | 46 | 18 | 16 | Upto 4 Mbps | Available | RFS |
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | HDVICP (MHz) |
CPU/ DSP (MHz) | Input Bit Rate | Status | Software Channel* |
MPEG2 | MP@ HL | 1080p | 30 | 2 | 270 | 10 | Upto 80 Mbps | Available | RFS |
MPEG2 | MP | 720p | 30 | 5 | 120 | 5 | Upto 60 Mbps | Available | RFS |
MPEG2 | MP@ ML | D1 | 30 | 10 | 45 | 2 | Upto 15 Mbps | Available | RFS |
MPEG2 | MP@ ML | CIF | 30 | 16 | 13 | 0.5 | Upto 4 Mbps | Available | RFS |
DM6467 - 594 MHz Video Decoder[edit]
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | DDR BW (MB/s) |
HDVICP (MHz) |
CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
H264 | BP | 1080p | 30 | 1 | 750 | 280 | 320 | Upto 20 Mbps | riverbed_1920x1080_420p_BP.264 | RFS |
H264 | BP | 720p | 30 | 2 | 330 | 124 | 140 | Upto 14 Mbps | Available | RFS |
H264 | BP | D1 | 30 | 4 | 124 | 46 | 55 | Upto 10 Mbps | Available | RFS |
H264 | BP | CIF | 30 | 12 | 46 | 18 | 16 | Upto 4 Mbps | Available | RFS |
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | HDVICP (MHz) |
CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
MPEG2 | MP@ HL | 1080p | 30 | 2 | 270 | 10 | Upto 80 Mbps | Available | RFS |
MPEG2 | MP | 720p | 30 | 4 | 120 | 5 | Upto 60 Mbps | Available | RFS |
MPEG2 | MP@ ML | D1 | 30 | 8 | 45 | 2 | Upto 15 Mbps | Available | RFS |
MPEG2 | MP@ ML | CIF | 30 | 12 | 13 | 0.5 | Upto 4 Mbps | Available | RFS |
DM6467 - 729 MHz Video Encoder[edit]
Video Encoder | Profile | High Speed/ Quality | Resolution | Frame Rate | Channel Density | HDVICP (MHz) |
CPU/ DSP (MHz) | Latency | Output Bit Rate | Features/Status | Software Channel* |
H264 | BP | Speed | 720p | 30 | 1 | 270 | 339 | < 85ms | Upto 14 Mbps | Available, CABAC coding, No 4 MV, Limited MP, HP with 8x8 transform support | RFS |
H264 | BP | Speed | D1 | 30 | 5 | 101 | 135 | < 50 ms | Upto 10 Mbps | Available, No 4 MV, Both HDVICP and DSP | RFS |
H264 | BP | Speed | CIF | 30 | 16 | 37 | 34 | < 50 ms | Upto 4 Mbps | Available, No 4 MV, Both HDVICP and DSP | RFS |
DM6467 - 594 MHz Video Encoder[edit]
Video Encoder | Profile | High Speed/ Quality | Resolution | Frame Rate | Channel Density | HDVICP (MHz) | CPU/ DSP (MHz) | Latency | Output Bit Rate | Features/Status | Software Channel* |
H264 | BP | Speed | 720p | 30 | 1 | 270 | 339 | < 85ms | Upto 14 Mbps | Available, CABAC coding, No 4 MV, Limited MP, HP with 8x8 transform support | RFS |
H264 | BP | Speed | D1 | 30 | 4 | 101 | 135 | < 50 ms | Upto 10 Mbps | Available, No 4 MV, Both HDVICP and DSP | RFS |
H264 | BP | Speed | CIF | 30 | 12 | 37 | 34 | < 50 ms | Upto 4 Mbps | Available, No 4 MV, Both HDVICP and DSP | RFS |
DM6446 - 594 MHz Video Decoder[edit]
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
H264 | BP | CIF | 30 | 4 | 121 | upto 2 Mbps | traffic_multiple_slice_aso.264,YUV422ILE, only ASO present on all frames | RFS |
H264 | BP | D1 | 30 | 1 | 336 | upto 4 Mbps | sheilds_720x480_1MV.264 , YUV422ILE | RFS |
MPEG4 | SP | CIF | 30 | 8 | 64 | upto 4 Mbps | Available, non erroneous streams without DP/RVLC/error concealment/post-processing routines cif_high_100f_fixedqp20_nofilter.yuv |
RFS |
MPEG4 | SP | VGA | 30 | 1 | 340 | upto 4 Mbps | Deblocking Derining VGA oreman_vga_dp0.yuv, MPEG4 (YUV420) |
RFS |
MPEG4 | SP | D1 | 30 | 2 | 199 | upto 10 Mbps | non erroneous streams without DP/RVLC/error concealment/post-processing routines | RFS |
MPEG2 | MP@ML | CIF | 30 | 8 | 60 | upto 4 Mbps | Available | RFS |
MPEG2 | MP@ML | D1 | 30 | 2 | 211 | upto 10 Mbps | Available | RFS |
MPEG2 | MP | 720p | 30 | 1 | 561 | upto 14 Mbps | Available | RFS |
DM6446 - 594 MHz Video Encoder[edit]
Video Encoder | Profile | High Speed/ Quality | Resolution | Latency | Frame Rate | Channel Density | CPU/ DSP (MHz) | Output Bit Rate | Features/Status | Software Channel* |
H264 | BP | Speed | CIF | < 50 ms | 30 | 3 | 146 | upto 2 Mbps | Without 4-MV and early-skip support | RFS |
H264 | BP | Speed | D1 | < 50 ms | 30 | 1 | 385 | upto 4 Mbps | Without 4-MV and early-skip support | RFS |
H264 | BP | Quality | CIF | < 50 ms | 30 | 2 | 146 | upto 2 Mbps | mobile_p352x288_30fps_420pl_300fr IntraPeriod=1sec (encoding Frame rate=30 fps), rcAlgo=PLR4_RC, NFAVG=100 |
RFS |
H264 | BP | Quality | D1 | < 50 ms | 30 | 1 | 452 | upto 4 Mbps | sheilds_720x480_422i_252frames.yuv, rcAlgo= PLR4_RC, NFAVG=252 | RFS |
MPEG4 | SP | Speed | CIF | < 50 ms | 30 | 6 | 83 | upto 2 Mbps | Available, Without RPS ME | RFS |
MPEG4 | SP | Speed | D1 | < 50 ms | 30 | 2 | 256 | upto 5 Mbps | Without RPS ME, Fire_420.yuv, YUV420/NTSC 1MV, HPI on, UMV on |
RFS |
MPEG4 | SP | Speed | 720p | < 85 ms | 25 | 1 | 533 | upto 12 Mbps | Available, half-pel ME disabled, higher frequency of I-frames | RFS |
MPEG4 | SP | Quality | CIF | < 50 ms | 30 | 5 | 95 | upto 2 Mbps | Available, With RPS ME + RC improvements | RFS |
MPEG4 | SP | Quality | D1 | < 50 ms | 30 | 1 | 290 | upto 5 Mbps | Available, With RPS ME + RC improvements | RFS |
JPEG 422 | BL, Seq | D1 | 30 | 3 | 165 | upto 5 Mbps | Available | RFS |
DM648 - 900MHz Video Decoder[edit]
Video Decoder | Profile | Resolution | Frame Rate | Channel Density | CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
H264 | BP | CIF | 30 | 7 | 112 | Upto 2096 | traffic_multiple_slice_aso.264, YUV422ILE, only ASO present on all frames, CIF (352x288) |
RFS |
H264 | BP | D1 | 30 | 3 | 293 | Upto 4096 | foreman_vga_1mbps_100f.264, YUV422ILE, 4 MV, VGA 201 293 (640x480), @ 1 mbps |
RFS |
MPEG4 | SP | CIF | 30 | 16 | 72 | Upto 4096 | cif_high_fixedqp20_nofilter.yuv YUV420 | RFS |
MPEG4 | SP | D1 | 30 | 4 | 212 | upto 10 Mbps | hp_720x480.yuv, MPEG4, YUV420. The performance with Deringing, Deblocking enabled 354 MHz | RFS |
MPEG4 | SP | 720p | 30 | 1 | 563 | upto 14 Mbps | Available | RFS |
MPEG2 | MP | CIF | 30 | 16 | 50 | Upto 4096 | Available | RFS |
MPEG2 | MP | D1 | 30 | 4 | 190 | upto 10 Mbps | Available | RFS |
DM648 - 900 MHz Video Encoder[edit]
Video Encoder | Profile | High Speed/ Quality | Resolution | Latency | Frame Rate | Channel Density | CPU/ DSP (MHz) | Output Bit Rate | Features/Status | Software Channel* |
H264 | BP | speed | CIF | < 50 ms | 30 | 6 | 118 | upto 2 Mbps | Available, NO 4-MV | RFS |
H264 | BP | speed | D1 | < 50 ms | 30 | 2 | 399 | upto 4 Mbps | Tennis.yuv, YUV420/704x480 | RFS |
H264 | BP | Quality | CIF | < 50 ms | 30 | 6 | 130 | upto 2 Mbps | mobile.yuv, YUV420/352x288 @ 768 kbps @ 30 fps with 1 MV, QPI, LPF, UMV, high quality preset, 100 frames |
RFS |
H264 | BP | Quality | D1 | < 50 ms | 30 | 1 | 435 | upto 4 Mbps | ti_commercial_720x576.yuv, 1 MV, QPI, LPF, UMV-enabled | RFS |
MPEG4 | SP | Quality | CIF | < 50 ms | 30 | 6 | 103 | upto 2 Mbps | Available, RPS (ME) + RC improvements and at lower bitrates | RFS |
MPEG4 | SP | Quality | D1 | < 50 ms | 30 | 2 | 352 | upto 5 Mbps | Fire_420.yuv, YUV420/NTSC D1 @ 4 Mbps with 1MV, HPI on. UMV on. | RFS |
MPEG4 | SP | Speed | CIF | < 50 ms | 30 | 7 | 106 | upto 2 Mbps | Mobile.yuv, YUV420/CIF @ 512 Kbps with 1MV, HPI on. UMV on. | RFS |
MPEG4 | SP | Speed | D1 | < 50 ms | 30 | 2 | 282 | upto 5 Mbps | Available on DM6446, Without RPS ME, Fire_420.yuv, YUV420/NTSC D1 with 1MV, HPI on, UMV on |
RFS |
JPEG 422 | BL, Seq | 768x512 | 768x512 | 30 | 3 | 40 Mpixel/sec | Available, YUV 422 input | RFS |
C64x+ Video Decoder[edit]
Video Decoder | Profile | Resolution | Frame Rate | CPU/ DSP (MHz) | Input Bit Rate | Features/Status | Software Channel* |
H264 | BP | CIF | 30 | 121 | upto 2 Mbps | traffic_multiple_slice_aso.264,YUV422ILE, only ASO present on all frames | RFS |
H264 | BP | D1 | 30 | 336 | upto 4 Mbps | sheilds_720x480_1MV_1_5Mbps.264 , YUV422ILE, 1MV, D1 (720x480) @ 220 336 1.5Mbps |
RFS |
MPEG4 | SP | CIF | 30 | 64 | upto 4 Mbps | Available, non erroneous streams without DP/RVLC/error concealment/post-processing routines cif_high_256kbps_100f_fixedqp20_nofilter.yuv, MPEG4, YUV420, CIF @ 256 kbps |
RFS |
MPEG4 | SP | VGA | 30 | 340 | upto 4 Mbps | Deblocking Derining VGA oreman_vga_dp0.yuv, MPEG4 (YUV420, VGA @ 3 mbps) |
RFS |
MPEG4 | SP | D1 | 30 | 199 | upto 10 Mbps | non erroneous streams without DP/RVLC/error concealment/post-processing routines | RFS |
MPEG4 | SP | 720p | 30 | 529 | upto 14 Mbps | non erroneous streams without DP/RVLC/error concealment/post-processing routines | RFS |
MPEG2 | MP@ML | CIF | 30 | 60 | upto 4 Mbps | Available | RFS |
MPEG2 | MP@ML | D1 | 30 | 211 | upto 10 Mbps | Available | RFS |
MPEG2 | MP | 720p | 30 | 561 | upto 14 Mbps | Under development | RFS |
Important Notes[edit]
referring to the current C64x+ codecs download page: [1]
- the current implementation of C64x+ H264 decoder v2.00.002 does not support DM648 or C6455 since the values for the QDMA internal addresses are hard coded, and the memory map for these devices is different than the memory map for the DM644x/DM646x/DM643x
- Workaround: for C645x, the DM648 native version can be used, though, since the decoder does not use VICP resources, and the memory map is similar. This H264 decoder version 1.12 is provided in the DVSDK 1.11 for DM648
- the current implementation of C64x+ MPEG4 SP Decode – v2.00.011 does not support DM648 or C6455 since the values for the QDMA internal addresses are hard coded, and the memory map for these devices is different than the memory map for the DM644x/DM646x/DM643x
- Workaround: for C645x, the DM648 native version can be used, though, since the decoder does not use VICP resources, and the memory map is similar. This Mpeg-4 decoder version 1.11 is provided in the DVSDK 1.11 for DM648
- the current implementation of C64x+ MPEG2 Decode – v2.00.010 does not support DM648 or C6455 since the values for the QDMA internal addresses are hard coded, and the memory map for these devices is different than the memory map for the DM644x/DM646x/DM643x
- Workaround: Mpeg-2 is not offered for DM648 devices so it is not possible to use it
- Jpeg decode and audio decode should not have any issue since they do not use QDMA
- the download page will need to be changed accordingly
To help in porting each application using a specific codec on a different platform please refer to application note sprab73
It explains very clearly what the changes are across devices and what needs to be done
C64x+ Video Encoder[edit]
Video Encoder | Profile | High Speed/ Quality | Resolution | Latency | Frame Rate | CPU/ DSP (MHz) | Output Bit Rate | Features/Status | Software Channel* |
H264 | BP | speed | CIF | < 50 ms | 30 | 165 | upto 2 Mbps | Available, NO 4-MV | RFS |
H264 | BP | speed | D1 | < 50 ms | 30 | 600 | upto 4 Mbps | Available, NO 4-MV | RFS |
H264 | BP | Quality | CIF | < 50 ms | 30 | 168 | upto 2 Mbps | mobile.yuv, YUV422/CIF High Quality Preset | RFS |
H264 | BP | Quality | D1 | < 50 ms | 30 | 674 | upto 4 Mbps | ti_commercial_720x576.yuv, 1 MV, QPI, LPF, UMV enabled, High Quality Preset, 75 frames |
RFS |
MPEG4 | SP | Quality | CIF | < 50 ms | 30 | 100 | upto 2 Mbps | Mobile.yuv, YUV420 with 1MV, HPI on. UMV on. |
RFS |
MPEG4 | SP | Quality | D1 | < 50 ms | 30 | 359 | upto 5 Mbps | Fire_422.yuv, YUV422/NTSC 1MV, HPI on. UMV on. | RFS |
MPEG4 | SP | Speed | CIF | < 50 ms | 30 | 92 | upto 2 Mbps | Mobile.yuv, YUV420/CIF 1MV, HPI on. UMV on. | RFS |
MPEG4 | SP | Speed | D1 | < 50 ms | 30 | 332 | upto 5 Mbps | Fire_422.yuv, YUV422/NTSC 1MV, HPI on. UMV on. | RFS |
Important notes[edit]
referring to the C64x+ codecs download page: [2]
- the current implementation of C64x+ MPEG4 Encode– v2.02.00.02, C64x+ H.264 BP Encode – 02.02.01, C64x+ MPEG2 Decode – v2.00.010 do not support DM648 or C645x since the values for the QDMA internal addresses are hard coded, and the memory map for these devices is different than the memory map for the DM644x/DM646x/DM643x
Workaround: since the H264 and Mpeg-4 native encoders for DM648 use the VICP, they cannot be used on C645x, so it is not possible to use them
- Jpeg encode and audio encoders should not have any issue since they do not use QDMA
- the download page will need to be changed accordingly
To help in porting each application using a specific codec on a different platform please refer to application note sprab73 It explains very clearly what the changes are across devices and what needs to be done
C64x+ Based Resizing Kernels[edit]
- Resize Performance is simulated using horizontal and vertical kernels. The resizing kernels in the Image Lib can be used to generate resizing algorithms. The resizing algorithms are not available from TI in the Image library.
- Optimized Polyphase filter kernel is available for upto 64 filter taps
- Sub partitioned as 4 tap – 16 phase, 8 tap – 8 phase, 12 tap - 5 phase and 16 tap - 4 phase polyphase filter
- Number of tabs can increment in multiple of 4 upto 16 taps.
- Assumptions
- Data is for YUY420 Image with 16 bit input and 16 bit coefficient.
- Data is in the internal memory.
- Sequence of Downsizing
- First horizontal resizing and then vertical resizing.
- This is to enable better performance in vertical filtering.
- Sequence of Upsizing
- First vertical resizing and then horizontal resizing.
- This is to enable better performance in vertical filtering.
- DSP is running at 594 MHz.
- The performance numbers are in Microseconds.
Input Output | 320 x 240 | 720 x 480 | 1280 x 720 |
16-tap | |||
1920 x 1080 | 9299 | 21350 | 48113 |
1280 x 720 | 6913 | 16033 | x |
720 x 480 | 5323 | x | x |
12-tap | |||
1920 x 1080 | 7556 | 16299 | 35321 |
1280 x 720 | 5750 | 12291 | x |
720 x 480 | 4550 | x | x |
8-tap | |||
1920 x 1080 | 5806 | 11242 | 21557 |
1280 x 720 | 4584 | 8543 | x |
720 x 480 | 3770 | x | x |
Upscale | |||
Output Input | 320 x 240 | 720 x 480 | 1280 x 720 |
16 -tap | |||
1920 x 1080 | 48962 | 54438 | 72093 |
1280 x 720 | 21811 | 26919 | x |
720 x 480 | 10054 | x | x |
12 -tap | |||
1920 x 1080 | 48873 | 52976 | 58737 |
1280 x 720 | 19181 | 23126 | x |
720 x 480 | 7793 | x | x |
8-tap | |||
1920 x 1080 | 25690 | 28425 | 32256 |
1280 x 720 | 11464 | 14235 | x |
720 x 480 | 5527 | x | x |