32-Streams Support - 2020.2 English

H.264/H.265 Video Codec Unit v1.2 Solutions LogiCORE IP Product Guide (PG252)

Document ID
PG252
Release Date
2020-11-24
Version
2020.2 English

This feature checks functionality of encoding, decoding, and transcoding capacity at a time for 32 streams parallelly.

Table 1. 32-Streams Support
Use-case B_frames Resolution Format Working Instances
Encode Only Decode Only Transcode
CtrlSW 1 Gstreamer 1 CtrlSW Gstreamer Gstreamer 1
Encode Only: AVC Decode Only: AVC Transcode: AVC → HEVC Encode Only: 4 Decode Only: 4 Transcode: decode: 4 and encode: 3 640x480p30 NV12 32 inst → 14 fps (CPU: 100%)

23 inst → 32 fps (CPU: 10%)

32 inst → 11 fps (CPU: 98.6%)

24 inst → 30 fps (CPU: 28.7%)

32 inst → 39 fps (CPU: 23%) 2 32 inst → 30 fps (CPU: 24.8%) 2 32 inst → 14 fps (CPU: 98%)

23 inst → 30 fps (CPU: 26%)

NV16 32 inst → 13 fps (CPU: 100%)

23 inst → 32 fps (CPU: 12%)

32 inst → 11 fps (CPU: 99.0%)

24 inst → 30 fps (CPU: 36.6%)

32 inst → 28 fps (CPU: 26%)

29 inst → 30 fps (CPU: 23%)

1
32 inst → 30 fps (CPU: 25.3%) 2 32 inst → 14 fps (CPU: 98%)

23 inst → 30 fps (CPU: 26%)

XV15 32 inst → 13 fps (CPU: 100%)

23 inst → 32 fps (CPU: 14%)

32 inst → 11 fps (CPU: 98.7%)

24 inst → 30 fps (CPU: 36.2%)

32 inst → 31 fps (CPU: 25%) 2 32 inst → 30 fps (CPU: 24.5%) 2 32 inst → 14 fps (CPU: 98%) 23 inst → 30 fps (CPU: 27%)
XV20 32 inst → 14 fps (CPU: 100%)

23 inst → 32 fps (CPU: 32%)

32 inst → 11 fps (CPU: 98.6%)

24 inst → 30 fps (CPU: 49.8%)

32 inst → 22 fps (CPU: 23%)

23 inst → 30 fps (CPU: 35%)

1
32 inst → 17 fps (CPU: 25.7%)

30 inst → 30 fps (CPU: 22.5%)

1
32 inst → 14 fps (CPU: 98%) 22 inst → 30 fps (CPU: 24%)
720x480p30 NV12 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 20%)

32 inst → 12 fps (CPU: 98.5%)

23 inst → 30 fps (CPU: 29.4%)

32 inst → 36 fps (CPU: 27%) 2 32 inst → 30 fps (CPU: 24.5%) 2 32 inst → 14 fps (CPU: 98%)

22 inst → 30 fps (CPU: 26%)

NV16 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 14%)

32 inst → 11 fps (CPU: 98.8%)

21 inst → 30 fps (CPU: 39.5%)

32 inst → 26 fps (CPU: 28%)

29 inst → 30 fps (CPU: 32%)

1
32 inst → 17 fps (CPU: 25.0%)

30 inst → 30 fps (CPU: 23.0%)

1
32 inst → 14 fps (CPU: 98%)

22 inst → 30 fps (CPU: 28%)

XV15 32 inst → 14 fps (CPU: 100%)

23 inst → 32 fps (CPU: 13%)

32 inst → 11 fps (CPU: 98.6%)

21 inst → 30 fps (CPU: 35.4%)

32 inst → 30 fps (CPU: 30%) 2 32 inst → 30 fps (CPU: 23.9%) 2 32 inst → 14 fps (CPU: 98%)

23 inst → 30 fps (CPU: 27%)

XV20 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 16%)

32 inst → 11 fps (CPU: 98.3%)

21 inst → 30 fps (CPU: 46.1%)

32 inst → 20 fps (CPU: 34%)

20 inst → 31 fps (CPU: 35%)

1
32 inst → 17 fps (CPU: 25.8%)

28 inst → 30 fps (CPU: 23.3%)

1
32 inst → 14 fps (CPU: 98%)

23 inst → 30 fps (CPU: 26%)

Encode Only: HEVC Decode Only: HEVC Transcode: HEVC → AVC Encode Only: 4 Decode Only: 4 Transcode: decode: 4 & encode: 3 640x480p30 NV12 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 10%)

32 inst → 12 fps (CPU: 98.9%)

23 inst → 30 fps (CPU: 27.2%)

32 inst → 47 fps (CPU: 28%) 2 32 inst → 30 fps (CPU: 24.9%) 2 32 inst → 13 fps (CPU: 98%)

22 inst → 30 fps (CPU: 36%)

NV16 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 11%)

32 inst → 12 fps (CPU: 98.5%)

23 inst → 30 fps (CPU: 35.0%)

32 inst → 34 fps (CPU: 29%) 2 32 inst → 30 fps (CPU: 24.2%) 2 32 inst → 13 fps (CPU: 98%)

22 inst → 30 fps (CPU: 36%)

XV15 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 25%)

32 inst → 12 fps (CPU: 98.5%)

23 inst → 30 fps (CPU: 35.1%)

32 inst → 40 fps (CPU: 36%) 2 32 inst → 30 fps (CPU: 25.8%) 2 32 inst → 13 fps (CPU: 98%)

23 inst → 30 fps (CPU: 42%)

XV20 32 inst → 14 fps (CPU: 100%)

22 inst → 32 fps (CPU: 32%)

32 inst → 12 fps (CPU: 98.5%)

23 inst →30 fps (CPU: 48.4%)

32 inst → 27 fps (CPU: 29%)

29 inst → 30 fps (CPU: 33%)

1
32 inst → 30 fps (CPU: 23.9%) 2 32 inst → 13 fps (CPU: 98%)

23 inst → 30 fps (CPU: 49%)

720x480p30 NV12 32 inst → 13 fps (CPU: 100%)

22 inst → 32 fps (CPU: 20%)

32 inst → 12 fps (CPU: 98.7%)

23 inst → 30 fps (CPU: 31.6%)

32 inst → 43 fps (CPU: 27%) 2 32 inst → 30 fps (CPU: 24.9%) 2 32 inst → 13 fps (CPU: 98%)

22 inst → 30 fps (CPU: 39%)

NV16 32 inst → 13 fps (CPU: 100%)

22 inst → 32 fps (CPU: 26%)

32 inst → 12 fps (CPU: 98.5%)

23 inst → 30 fps (CPU: 39.7%)

32 inst → 31 fps (CPU: 27%) 2 32 inst → 30 fps (CPU: 23.6%) 2 32 inst → 13 fps (CPU: 98%)

22 inst → 30 fps (CPU: 41%)

XV15 32 inst → 13 fps (CPU: %)

22 inst → 31 fps (CPU: 14%)

32 inst → 12 fps (CPU: 99.0%)

23 inst → 30 fps (CPU: 38.4%)

32 inst → 37 fps (CPU: 34%) 2 32 inst → 30 fps (CPU: 25.4%) 2 32 inst → 13 fps (CPU: 98%)

23 inst → 30 fps (CPU: 40%)

XV20 32 inst → 13 fps (CPU: 100%)

22 inst → 31 fps (CPU: 19%)

32 inst → 12 fps (CPU: 98.8%)

22 inst → 30 fps (CPU: 48.5%)

32 inst → 25 fps (CPU: 36%)

27 inst → 30 fps (CPU: 35%)

1
32 inst → 30 fps (CPU: 25.2%) 2 32 inst → 13 fps (CPU: 98%)

23 inst → 30 fps (CPU: 42%)

  1. Achieved the correct fps.
  2. Close to the correct fps.

Resolution: 720x480, 640x480, 720x576

This is the benchmarking for 32 streams using ctrlsw and gstreamer which involves validating the fps and CPU usage for different resolutions with different input formats - NV12, NV16, XV15, XV20.

Note: Encode-only tests are done with file source input and expected to have < 30 fps due to raw buffer copy.