[Performance]Average speed has big difference in the same encMode (e.g M10 & M11) among 4k between P420/P422/P444
[Test environment] OS: Ubuntu 18.04.2 LTS SVT CommitID: 039366e
[Issue Description] While use 4k P420/P422/P444 YUV input clip to run performance test, we found there is big different FPS (Average speed) in the same encMode, the issue is obvious seen in encMode 9-11.
Below is the test data:
| SuiteName | QP | Resolution | Type | FPS-M9 | FPS-M10 | FPS-M11 |
|---|---|---|---|---|---|---|
| Netflix_Boat_4096x2160_10bit_60Hz_P420 | 37 | 4096x2160 | P420 | 50.85 | 53.81 | 50.9 |
| Netflix_Boat_4096x2160_10bit_60Hz_P422 | 37 | 4096x2160 | P422 | 32.42 | 37.03 | 38.13 |
| Netflix_Boat_4096x2160_10bit_60Hz_P444 | 37 | 4096x2160 | P444 | 27.45 | 27.87 | 27.19 |
Test command line we used: encoders/SvtHevcEncApp -encMode 11 -w 4096 -h 2160 -i yuvs/Netflix_Boat_4096x2160_10bit_60Hz_P420.yuv -q 37 -fps 60 -b bitstreams/M11_T1_Netflix_Boat_4096x2160_10bit_60Hz_P420_Q37.bin -n 300 -intra-period 55 -bit-depth 10 -color-format 1
4K resolution 10bit P444/P422 have more than 30% performance decrease compared with P420 under M9~M11.
@liweki , to test performance, please use -nb (which preload yuv into mem to avoid disk I/O), and set -n > 2000 The command you attach didn't use -nb and 300 frames is too short for a speed test. also please use numatrl or -ss 0/ -ss 1
@liweki please re-run the speed test. This one is an invalid case if you read from disk directly, it's bounded by disk I/O , not encoder. (Since the size of P444 is 2x P420 and P422 is 1.5x of P420. This can map to your speed result.)
Updated add parameters -nb and -ss to re-test SVT-HEVC 4k 420/422/444 performance, the test data as following. 422/444 also have the big performance different compared with 420. test clip: Netflix_Boat_4096x2160_10bit_60Hz_P4xx.yuv
encoders/SvtHevcEncApp -encMode 11 -w 4096 -h 2160 -i yuvs/Netflix_Boat_4096x2160_10bit_60Hz_P422.yuv -q 37 -fps 60 -b bitstreams/M11_T1_Netflix_Boat_4096x2160_10bit_60Hz_P422_Q37.bin -n 3000 -nb 3000 -intra-period 55 -bit-depth 10 -color-format 2 -ss 0
| Color format | encMode | -n, -nb | -ss | fps_time1 | fps_time2 | fps_time3 |
|---|---|---|---|---|---|---|
| 420 | 11 | 3000 | -1 (default) | 110.42 | 109.99 | 110.91 |
| 422 | 11 | 3000 | -1 (default) | 76.26 | 76.53 | 76.7 |
| 444 | 11 | 3000 | -1 (default) | 51.25 | 53.41 | 53.4 |
| 420 | 11 | 3000 | 0 | 118.53 | 117.12 | 122.68 |
| 422 | 11 | 3000 | 0 | 82.84 | 82.74 | 82.81 |
| 444 | 11 | 3000 | 0 | 67.15 | 69.12 | 68.74 |
| 420 | 11 | 500 | -1 (default) | 79.69 | 79.26 | 79.68 |
| 422 | 11 | 500 | -1 (default) | 55.7 | 55.88 | 54.63 |
| 444 | 11 | 500 | -1 (default) | 40.53 | 40.63 | 39.5 |
| 420 | 11 | 500 | 0 | 90.06 | 92.58 | 91.56 |
| 422 | 11 | 500 | 0 | 70.01 | 69.82 | 63.79 |
| 444 | 11 | 500 | 0 | 52.65 | 52.48 | 52.42 |
| 420 | 9 | 500 | -1 (default) | 68.83 | 68.55 | 69.06 |
| 422 | 9 | 500 | -1 (default) | 50.96 | 50.67 | 50.97 |
| 444 | 9 | 500 | -1 (default) | 38.1 | 38.1 | 38.09 |
| 420 | 9 | 500 | 1 | 78.62 | 78.22 | 77.94 |
| 422 | 9 | 500 | 1 | 61.2 | 61.15 | 60.9 |
| 444 | 9 | 500 | 1 | 46.79 | 46.89 | 46.94 |